作者askacis (222222222222222222)
看板ASM
标题Re: 关於Firmware Update设计
时间Mon Jun 2 23:21:00 2008
※ 引述《ast9869 (甘愿为你~)》之铭言:
: ※ 引述《ast9869 (甘愿为你~)》之铭言:
: : 後来又想到一个不错的方法,主程式Code不动,
: : 而把我一些常需要Update 的Fucntion Code的位址
: : 定义在主程式Code 後面区块,应该就可以避掉这样的问题了。
: 不知道怎麽定义Function的 location?
: 假如我的 xxx.c compiler 之後,我想让xxx.obj 放在flash的
: 0x12000h的位址,要如何设定啊?
在ARM7底下如果要安排一个function的话可以用KeilC的巨集__at
(记得include absacc.h)若是整个.o,可以设定自己的*.sct去编排
你的记忆体
如果flash size有限无法分作两大块来做FW update的话,可以利用
编排.sct的方式将你用来erase/write的函数摆到Ram上进而做到
把整块chip的flash都清掉还可以更新fw update的功能,但是缺点
就是不能断电,不然就什麽都没了XD
还有一个问题就是如果你是用C写的话,那麽要确保一些C以及ARM
自己本身的library每次编译出来的.o都在同样位置上,不然即使
你固定了主code,还是会因为FW V0.1里面那些library的位置跟你
FW 的V0.2位置是不一样而当机的,一点小小意见提供给你参考...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.73.218.253
※ 编辑: askacis 来自: 203.73.218.253 (06/02 23:22)
※ 编辑: askacis 来自: 203.73.218.253 (06/03 08:18)
1F:推 ast9869:最後一段的文章,是真的要很小心!!! 08/12 10:07