打印

ADS中的 |Image$$RO$$Base| 任何移植到MDK中

[复制链接]
4525|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小野狼|  楼主 | 2008-1-11 16:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在使用 realview MDK编程,不能获取: 



IMPORT |Image$$RO$$Base| ; ROM code start 



IMPORT |Image$$RO$$Limit| ; RAM data starts after ROM program



IMPORT |Image$$RW$$Base| ; Pre-initialised variables



IMPORT |Image$$ZI$$Base| ; uninitialised variables



IMPORT |Image$$ZI$$Limit| ; End of variable RAM space



BaseOfROM DCD |Image$$RO$$Base|



TopOfROM DCD |Image$$RO$$Limit|



BaseOfBSS DCD |Image$$RW$$Base|



BaseOfZero DCD |Image$$ZI$$Base|



EndOfBSS DCD |Image$$ZI$$Limit|



的数据,请问在realview中怎样更改以上代码,我需要用此数据以便将每个段重ROM移动到RAM运行。

相关帖子

沙发
小野狼|  楼主 | 2008-1-11 16:06 | 只看该作者

解答

如果你用脚本文件的话,Image$$RO$$Base等等都是没定义的,那么你就要修改RO RW ZI

等等,把这些修改为你脚本文件中的LR_ROM1等等,对应起来

使用特权

评论回复
板凳
小野狼|  楼主 | 2008-1-11 16:07 | 只看该作者

解答

使用分散载入描述文件时,Image$$RW$$Base、Image$$RW$$Limit、Image$$RO$$Base、
Image$$RO$$Limit、Image$$ZI$$Base 和 Image$$ZI$$Limit 符号是未定义的。
因为默认的实现使用 Image$$ZI$$Limit,所以您必须重新实现
__user_initial_stackheap() 并定义堆区起始和栈区顶端的值。有关的更多信息,
请参阅RealView 编译工具 2.0 版编译程序和库指南 中关于库存储器模型的章节
和 RealView 编译工具 2.0 版开发者指南 中关于编写 ROM 代码的章节。如果不重
新实现 __user_initial_stackheap(),则链接程序显示以下出错信息:
Undefined symbol Image$$ZI$$Limit (referred from sys_stackheap.o)。

使用特权

评论回复
地板
小野狼|  楼主 | 2008-1-11 16:08 | 只看该作者

解答

具体可参考附件中的程序
相关链接:https://bbs.21ic.com/upfiles/img/20081/200811116815893.rar

使用特权

评论回复
5
xinjie1023| | 2009-9-22 22:09 | 只看该作者
学习了,小野狼

使用特权

评论回复
6
huzhongmoshui| | 2010-12-13 15:28 | 只看该作者
学习一下

使用特权

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

本版积分规则

94

主题

283

帖子

0

粉丝