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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? iap.c

?? ZLG的SMARTARM2300的IAP_Program
?? C
字號:

#include "IAP.h"

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

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

uint32	paramin[8];		                            // IAP入口參數(shù)緩沖區(qū)
uint32	paramout[8];	                            // IAP出口參數(shù)緩沖區(qū)

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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩黄色免费电影| 亚洲日本青草视频在线怡红院 | 国产一区二区三区蝌蚪| 欧美日韩不卡视频| 麻豆精品一区二区av白丝在线| 欧美高清精品3d| 国产资源精品在线观看| 国产欧美日韩综合| 91精品福利在线| 麻豆精品精品国产自在97香蕉| 久久亚洲精华国产精华液 | 成人美女视频在线观看| 中文字幕一区二区三区蜜月| 91黄色免费版| 精品一区二区免费在线观看| 亚洲国产岛国毛片在线| 在线免费观看日本一区| 日韩二区在线观看| 久久精品欧美日韩精品| 在线观看中文字幕不卡| 久久66热偷产精品| 亚洲视频在线一区观看| 日韩免费视频线观看| 成人精品视频一区| 人人狠狠综合久久亚洲| 国产精品人妖ts系列视频| 欧美日韩国产精品成人| 国产成人精品一区二区三区四区 | 麻豆精品一区二区av白丝在线| 国产女人aaa级久久久级| 欧美色图片你懂的| 国产精品一区二区在线播放| 曰韩精品一区二区| 26uuu国产日韩综合| 日本高清免费不卡视频| 久久草av在线| 亚洲午夜一区二区| 欧美国产精品久久| 欧美一区二区三区视频免费| 99精品视频在线免费观看| 久久国产精品露脸对白| 亚洲午夜私人影院| 国产精品你懂的在线| 日韩欧美一区中文| 欧美日韩精品一区二区三区四区 | 日产国产高清一区二区三区| 国产精品人成在线观看免费 | 欧美日韩一级大片网址| 成人免费看黄yyy456| 久久99精品国产麻豆婷婷洗澡| 中文字幕一区二区三区在线观看 | 亚洲天堂久久久久久久| 欧美电影免费观看高清完整版 | 婷婷六月综合网| 中文字幕一区二区三区四区不卡 | 欧美国产日本韩| 日韩免费电影一区| 欧美日韩一二区| 欧美亚洲高清一区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 日韩欧美成人一区| 欧美喷潮久久久xxxxx| 97se亚洲国产综合自在线不卡| 国产乱码精品一区二区三区av| 免费成人美女在线观看.| 亚洲综合免费观看高清完整版 | 99久久伊人久久99| 国产麻豆精品久久一二三| 久久电影网电视剧免费观看| 亚洲第一久久影院| 亚洲成精国产精品女| 亚洲精选视频在线| 亚洲欧美另类小说视频| 综合色中文字幕| 中文字幕日本乱码精品影院| 欧美国产精品一区二区| 国产精品免费视频一区| 国产精品视频一二三区| 欧美国产一区二区在线观看| 国产精品美女视频| 国产精品久久久久久久午夜片 | 久久久午夜精品理论片中文字幕| 精品理论电影在线| 精品国产免费一区二区三区四区| 欧美一级二级在线观看| 精品国产成人系列| 久久久久久免费网| 国产精品私人影院| 亚洲视频免费在线观看| 一区二区激情视频| 亚洲二区视频在线| 日韩成人一区二区三区在线观看| 蜜桃视频一区二区三区| 国内成+人亚洲+欧美+综合在线| 国产在线精品免费| 99久久er热在这里只有精品66| av中文字幕不卡| 欧美日韩一区二区三区免费看| 91精品国产色综合久久ai换脸 | 一区二区在线电影| 首页国产欧美久久| 国内精品国产成人国产三级粉色| 懂色av噜噜一区二区三区av| 91一区一区三区| 欧美精品三级日韩久久| 精品粉嫩超白一线天av| 日本一区二区成人| 亚洲午夜精品在线| 国内成人精品2018免费看| 99精品欧美一区| 欧美精品一二三| 国产日韩欧美制服另类| 亚洲日本护士毛茸茸| 日韩二区在线观看| 成人动漫av在线| 欧美一卡二卡三卡四卡| 中文幕一区二区三区久久蜜桃| 亚洲视频一区二区在线| 美国三级日本三级久久99| 成人国产精品免费| 欧美喷潮久久久xxxxx| 中文字幕av一区二区三区高| 亚洲成人一区二区| 国产福利不卡视频| 欧美三级中文字幕在线观看| 精品国产一区二区三区久久久蜜月 | 国产在线精品一区在线观看麻豆| 99久久夜色精品国产网站| 69堂亚洲精品首页| 国产精品美女久久久久久| 日韩在线观看一区二区| 成+人+亚洲+综合天堂| 欧美一级生活片| 亚洲久草在线视频| 国产盗摄视频一区二区三区| 91麻豆精品国产91久久久久久久久 | 亚洲综合视频在线观看| 国产99一区视频免费| 制服丝袜日韩国产| 亚洲综合一二区| jlzzjlzz国产精品久久| 精品久久久三级丝袜| 亚洲电影在线免费观看| 成人av在线观| 国产欧美视频一区二区三区| 日本不卡123| 欧美日韩国产在线观看| 中文字幕日韩一区二区| 国产精品 欧美精品| 日韩三级视频在线看| 亚洲综合激情另类小说区| 成人精品gif动图一区| 久久精品欧美一区二区三区不卡 | 91精品久久久久久久99蜜桃 | 国产精品你懂的在线欣赏| 国模娜娜一区二区三区| 欧美成人一区二区三区在线观看| 水蜜桃久久夜色精品一区的特点| 在线观看中文字幕不卡| 一区二区三区在线视频免费| 成人国产亚洲欧美成人综合网| 久久久国产精华| 国产sm精品调教视频网站| 精品福利一区二区三区免费视频| 麻豆91在线观看| 欧美变态凌虐bdsm| 日韩不卡在线观看日韩不卡视频| 欧美浪妇xxxx高跟鞋交| 午夜电影一区二区三区| 欧美喷水一区二区| 日本亚洲欧美天堂免费| 日韩一级片在线播放| 久久精品理论片| 26uuu色噜噜精品一区| 国产电影一区二区三区| 日本一区二区三区免费乱视频| 丰满亚洲少妇av| 中文字幕中文字幕一区| 91亚洲国产成人精品一区二三| 亚洲区小说区图片区qvod| 91日韩一区二区三区| 亚洲美女在线一区| 欧美日韩久久久久久| 免费视频最近日韩| 久久日韩粉嫩一区二区三区| 国产精品一级黄| 亚洲色图都市小说| 欧美日韩国产不卡| 久久国产剧场电影| 国产精品欧美久久久久一区二区| 91捆绑美女网站| 午夜国产不卡在线观看视频| 精品免费国产一区二区三区四区| 国产不卡免费视频| 亚洲丝袜制服诱惑| 日韩三区在线观看| av亚洲精华国产精华精| 亚洲成人精品影院| 久久久一区二区| 精品污污网站免费看|