- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IAP及其应用以LPC2300为例,讲述IAP功能在实际使用过程0
IAP及其应用以LPC2300为例,讲述IAP功能在实际使用过程中的应用方法以及相关解决方案 概述 Boot简介 片内Flash存储系统 数据存储解决方案 在线升级解决方案 概述 Boot简介 片内Flash存储系统 数据存储解决方案 在线升级解决方案 概述 概述 Boot简介 片内Flash存储系统 数据存储解决方案 在线升级解决方案 Boot简介 Boot重映射 在系统编程(ISP) 在应用编程(IAP) 在应用编程(IAP) 在应用编程(IAP) 在应用编程(IAP) 在应用编程(IAP) 在应用编程(IAP) 在应用编程(IAP) 在应用编程(IAP) 概述 Boot简介 片内Flash存储系统 数据存储解决方案 在线升级解决方案 概述 Boot简介 片内Flash存储系统 数据存储解决方案 在线升级解决方案 数据存储解决方案 概述 Boot简介 片内Flash存储系统 数据存储解决方案 在线升级解决方案 在线升级解决方案 片内Flash编程步骤 确定系统参数 选择扇区(可选) 擦除扇区(可选) 选择扇区 编程扇区 校验数据(可选) #define IAP_FCCLK 48000 #define IAP_ENTER_ADR 0x7FFFFFF1 uint32 paramin[8]; uint32 paramout[8]; 定义CCLK值大小, 单位为KHz IAP入口参数缓冲区 IAP出口参数缓冲区 IAP入口地址定义 通过在使用IAP代码之前,需要定义一些常量,如系统时钟、IAP函数入口、IAP入口缓冲区和出口缓冲区等。 确定系统参数 片内Flash编程步骤 确定系统参数 选择扇区(可选) 擦除扇区(可选) 选择扇区 编程扇区 校验数据(可选) uint32 SelSector(uint8 sec1,uint8 sec2) { paramin[0] = IAP_SELECTOR; paramin[1] = sec1; paramin[2] = sec2; (*(void(*)())IAP_ENTER_ADR)(paramin,paramout); return(paramout[0]); } 设置扇区选择命令字 设置起始扇区 设置终止扇区 调用IAP服务程序 对某一个扇区执行擦除、写入等操作之前,必须先选择该扇区。但也可以一次选择多个扇区。 选择扇区(可选) 返回操作状态码 片内Flash编程步骤 确定系统参数 选择扇区(可选) 擦除扇区(可选) 选择扇区 编程扇区 校验数据(可选) uint32 EraseSector(uint32 sec1,uint32 sec2) { paramin[0] = IAP_ERASESECTOR; paramin[1] = sec1; paramin[2] = sec2; paramin[3] = IAP_FCCLK; (*(void(*)())IAP_ENTER_ADR)(paramin,paramout); return(paramout[0]); } 设置扇区擦除命令字 设置起始扇区 设置终止扇区 调用IAP服务程序 LPC2300片内Flash在写入数据前需要执行擦除操作。如果目标区域已经被擦除,那么就不必重复擦除,可直接写入数据。擦除操作一次可以擦除多个扇区。 擦除扇区(可选) 返回操作状态码 执行完以上几步后,就可以编程Flash了。执行编程扇区的操作时,IAP函数会将RAM中的数据拷贝到Flash中。 片内Flash编程步骤 确定系统参数 选择扇区(可选) 擦除扇区(可选) 选择扇区 编程扇区 校验数据(可选) uint32 RamToFlash(uint32 dst, uint32 src, uint32 no) { paramin[0] = IAP_RAMTOFLASH; paramin[1] = dst; paramin[2] = src; paramin[3] = no; paramin[4] = IAP_FCCLK; (*(void(*)())IAP_ENTER_ADR)(paramin,paramout); return(paramout[0]); } 设置扇区编程命令字 设置Flash目标地址 设置SRAM源地址 调用IAP服务程序 编程扇区 返回操作状态码 设置复制字节数 256/512/1024/4096 IAP代码还为用户提供了一个数据校验的手段,这样用户就可以不必自己动手来校验
您可能关注的文档
- Gilbert S. Omenn 医学博士,理学博士密歇根大学医学事务执行副主席.ppt
- Have a nice day 愿你拥有美好的一天…….ppt
- Hiding and Retrieval Techniques for Digital Media机密讯息.ppt
- iCAN-5303热电阻功能模块的原理与应用2.ppt
- IHFO中外酒店论坛(WWW.IHFO.COM).doc
- InternetExplorer7先睹为快(下)特为中国TechEd预演0.ppt
- IT职业发展规划.ppt
- JavaWeb开发技术8.ppt
- LC结算时,提交全部单据的种类和份数,均必须符合LC的.ppt
- LexisNexisAcademicUniverse学术大全数据库介绍0.ppt
文档评论(0)