亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? iap.c

?? SmartARM2400系列開發板全套資料
?? C
字號:

#include "IAP.h"

/* 定義CCLK值大小,單位為KHz */
#define		IAP_FCCLK	48000

#define 	IAP_ENTER_ADR   0x7FFFFFF1              			//  IAP入口地址定義

uint32	paramin[8];		                            			// IAP入口參數緩沖區
uint32	paramout[8];	                            			// IAP出口參數緩沖區

/*********************************************************************************************************
**函數名稱:  SelSector
**函數功能:  IAP操作緩沖區選擇,代碼為50
**入口參數:  sec1	起始扇區
**			 sec2	終止扇區
**出口參數:  IAP 操作狀態碼
**			 IAP返回值(paramout緩沖區)
********************************************************************************************************/
uint32	SelSector(uint8	sec1,uint8	sec2)
{
	paramin[0] = IAP_SELECTOR;	                    			// 設置命令字
	paramin[1] = sec1;			                    			// 設置參數
	paramin[2] = sec2;
	(*(void(*)())IAP_ENTER_ADR)(paramin,paramout);				// 調用IAP服務程序
	return(paramout[0]);	                        			// 返回狀態碼
}
/*********************************************************************************************************
**函數名稱:  RamToFlash
**函數功能:  復制RAM的數據到FLASH,命令代碼51
**入口參數:  dst		目標地址,即FLASH起始地址,以256字節為分界
**			 src		源地址,即RAM地址,地址必須字對其
**			 no		    復制字節個數,為256/512/1024/4096
**出口參數:  IAP 操作狀態碼
**			 IAP返回值(paramout緩沖區)
********************************************************************************************************/
uint32	RamToFlash(uint32 dst, uint32 src, uint32  no)
{
	paramin[0] = IAP_RAMTOFLASH;	                			// 設置命令字
	paramin[1] = dst;				                			// 設置參數
	paramin[2] = src;
	paramin[3] = no;
	paramin[4] = IAP_FCCLK;
	(*(void(*)())IAP_ENTER_ADR)(paramin,paramout);				// 調用IAP服務程序
	return(paramout[0]);			                			// 返回狀態碼
}
/*********************************************************************************************************
**函數名稱:EraseSector
**函數功能:擦除扇區,命令代碼52
**入口參數:sec1	起始扇區
**			sec2	終止扇區
**出口參數:IAP 操作狀態碼
**			IAP返回值(paramout緩沖區)
********************************************************************************************************/
uint32	EraseSector(uint32 sec1, uint32 sec2)
{
	paramin[0] = IAP_ERASESECTOR;	                			// 設置命令字
	paramin[1] = sec1;				                			// 設置參數
	paramin[2] = sec2;
	paramin[3] = IAP_FCCLK;
	(*(void(*)())IAP_ENTER_ADR)(paramin,paramout);				// 調用IAP服務程序
	return(paramout[0]);			                			// 返回狀態碼
}
/*********************************************************************************************************
**函數名稱:  BlankCHK
**函數功能:  查空扇區,命令代碼53
**入口參數:  sec1	起始扇區
**			 sec2	終止扇區
**出口參數:  IAP 操作狀態碼
**			 IAP返回值(paramout緩沖區)
********************************************************************************************************/
uint32	BlankCHK(uint32	sec1, uint32  sec2)
{
	paramin[0] = IAP_BLANKCHK;	                    			// 設置命令字
	paramin[1] = sec1;				                			// 設置參數
	paramin[2] = sec2;
	paramin[3] = IAP_FCCLK;
	(*(void(*)())IAP_ENTER_ADR)(paramin,paramout);				// 調用IAP服務程序
	return(paramout[0]);			                			// 返回狀態碼
}
/*********************************************************************************************************
**函數名稱:  ReadParID
**函數功能:  讀器件ID,命令代碼54
**入口參數:  器件ID地址指針
**出口參數:  IAP 操作狀態碼
**			 IAP返回值(paramout緩沖區)
********************************************************************************************************/
uint32	ReadParID(uint32 *Device_ID)
{
	paramin[0] = IAP_READPARTID;	                			// 設置命令字
	(*(void(*)())IAP_ENTER_ADR)(paramin,paramout);				// 調用IAP服務程序
	*Device_ID = paramout[1];
	return(paramout[0]);			                 			// 返回狀態碼
}
/*********************************************************************************************************
**函數名稱:  BootCodeID
**函數功能:  讀boot代碼ID,命令代碼55
**入口參數:  boot代碼ID地址指針
**出口參數:  IAP 操作狀態碼
**			 IAP返回值(paramout緩沖區)
********************************************************************************************************/
uint32	BootCodeID(uint32 *Boot_ID)	
{
	paramin[0] = IAP_BOOTCODEID;	                			// 設置命令字
	(*(void(*)())IAP_ENTER_ADR)(paramin,paramout);				// 調用IAP服務程序
	*Boot_ID = paramout[1];
	
	return(paramout[0]);			                			// 返回狀態碼
}
/*********************************************************************************************************
**函數名稱:  Compare
**函數功能:  校驗數據,命令代碼56
**入口參數:  dst		目標地址,即RAM/FLASH起始地址,地址必須字對齊
**			 src	 	源地址,即RAM/RAM地址,地址必須字對齊
**			 no		    比較字節個數,必須能被4整除
**出口參數:  IAP 操作狀態碼
**			 IAP返回值(paramout緩沖區)
********************************************************************************************************/
uint32	Compare(uint32	dst, uint32	src, uint32	no)
{
	paramin[0] = IAP_COMPARE;	                    			// 設置命令字
	paramin[1] = dst;				                			// 設置參數
	paramin[2] = src;
	paramin[3] = no;
	(*(void(*)())IAP_ENTER_ADR)(paramin,paramout);				// 調用IAP服務程序
	return(paramout[0]);			                			// 返回狀態碼
}
/*********************************************************************************************************
**函數名稱:  Reinvoke_ISP
**函數功能:  重新調用ISP,命令代碼57。
**入口參數:  無
**出口參數:  無
********************************************************************************************************/
void  Reinvoke_ISP(void)
{
	paramin[0] = IAP_REINVOKE_ISP;								//  設置命令字
	(*(void(*)())IAP_ENTER_ADR)(paramin,paramout);				//  重新調用ISP
} 
/*********************************************************************************************************
**函數名稱:  WriteFlash
**函數功能:  向FLASH中寫入數據
**入口參數:  dst		目標地址,即FLASH起始地址,地址必須以256字節對齊,即地址的低8位必須為0
**			 src		源地址,即RAM地址,地址必須字對齊,即地址的低兩位必須為0
**			 no		    寫入字節數,必須為256/512/1024/4096
**出口參數:  Compare的返回值,操作成功正確返回0
********************************************************************************************************Y*/
uint8	WriteFlash(uint32  dst, uint32	src, uint32	no)
{
	SelSector((uint8)(dst/0x1000),(uint8)((dst+no)/0x1000));	// 選擇扇區
	EraseSector((dst/0x1000),(dst+no)/0x1000);					// 擦除扇區
	BlankCHK((dst/0x1000),(dst+no)/0x1000);						// 查空扇區
	
	SelSector((uint8)(dst/0x1000),(uint8)((dst+no)/0x1000));	// 選擇扇區
	
	RamToFlash(dst,src,no);			           				 	// 寫數據到FLASH
	return((uint8)(Compare(dst,src,no)));	            		// 比較數據
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久久久综合体| 成人精品免费看| 怡红院av一区二区三区| 中文一区二区完整视频在线观看| 日韩免费观看高清完整版| 5566中文字幕一区二区电影| 欧美精品第1页| 欧美一区二区三区精品| 欧美r级电影在线观看| www欧美成人18+| 国产精品久久久久久久久晋中 | 欧美日韩五月天| 欧美日本一区二区在线观看| 欧美巨大另类极品videosbest| 欧美日韩国产精品自在自线| 91精品国产综合久久蜜臀| 欧美一级国产精品| 久久一区二区三区国产精品| 国产日产欧美一区| 亚洲人午夜精品天堂一二香蕉| 亚洲一区免费视频| 青青草国产成人av片免费| 国产成人综合视频| 一道本成人在线| 日韩精品中午字幕| 国产精品传媒在线| 日本人妖一区二区| av资源网一区| 这里只有精品电影| 欧美经典三级视频一区二区三区| 一区二区三区四区乱视频| 毛片av中文字幕一区二区| 成人小视频免费在线观看| 欧美日韩综合在线免费观看| 欧美精品一区二区三区很污很色的| 国产精品天干天干在线综合| 日韩成人伦理电影在线观看| 国产激情精品久久久第一区二区 | 欧美精品日韩精品| 国产午夜精品一区二区三区嫩草 | 欧美一级午夜免费电影| 国产精品超碰97尤物18| 蜜桃视频在线观看一区二区| 成人网在线播放| 91精品国产一区二区三区| 中文字幕日韩av资源站| 久久精品99久久久| 精品视频全国免费看| 中文字幕精品三区| 蜜桃精品视频在线| 欧美视频在线不卡| 日日欢夜夜爽一区| 色94色欧美sute亚洲线路一ni| 日韩精品一区二区三区视频播放 | 91玉足脚交白嫩脚丫在线播放| 精品福利av导航| 日日夜夜精品视频免费| 91国产免费看| 亚洲精品免费一二三区| 成人激情综合网站| 国产亚洲欧美日韩俺去了| 欧美aa在线视频| 欧美色图一区二区三区| 亚洲丝袜另类动漫二区| 成人免费看黄yyy456| 久久尤物电影视频在线观看| 美女爽到高潮91| 日韩免费看的电影| 日本欧美在线观看| 日韩一区二区三区电影在线观看| 亚洲国产欧美日韩另类综合| 在线精品视频一区二区三四| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产一区二区三区久久久| 欧美大片一区二区| 久久精品国产亚洲高清剧情介绍| 91精品国产福利在线观看| 日韩精品91亚洲二区在线观看| 欧美亚一区二区| 天堂久久一区二区三区| 91麻豆精品国产自产在线观看一区| 一区二区欧美在线观看| 在线观看一区日韩| 五月天欧美精品| 欧美一级二级三级蜜桃| 韩国毛片一区二区三区| 亚洲国产激情av| 91亚洲精品一区二区乱码| 亚洲素人一区二区| 欧美日韩久久一区| 美女诱惑一区二区| 国产片一区二区| 99久久综合国产精品| 一二三区精品视频| 欧美一区二区三区在线观看视频| 狠狠色综合播放一区二区| 久久久精品免费观看| 波多野结衣精品在线| 亚洲影院在线观看| 日韩美女主播在线视频一区二区三区| 国产一区二区三区在线观看精品| 亚洲国产精品成人综合| 欧美日韩一区中文字幕| 国内一区二区在线| 亚洲精选一二三| 欧美大白屁股肥臀xxxxxx| 成人午夜在线播放| 亚洲午夜影视影院在线观看| 欧美成人一级视频| 欧洲亚洲国产日韩| 国产精品一二三四| 亚洲线精品一区二区三区| 久久天天做天天爱综合色| 色94色欧美sute亚洲线路一ni| 久久爱www久久做| 一区二区三区四区av| 久久综合九色综合久久久精品综合 | 国产精品一区二区无线| 一区二区成人在线观看| 久久丝袜美腿综合| 在线播放91灌醉迷j高跟美女 | 色国产精品一区在线观看| 美日韩黄色大片| 亚洲一区二区精品视频| 国产三级一区二区三区| 7777精品伊人久久久大香线蕉的 | 在线电影欧美成精品| 成人丝袜高跟foot| 精品一区二区三区在线观看| 亚洲婷婷综合久久一本伊一区| 精品久久国产字幕高潮| 欧美高清视频一二三区 | 7777精品伊人久久久大香线蕉最新版| 成人国产精品视频| 国产精品一二二区| 九一九一国产精品| 免费观看一级欧美片| 午夜激情一区二区三区| 一区二区三区高清在线| 国产精品久久久久国产精品日日| 精品国产不卡一区二区三区| 欧美一区二区三区在线看| 欧美日韩国产美| 欧美日韩久久一区二区| 欧美视频一区二| 色狠狠色噜噜噜综合网| 在线精品视频小说1| 色av成人天堂桃色av| 91丨九色丨蝌蚪富婆spa| 成人小视频在线观看| 成人免费黄色大片| 99久久国产综合精品色伊| 99久久久久久99| 色婷婷国产精品久久包臀 | 国产一区二区福利视频| 久久成人综合网| 精品系列免费在线观看| 韩国女主播成人在线| 国产成人亚洲综合色影视| 岛国一区二区在线观看| 99久久精品情趣| 91网站最新地址| 欧美偷拍一区二区| 91精品国产综合久久香蕉麻豆| 日韩一区二区免费在线观看| 精品国产精品一区二区夜夜嗨| 久久久高清一区二区三区| 国产精品免费网站在线观看| 亚洲欧美另类小说| 亚洲va韩国va欧美va| 精品在线免费视频| 国产.欧美.日韩| 色婷婷国产精品| 欧美成人bangbros| 国产精品三级av| 亚洲va国产va欧美va观看| 美女看a上一区| 成人精品在线视频观看| 色综合天天综合给合国产| 欧美乱妇一区二区三区不卡视频| 精品卡一卡二卡三卡四在线| 国产精品久久久久影院亚瑟| 午夜精品一区在线观看| 国产一区二区视频在线| 一本色道亚洲精品aⅴ| 欧美一区二区三区视频在线观看| 国产调教视频一区| 亚洲丶国产丶欧美一区二区三区| 紧缚奴在线一区二区三区| 91亚洲国产成人精品一区二区三| 91精品欧美一区二区三区综合在| 国产精品午夜在线观看| 午夜精品一区在线观看| jizz一区二区| 欧美精品一区二区三区高清aⅴ | 国产欧美综合在线| 午夜精品视频一区| 91在线国产观看| 久久亚洲一区二区三区四区| 亚洲成av人综合在线观看|