LPC1100處理器通過SD卡實現(xiàn)IAP功能
下面先介紹LPC1100處理器IAP的基礎知識:
1. LPC1100處理器(LPC1114)Flash分配:LPC1114一共有32K Flash,共分為8個扇區(qū),每個扇區(qū)的大小為4K,具體如下:
2.NXP的IAP命令都一樣,一共有9條:
3.IAP命令是通過寄存器R0和R1進行參數(shù)傳遞的,R0傳遞參數(shù),R1傳遞返回值:
IAP功能應用:
1.定義IAP程序的入口地址
代碼:
#define
2.定義參數(shù)
代碼:
uint32
uint32
3.定義函數(shù)類型指針
代碼:
void (*IAP_Entry)(uint32 *param_tab, uint32 *result_tab) =
(void(*)())IAP_ENTER_ADR; // 定義函數(shù)指針
4.注意事項:
①按照上面函數(shù)類型調(diào)用IAP函數(shù)即可,不過要注意函數(shù)的參數(shù)。
②由于在擦寫操作期間,片上Flash存儲器不可訪問。IAP代碼不能使用或禁止中斷。
③Flash編程命令使用片上RAM頂端32字節(jié),用戶程序不能使用此空間。
IAP命令應用(代碼來自周工):
IAP有多個命令,這里我們只把編程常用的幾個命令函數(shù)貼出來,如果網(wǎng)友需要其他代碼可以在網(wǎng)絡上自行搜索。
1.準備寫操作扇區(qū)
代碼:
uint32 SectorPrepare(uint8 sec1, uint8 sec2)
{
}
2.將RAM 內(nèi)容復制到Flash
代碼:
uint32 RamToFlash(uint32 dst, uint32 src, uint32 no)
{
}
3.擦除扇區(qū)
代碼:
uint32 SectorErase(uint8 sec1, uint8 sec2)
{
}
4.扇區(qū)查空
評論