1 / 45
文档名称:

《iap使用方法》.ppt

格式:ppt   大小:870KB   页数:45页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

《iap使用方法》.ppt

上传人:相惜 2021/3/3 文件大小:870 KB

下载得到文件列表

《iap使用方法》.ppt

文档介绍

文档介绍:IAP及其应用 以LPC2300为例,讲述IAP功能在实际 使用过程中的应用方法以及相关解决方案
产品应用笔记 AN070701
1
整理课件
概述
Boot简介
片内Flash存储系统
数据存储解决方案
在线升级解决方案
2
整理课件
概述
Boot简介
片内Flash存储系统
数据存储解决方案
在线升级解决方案
3
整理课件
IAP(In Appplication Program),即在应用中编程。顾名思义,就是在系统运行的过程中动态编程,对程序执行代码的动态修改。
IAP技术应用于嵌入式系统的数据存储和在线升级。例如在程序运行工程中产生4k字节数据表,为了避免占用SRAM空间,用户可以使用IAP技术将此表写入片内Flash。又如用户在开发完一个系统后要增加新的软件功能,可以使用IAP技术在线升级程序,避免重新拆装设备。
概述
4
整理课件
概述
Boot简介
片内Flash存储系统
数据存储解决方案
在线升级解决方案
5
整理课件
LPC2300系列处理器在出厂时,由厂家在片内固化了一段Boot代码。Boot装载程序控制芯片复位后的初始化操作,并提供对Flash编程的方法。Boot程序可以对芯片进行擦除、编程。
在系统编程(ISP)
在应用编程(IAP)
Boot简介
6
整理课件
Boot重映射
Boot装载程序提供了ISP和IAP编程接口,可以实现对片内Flash存储器的编程。
Boot区位于地址0x0007 E000~0x0007 FFFF处。不过,芯片上电以后,会首先对Boot区执行一次重映射,映射到片内存储器空间的最高处,即接近2G(0x8000 0000)的地方。
0x0000 0000



0x0000 003F
0x0007 E000
0x4000 0000
0x7FFF E000
0x7FFF FFFF
0x0007 FFFF
8KB Boot Block
异常向量表
片内静态RAM
片内Flash
8KB Boot Block 重映射
地址重映射
7
整理课件
ARM7
处理器核
外设
控制器
RAM
Boot
Block
FLASH
JTAG
UART0
串口
在系统编程(ISP)
在系统编程是通过Boot装载程序和UART0对片内Flash存储器进行擦除/编程的方法。
UART0
ARM7
处理器核
CPU运行Boot代码
通过ISP对Flash编程
8
整理课件
ARM7
处理器核
外设
控制器
RAM
Boot
Block
FLASH
JTAG
UART0
在应用编程(IAP)
在应用编程是用户的应用代码对片内Flash存储器进行擦除/编程的方法。
ARM7
处理器核
CPU运行Boot代码
通过各种途径获取用户代码
通过IAP对Flash编程
9
整理课件
在应用编程(IAP)
IAP程序是Thumb代码,位于地址0x7FFF FFF0。在ARM系统中实现状态转换的指令是“BX Addr”,目标地址Addr的最低位(bit0)仅来确定最终状态,实际的“目的地址= Addr & 0xFFFF FFFE”。在调用IAP函数时,不仅要实现跳转而且还要完成状态转换。
0x7FFF FFF0
……
……
0x0000 4000
0x0000 4004
0x7FFF FFF2
……
ARM代码
Thumb代码
0x7FFF FFF1 & 0x7FFF FFFE
BX 0x7FFF FFF1
IAP程序入口
Bit0=1使处理器切换到Thumb状态
ARM状态字对齐
Thumb状态半字对齐
注意:此为示意代码,实际编程中请用
LDR R0,=0x7FFFFFF1
BX R0
代码替代。
10
整理课件