[ZLG-ARM] LPC2220如何将外部flash中的代码搬运到内部ram中,并执行?

[复制链接]
2792|4
 楼主| xlander 发表于 2008-1-18 16:31 | 显示全部楼层 |阅读模式
LPC2220如何将外部flash中的代码搬运到内部ram中,并执行?<br /><br />我的系统只有一片外部flash,没有外部ram。<br /><br />现在想做远程升级的功能,不知道能否实现?<br /><br />查以前的帖子,说要将代码搬运到内部ram,然后运行。但是,我有些问题没弄明白。<br /><br />假设有一个函数Update(),要确定此函数在外部flash中的位置比较容易,但是怎么确定这个函数的长度呢?或者怎么确定它的结束位置呢?<br /><br />换句话说,我知道从哪里开始搬运,但是我不知道搬运多少。
zlgarm 发表于 2008-1-18 16:53 | 显示全部楼层

LPC2220升级

xlander&nbsp;您好:<br /><br />&nbsp;&nbsp;&nbsp;一般我们可以估算出整个升级程序最大长度,然后将他们整体搬移,最后通过指针跳转到升级处。在这里还要一些编译设置上的处理才行,您可以参考《ARM体系结构与编程》——清华大学出版社&nbsp;,&nbsp;这本书里的相关内容。<br /><br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;By&nbsp;zlgarm_zhp
zlgarm 发表于 2008-1-18 16:55 | 显示全部楼层

代码长度

xlander&nbsp;您好!<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在您程序被正确编译时,编译器就会显示程序占用多少Flash和RAM.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;By&nbsp;zlgarm_ljt<br />&nbsp;
yongtree 发表于 2008-1-18 23:52 | 显示全部楼层

代码长度应该不用计算

这里说的拷贝,应该是C语言环境中代码与只读数据的拷贝。是对分散加载文件中RO段的操作,长度只与分散加载配置的长度有关,不必看编译结果。<br />LPC22XX程序在FLASH&nbsp;RAM的速度不相上下,拷贝到RAM对性能提生意义不大。
 楼主| xlander 发表于 2008-1-20 08:53 | 显示全部楼层

明白了,谢谢三位。我原先以为能够精确的确定长度呢。

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

65

主题

165

帖子

0

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