?? iap.h
字號(hào):
/******************************************************************************************
** 文件名稱(chēng): IAP.h
** 文件描述: LPC2103 IAP操作軟件包頭文件。
******************************************************************************************/
/*定義IAP命令字*/
// 命令 參數(shù)
#define IAP_SELECTOR 50 //選擇扇區(qū) 【起始扇區(qū)號(hào)、結(jié)束扇區(qū)號(hào)】
#define IAP_RAMTOFLASH 51 //拷貝數(shù)據(jù) 【FLASH目標(biāo)地址、RAM源地址、寫(xiě)入字節(jié)數(shù)、系統(tǒng)時(shí)鐘頻率】
#define IAP_ERASESECTOR 52 //擦除扇區(qū) 【起始扇區(qū)號(hào)、結(jié)束扇區(qū)號(hào)、系統(tǒng)時(shí)鐘頻率】
#define IAP_BLANKCHK 53 //查空扇區(qū) 【起始扇區(qū)號(hào)、結(jié)束扇區(qū)號(hào)】
#define IAP_READPARTID 54 //讀器件ID 【無(wú)】
#define IAP_BOOTCODEID 55 //讀Boot版本號(hào) 【無(wú)】
#define IAP_COMPARE 56 //比較命令 【FLASH起始地址、RAM起始地址、需要比較的字節(jié)數(shù)】
/*定義IAP返回狀態(tài)字*/
#define CMD_SUCCESS 0
#define INVALID_COMMAND 1
#define SRC_ADDR_ERROR 2
#define DST_ADDR_ERROR 3
#define SRC_ADDR_NOT_MAPPED 4
#define DST_ADDR_NOT_MAPPED 5
#define COUNT_ERROR 7
#define SECTOR_NOT_BLANK 8
#define SECTOR_NOT_PREPARED_FOR_WRITE_OPERATION 9
#define COMMPARE_ERROR 10
#define BUSY 11
/*********************************************************************************************************
**函數(shù)名稱(chēng):SelSector()
**函數(shù)功能:IAP操作緩沖區(qū)選擇,代碼為50
**入口參數(shù):sec1 起始扇區(qū)
** sec2 終止扇區(qū)
**出口參數(shù):IAP 操作狀態(tài)碼
** IAP返回值(paramout緩沖區(qū))
********************************************************************************************************/
extern uint32 SelSector(uint8 sec1,uint8 sec2);
/*********************************************************************************************************
**函數(shù)名稱(chēng):RamToFlash()
**函數(shù)功能:復(fù)制RAM的數(shù)據(jù)到FLASH,命令代碼51
**入口參數(shù):dst 目標(biāo)地址,即FLASH起始地址,以512字節(jié)為分界
** src 源地址,即RAM地址,地址必須字對(duì)其
** no 復(fù)制字節(jié)個(gè)數(shù),為256/512/1024/4096
**出口參數(shù):IAP 操作狀態(tài)碼
** IAP返回值(paramout緩沖區(qū))
********************************************************************************************************/
extern uint32 RamToFlash(uint32 dst,uint32 src,uint32 no);
/*********************************************************************************************************
**函數(shù)名稱(chēng):RamToFlash()
**函數(shù)功能:擦除扇區(qū),命令代碼52
**入口參數(shù):sec1 起始扇區(qū)
** sec2 終止扇區(qū)
**出口參數(shù):IAP 操作狀態(tài)碼
** IAP返回值(paramout緩沖區(qū))
********************************************************************************************************/
extern uint32 EraseSector(uint32 sec1,uint32 sec2);
/*********************************************************************************************************
**函數(shù)名稱(chēng):BlankCHK()
**函數(shù)功能:查空扇區(qū),命令代碼53
**入口參數(shù):sec1 起始扇區(qū)
** sec2 終止扇區(qū)
**出口參數(shù):IAP 操作狀態(tài)碼
** IAP返回值(paramout緩沖區(qū))
********************************************************************************************************/
extern uint32 BlankCHK(uint32 sec1,uint32 sec2);
/*********************************************************************************************************
**函數(shù)名稱(chēng):ReadParID(uint32 *Device_ID)
**函數(shù)功能:讀器件ID,命令代碼54
**入口參數(shù):器件ID地址指針
**出口參數(shù):IAP 操作狀態(tài)碼
** IAP返回值(paramout緩沖區(qū))
********************************************************************************************************/
extern uint32 ReadParID(uint32 *Device_ID);
/*********************************************************************************************************
**函數(shù)名稱(chēng):BootCodeID(uint32 *Boot_ID)
**函數(shù)功能:讀boot代碼ID,命令代碼55
**入口參數(shù):boot代碼ID地址指針
**出口參數(shù):IAP 操作狀態(tài)碼
** IAP返回值(paramout緩沖區(qū))
********************************************************************************************************/
extern uint32 BootCodeID(uint32 *Boot_ID);
/*********************************************************************************************************
**函數(shù)名稱(chēng):Compare()
**函數(shù)功能:校驗(yàn)數(shù)據(jù),命令代碼56
**入口參數(shù):dst 目標(biāo)地址,即RAM/FLASH起始地址,地址必須字對(duì)齊
** src 源地址,即RAM/RAM地址,地址必須字對(duì)齊
** no 復(fù)制字節(jié)個(gè)數(shù),必須能被4整除
**出口參數(shù):IAP 操作狀態(tài)碼
** IAP返回值(paramout緩沖區(qū))
********************************************************************************************************/
extern uint32 Compare(uint32 dst,uint32 src,uint32 no);
/*********************************************************************************************************
**函數(shù)名稱(chēng):WriteFlash()
**函數(shù)功能:向FLASH中寫(xiě)入數(shù)據(jù)
**入口參數(shù):dst 目標(biāo)地址,即FLASH起始地址,地址必須以256字節(jié)對(duì)齊,即地址的低8位必須為0
** src 源地址,即RAM地址,地址必須字對(duì)齊,即地址的低兩位必須為0
** no 寫(xiě)入字節(jié)數(shù),必須為256/512/1024/4096
**出口參數(shù):Compare的返回值,操作成功正確返回0
********************************************************************************************************/
extern uint8 WriteFlash(uint32 dst,uint32 src,uint32 no);
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -