米尔淘宝店| 米尔电子| 米尔微博| English

RealView中如何定义|Image$$RW$$Base|、|Image$$ZI$$Base|?

问题类别:ARM 开发工具 > MDK-ARM 浏览次数:5200
发布日期:2012-04-23 14:55:28 文章来源:米尔科技
回复日期:2012-04-23 15:48:30

环境说明

RealView MDK中国版3.05以上

分析描述

如何使用链接脚本中的Image$$RW$$Base|、|Image$$ZI$$Base|

问题解答

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

 MDK-ARM链接程序使用了两种方式控制程序的链接,即链接控制命令选项和链接脚本文件。当使用链接控制命令选项时,链接器定义了Image$$RW$$BaseImage$$RW$$LimitImage$$RO$$BaseImage$$RO$$LimitImage$$ZI$$BaseImage$$ZI$$Limit6个段地址描述符。这6个描述符可以直接在程序中引用。而在使用链接脚本文件后,这6个描述符号没有了,取而代之的是链接脚本文件中的段描述符,格式为:Image$$段名$$Base Image$$段名$$Limit。具体的你可以参看MDK帮助文档中关于链接器定义的符号这一章!

相关的链接:

MDK-ARM中链接脚本问题

链接脚本文件中链接符号说明

分散加载文件(链接脚本文件)的格式

技术支持服务指南

在线提交问题

常见问题解答