打印
[ZLG-ARM]

请教 程序从内部FLASH跳转到外部FLASH执行

[复制链接]
2472|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wlsq910|  楼主 | 2007-5-16 10:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
Ice_River| | 2007-5-16 12:47 | 只看该作者

关注!

我也在研究这个问题!

使用特权

评论回复
板凳
Ice_River| | 2007-5-16 14:19 | 只看该作者

还有个问题就是中断向量表如何映射?

使用特权

评论回复
地板
zlgARM| | 2007-5-16 20:58 | 只看该作者

wlsq910

道理和从内部Flash跳转到RAM里执行程序一样。
中断向量表和代码都可以写到RAM里,再重映射。

使用特权

评论回复
5
wlsq910|  楼主 | 2007-5-17 09:19 | 只看该作者

请教zlgARM 从内部Flash跳转到RAM里执行程序又如何实现呢?怎样将程序COPY到RAM,又怎样启动执行呢?有没有实例程序可以参考?谢谢!

使用特权

评论回复
6
Ice_River| | 2007-5-17 10:27 | 只看该作者

zlgARM

我们想知道的就是wlsq910说的!哪怕用简单的伪代码写一个也可以啊!
多谢!

使用特权

评论回复
7
wlsq910|  楼主 | 2007-5-17 11:51 | 只看该作者

这个问题还是比较重要的哦!我现在有个产品 安全密封的 我准备用2.4G无线方式更新程序。所以更新时 必须把程序COPY到RAM中允许。无线下载完成后,再更新FLASH中的程序。

使用特权

评论回复
8
luhuaren| | 2007-5-17 12:20 | 只看该作者

re

试一下这样做
程序在RAM中运行,无线下载的时候,将程序放到RAM中的一个大缓冲区中,
下载完成后,将RAM缓冲区中的程序更新到FLASH中,然后软复位/或硬复位,运行更新好的程序/当然 更新后的程序在FLASH里运行还是在RAM中运行,那要根据的程序决定

使用特权

评论回复
9
wlsq910|  楼主 | 2007-5-17 12:27 | 只看该作者

谢谢!这个我知道啊 现在的关键是程序怎么样在RAM中允许 

使用特权

评论回复
10
wlsq910|  楼主 | 2007-5-17 12:41 | 只看该作者

我是准备开机的时候 把FLASH程序调到RAM中运行,问题是怎么样实现这一步骤

使用特权

评论回复
11
luhuaren| | 2007-5-17 12:44 | 只看该作者

re

你可以参考UBOOT  写的很清楚的,

系统最初上电,程序肯定在FLASH里运行,程序也肯定是烧录在FLASH里的,这就需要在FLASH里的最开始的一小段启动代码来完成代码拷贝的工作。但程序的 运行域却是在RAM中,这样就导致了加载域和运行域地址不同,但UBOOT中,用了一条伪指令 “ADR”  完成了这个操作  


使用特权

评论回复
12
wlsq910|  楼主 | 2007-5-17 12:50 | 只看该作者

谢谢!哪里有参考文挡啊?

使用特权

评论回复
13
luhuaren| | 2007-5-17 12:52 | 只看该作者

RE

http://sourceforge.net/projects/u-boot

使用特权

评论回复
14
wlsq910|  楼主 | 2007-5-17 13:13 | 只看该作者

谢谢!

谢谢luhuaren!我去看看

使用特权

评论回复
15
Ice_River| | 2007-5-17 15:45 | 只看该作者

还是要研究UBOOT

使用特权

评论回复
16
lpf336| | 2007-5-18 08:37 | 只看该作者

关注。。。

使用特权

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

本版积分规则

5

主题

28

帖子

0

粉丝