[ZLG-ARM] 请教周公关于IAP用于2114

[复制链接]
2665|3
 楼主| hyjlinda 发表于 2007-6-19 08:25 | 显示全部楼层 |阅读模式
周公好,我用LPC2114开发频率计,现在急需把现场测到的一个校验值存到片内FLASH中,使得以后在掉电或者关机状态该值也不会消失。有操作系统的程序代码也在片内FLASH里运行,想请问周公几个问题,请周公赐教,在下十分感谢:<br />一是通过IAP方式能实现我在FLASH里运行程序的同时读写FLASH吗,需不需要再把程序映射到RAM里再操作呢?<br />二是IAP服务代码是THUMB指令,使用ARM环境用C直接调用可以吗,要注意哪些问题?<br />三是如果以上都是可以的话我应该在程序中添加哪些关于IAP的代码,实现IAP功能呢?<br />
zlgarm 发表于 2007-6-19 17:06 | 显示全部楼层

re:

LPC系列的ARM可以进行IAP操作,程序在Flash中运行的时候,可以对空闲的Flash扇区进行IAP操作,而无需将程序复制到RAM中运行。<br /><br />在C下直接调用IAP的API是没有问题的,不过IAP的使用需要注意3点:其一是使能ARM/Thumb交互编译选项,其二是为IAP预留RAM最高端的32字节,再有就是IAP操作必须关闭所有中断。<br />
 楼主| hyjlinda 发表于 2007-6-20 07:55 | 显示全部楼层

谢谢周公指教

谢谢周公指教!十分感谢!
 楼主| hyjlinda 发表于 2007-6-26 13:10 | 显示全部楼层

请教周公IAP关所有中断

请问周公调用IAP前关闭所有中断,除了通过更改startup.s文件里的InitStack子程序MSR&nbsp;CPSR_c,#0xdf&nbsp;来实现外,还有什么办法实现呢,如果通过CPSR_c,#0xdf&nbsp;来修改堆栈设置的话,我带操作系统的程序就不能正常进中断了。请周公赐教,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

6

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部