NXP 原LPC单片机IAP使用的几点汇总

发表于 讨论求助 2023-05-10 14:56:27

NXP LPC系列ARM支持在应用编程(IAP),允许通过终端用户的应用代码对片内Flash存储器进行擦除/写操作,可以通过IAP完成程序升级或者数据存储,本文主要介绍IAP使用过程中的几点疑问。


小粥疑问一:

LPC系列单片机Flash内容如何通过IAP进行读操作?


读Flash操作不需要通过IAP,直接定义指针读取相关地址的数据(字节、半字或者字)即可,如下图所示


小粥疑问二:

听说IAP操作过程中需要关中断,这是为啥?


IAP操作有很多命令:写Flash、擦除Flash、读ID等,关中断操作主要针对写/擦除操作。之所以要求在IAP操作之前关中断,是因为大部分LPC单片机的内部Flash是独立的一块,根据Flash的特性要求不允许在执行的过程中再对Flash进行写、擦除操作,如果代码是运行在Flash里面的,那么写/擦除操作过程中如果产生中断,代码将在Flash中运行中断函数,这样就会产生异常。大家想一想?如果将所有的中断入口代码及中断相关代码都映射到RAM中是否可以不考虑关中断


小粥疑问三:

IAP有的命令里面有时钟参数,这个要如何操作?会有什么风险?


“IAP将RAM内容复制到Flash命令”的入口参数3及“IAP擦除扇区命令”的入口参数2要求给出系统的时钟频率,要特别注意,该时钟一定要和系统时钟频率一致,否则可能出现以下故障:

常温下IAP操作正常,高低温时IAP操作失败;


常温下IAP操作不稳定。

因此在实际应用过程中,一定要确保该参数的准确,以保障IAP的正确操作。



往期好文推荐



微信号

zlg-xiaozhou

长按添加小粥为好友

即刻加入微信交流群

 

广州周立功单片机科技有限公司

zlg.sales@zlgmcu.com

400 888 2705

www.zlgmcu.com

点击

写留言

与小编沟通

发表
26906人 签到看排名