Board logo

标题: Cortex-M3 Flashupdate程序设计的思考 [打印本页]

作者: yuyang911220    时间: 2015-3-24 23:07     标题: Cortex-M3 Flashupdate程序设计的思考

flashupdate程序的一般设计方法是:


程序从ROM搬入到RAM中,然后把新的程序烧入到FLASH中去。
唯一需要注意的是:flashupdate程序中不能调用ROM中的程序,防止在运行过程中把自己擦除掉。




flashupdate是否可以放到单独ROM BANK中?


如果flashupdate不把自己搬运到RAM中去,直接在一块ROM BANK中运行。
但是这样可以擦除flashupdate之前的RO只读段,但是很难擦除flashupdate后面的RW数据段。


因为:
arm linker的载入视图

RO

RW

ZI


RO,RW,ZI按照顺序排列,不能把RW插入到RO中去



RO RW ZI flashupdate 这种加载视图不可以


除非单独写flashupdate程序。也有一个难点在于,APP程序如何找到flashupdate的入口点。


如果flashupdate程序和APP程序融合在一起,升级的时候可以用嵌入式汇编临时把flashupdate程序拷贝到RAM中然后再执行。





欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0