打印
[ZLG-ARM]

lpc2134的IAP问题,请教各位大哥.

[复制链接]
2240|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shixi1021|  楼主 | 2007-1-19 12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟刚学ARM,有很多问题需要各位大哥帮助,先谢过了!
我想在2134中的FLASH留出一个扇区保存参数,要求能在运行中随时修改,还要能断电保存,用IAP可以吗?如果用IAP,可以从固定FLASH地址读,我怎样才能知道参数在运行中RAM的地址?怎样才能实现随时修改参数?
看了本坛的很多关于这方面的贴子,知道有很多人遇到和我一样的问题,只是上面没有看到解决的方法,周工能不能抽空给我们这些初学者讲一下.

相关帖子

沙发
shixi1021|  楼主 | 2007-1-19 13:47 | 只看该作者

就没有人顶一下吗?

使用特权

评论回复
板凳
huanhuan03| | 2007-1-19 16:02 | 只看该作者

关于IAP

可以用IAP 的
你可以做一个结构体在内存中,把所有的参数都包含进去,修改结构体中的内容,然后整个内存作为一个缓存IAP到FLASH中
之所以要做一个结构体,是因为存在一个字节对齐的问题,查一些相关资料就明白了
对于IAP升级,我目前作的是在启动文件中,必须把整个程序搬到RAM中,否则的话不能升级
手册上说,IAP的时候FLASH不能读写,不知道是整个FLASH还是当前读写的那一块FLASH,我目前的试验证明是整个FLASH,但如果是这样的话,程序程度就不能大于32K,很受限制,希望有证明只是当前擦写的FLASH的高人来说说
好好努力了

使用特权

评论回复
地板
shixi1021|  楼主 | 2007-1-19 19:42 | 只看该作者

谢谢,可我怎样才能知道内存中结构体的地址了?

不知道地址也就用不了IAP了啊,

使用特权

评论回复
5
jeff_hk| | 2007-1-19 21:14 | 只看该作者

可以定义一个指向结构体的指针

使用特权

评论回复
6
huanhuan03| | 2007-1-20 13:31 | 只看该作者

存放在flash中的地址怎么能不知道?

存放在flash中的地址是自己决定的,内存中的缓存定义一个结构体变量就行了

使用特权

评论回复
7
shixi1021|  楼主 | 2007-1-20 21:12 | 只看该作者

怎样知道RAM中的地址?

谢谢大家的回答,只是因为我需要保存,在运行中还要随时修改,所以我要知道结构体在RAM中的地址,这样才能用IAP(我的理解,如果不对请大虾批评),如果是用指针,我应该怎样做,还请大虾们多多指点一下,或给点源码参考一下,

使用特权

评论回复
8
computer00| | 2007-1-20 22:49 | 只看该作者

取它的地址啊,C语言有取地址运算符&,

使用特权

评论回复
9
computer00| | 2007-1-21 13:59 | 只看该作者

参数不对,试试这样:

RamToFlash(0x00001000,(int)pio, 256);        // 写数据到扇区1 
err = Compare(0x00001000,(int)pio, 256);     // 比较数据

使用特权

评论回复
10
shixi1021|  楼主 | 2007-1-21 14:26 | 只看该作者

谢谢各位,非常感谢!!

使用特权

评论回复
11
hotpower| | 2007-2-10 02:48 | 只看该作者

哈哈~~~给个LPCARM的IAP图例~~~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

14

帖子

0

粉丝