亚洲欧美第一页_禁久久精品乱码_粉嫩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
********************************************************************************************************/
uint8	WriteFlash(uint32 dst, uint32 src, uint32 no)
{
	SelSector((dst/0x1000),(dst+no)/0x1000);	        //選擇扇區
	EraseSector((dst/0x1000),(dst+no)/0x1000);	        //擦除扇區
	BlankCHK((dst/0x1000),(dst+no)/0x1000);		        //查空扇區
	
	SelSector((dst/0x1000),(dst+no)/0x1000);	        //選擇扇區
	
	RamToFlash(dst,src,no);			                    //寫數據到FLASH
	return(Compare(dst,src,no));	                    //比較數據
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区精品| 亚洲成人精品影院| 4438x亚洲最大成人网| 国产99久久精品| 天天综合网天天综合色| 亚洲欧美在线另类| 日韩精品中文字幕一区| 成人深夜视频在线观看| 加勒比av一区二区| 激情综合色丁香一区二区| 五月天激情综合| 亚洲一区在线观看免费| 亚洲人成小说网站色在线| 中文字幕不卡的av| 国产视频一区在线观看| 2020国产精品| 久久久久久亚洲综合影院红桃| 91麻豆精品国产| 在线电影国产精品| 欧美酷刑日本凌虐凌虐| 91麻豆免费观看| 99re热这里只有精品视频| 99久久精品免费| 成人app网站| 色综合天天综合网天天看片| 91亚洲精品乱码久久久久久蜜桃| 成人午夜碰碰视频| 97久久精品人人做人人爽50路| av不卡免费电影| 欧美在线影院一区二区| 4438成人网| 久久精品一区蜜桃臀影院| 国产欧美精品在线观看| 中文av一区二区| 一区二区三区四区五区视频在线观看| 曰韩精品一区二区| 亚州成人在线电影| 黑人精品欧美一区二区蜜桃| 懂色av一区二区夜夜嗨| 97精品国产露脸对白| 欧美日韩成人在线| 日韩你懂的在线播放| 久久蜜桃一区二区| 久久精品亚洲国产奇米99| 中文字幕一区二区三区精华液| 亚洲一区中文在线| 国产一区二区精品久久| 不卡的av在线| 日韩欧美综合在线| 亚洲图片你懂的| 热久久一区二区| 99精品国产视频| 欧美大片在线观看一区二区| 国产精品色一区二区三区| 亚洲成人免费视| 成人精品gif动图一区| 制服丝袜亚洲网站| 亚洲婷婷在线视频| 国内精品伊人久久久久av影院| av男人天堂一区| 欧美色精品在线视频| 国产女人aaa级久久久级| 日韩高清国产一区在线| 99久久精品免费看国产免费软件| 91精品国产91久久综合桃花| 中文字幕一区二区三区蜜月| 久久99精品久久久久久国产越南 | 久久精品视频免费| 婷婷开心激情综合| 色天天综合色天天久久| 国产免费观看久久| 卡一卡二国产精品| 欧美揉bbbbb揉bbbbb| 国产精品美女久久久久久久久 | 51精品秘密在线观看| 日韩毛片在线免费观看| 美日韩一区二区| 欧美在线看片a免费观看| 国产日本一区二区| 久久超碰97中文字幕| 欧美视频第二页| 亚洲免费观看高清完整| 成人av影视在线观看| 国产欧美日韩在线看| 国产激情精品久久久第一区二区| 91精品国产一区二区三区蜜臀 | 国产一区二区三区在线观看精品| 成人动漫精品一区二区| 欧美大片免费久久精品三p| 亚洲一卡二卡三卡四卡五卡| 色婷婷综合久久久久中文一区二区 | 亚洲精品五月天| 成人av资源网站| 亚洲欧美自拍偷拍色图| 国产99久久久久久免费看农村| 欧美videos中文字幕| 免费人成网站在线观看欧美高清| 91 com成人网| 久久精品国产亚洲一区二区三区| 99在线热播精品免费| 尤物在线观看一区| 欧美色网站导航| 亚洲国产sm捆绑调教视频| 欧美日韩精品一区二区三区| 五月激情六月综合| 欧美一级精品在线| 国产高清精品在线| 久久综合av免费| 久久成人久久爱| 欧美国产成人在线| 一本大道av一区二区在线播放 | 91在线观看高清| 一区二区三区精品视频| 欧美日韩一区二区三区视频| 麻豆精品一区二区综合av| 久久久精品欧美丰满| 99久久久无码国产精品| 亚洲动漫第一页| 久久精品视频免费观看| 91美女蜜桃在线| 久热成人在线视频| 中文字幕第一区第二区| 成人手机在线视频| 婷婷成人激情在线网| 久久夜色精品国产欧美乱极品| 成人自拍视频在线| 亚洲一二三区在线观看| 日韩色视频在线观看| 波多野结衣在线aⅴ中文字幕不卡| 亚洲黄一区二区三区| 26uuuu精品一区二区| www.欧美精品一二区| 天天影视网天天综合色在线播放| 国产午夜精品一区二区三区视频 | 六月丁香综合在线视频| 中文字幕亚洲欧美在线不卡| 91精品国产麻豆国产自产在线 | 欧美精品久久一区二区三区| 国产98色在线|日韩| 亚洲电影你懂得| 中文字幕+乱码+中文字幕一区| 欧美日本一区二区三区四区| 成人蜜臀av电影| 亚洲精品视频一区二区| 久久亚洲一级片| 欧美一区二区三区视频在线| 欧美日本国产视频| 欧美日本国产视频| 91精品国模一区二区三区| 欧美久久高跟鞋激| 777亚洲妇女| 日韩欧美亚洲国产精品字幕久久久| 欧美少妇一区二区| 678五月天丁香亚洲综合网| 欧美精品日韩综合在线| 欧美日韩精品一区二区三区蜜桃 | 91国产免费看| 欧美亚洲国产一区在线观看网站| 成人国产一区二区三区精品| 成人精品视频一区| 成人精品视频网站| 99久久99久久综合| 欧美色综合网站| 日韩午夜激情av| 亚洲精品在线观看网站| 久久精品免视看| 亚洲色图在线看| 三级在线观看一区二区| 麻豆久久久久久久| 国产91精品欧美| 欧洲一区在线观看| 日韩视频123| 国产精品女主播在线观看| 一区二区三区中文字幕电影 | 成人av一区二区三区| 色哟哟一区二区| 777色狠狠一区二区三区| 精品粉嫩超白一线天av| 国产精品久久毛片a| 亚洲电影视频在线| 国产精品一区二区免费不卡 | 欧美日韩国产免费一区二区| 日韩三级在线免费观看| 亚洲国产成人在线| 亚洲一区二区在线观看视频| 久久99热狠狠色一区二区| 成人免费观看男女羞羞视频| 欧洲国内综合视频| 久久久精品黄色| 亚洲曰韩产成在线| 国产精品91一区二区| 欧洲精品中文字幕| 国产亚洲精品免费| 视频一区免费在线观看| 国产精品911| 日韩一级在线观看| 一区二区免费在线播放| 国产精品亚洲一区二区三区在线| 欧美视频你懂的| 亚洲欧洲精品一区二区精品久久久 |