跟着处理器的开展,IAP晋级办法越来越遭到欢迎。而IAP晋级的办法也由许多,如:经过串口晋级、GPRS长途晋级、SD卡晋级等等。这儿详细介绍怎样运用SD卡晋级运用程序的办法.
下面先介绍LPC1100处理器IAP的基础知识:
1. LPC1100处理器(LPC1114)Flash分配:LPC1114一共有32K Flash,共分为8个扇区,每个扇区的巨细为4K,详细如下:
2.NXP的IAP指令都相同,一共有9条:
3.IAP指令是经过寄存器R0和R1进行参数传递的,R0传递参数,R1传递返回值:
IAP功用运用:
1.界说IAP程序的进口地址
代码:
#define
2.界说参数
代码:
uint32
uint32
3.界说函数类型指针
代码:
void (*IAP_Entry)(uint32 *param_tab, uint32 *result_tab) =
(void(*)())IAP_ENTER_ADR; // 界说函数指针
4.注意事项:
①依照上面函数类型调用IAP函数即可,不过要注意函数的参数。
②因为在擦写操作期间,片上Flash存储器不行拜访。IAP代码不能运用或制止中止。
③Flash编程指令运用片上RAM顶端32字节,用户程序不能运用此空间。
IAP指令运用(代码来自周工):
IAP有多个指令,这儿咱们只把编程常用的几个指令函数贴出来,假如网友需求其他代码能够在网络上自行查找。
1.预备写操作扇区
代码:
uint32 SectorPrepare(uint8 sec1, uint8 sec2)
{
}
2.将RAM 内容复制到Flash
代码:
uint32 RamToFlash(uint32 dst, uint32 src, uint32 no)
{
}
3.擦除扇区
代码:
uint32 SectorErase(uint8 sec1, uint8 sec2)
{
}
4.扇区查空