这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 请问斑竹,rw数据大小能否检测

共7条 1/1 1 跳转至

请问斑竹,rw数据大小能否检测

菜鸟
2006-03-15 06:56:17     打赏

make文件编译时会指定一个rw_base地址,在这个地址之后的一定范围内存放程序的全局数据,这个存放全局数据的区域是从RAM中划分出来有大小限制的,比如划分1M出来,那么如果编写的程序中要存放在这里的数据大小突破了1M的限制,有什么方法可以告诉马上知道,比如程序编译无法通过等等




关键词: 请问     斑竹     数据     大小     能否     检测    

菜鸟
2006-03-15 19:11:00     打赏
2楼

你可以自己根据LINKER的几个内部变量来计算RW段的大小。


菜鸟
2006-03-15 19:39:00     打赏
3楼

在ADS里,有一些预先定义了的变量可以用(linker defined symbol)。
Image$$RO$$Base 该变量指定了RO段的 BASE
Image$$RO$$Limit 该变量指定了RO段的 Limit
Image$$RW$$Base 该变量指定了RW段的 BASE
Image$$RW$$Limit 该变量指定了RW段的 Limit
Image$$ZI$$Base 该变量指定了ZI段的 BASE
Image$$ZI$$Limit 该变量指定了ZI段的 Limit

注:具体可以参考ADS Linker Guide

Image$$RO$$Limit 减 Image$$RO$$Base 等于RO段的大小
Image$$RW$$Limit 减 Image$$RW$$Base 等于RW段的大小
Image$$ZI$$Limit 减 Image$$ZI$$Base 等于ZI段的大小

注:ZI段始包括在RW段里面的。


菜鸟
2006-03-15 19:52:00     打赏
4楼

谢谢twentyone


菜鸟
2006-03-15 20:08:00     打赏
5楼
[em01]

菜鸟
2006-03-15 21:53:00     打赏
6楼

twentyone,经过检查我的map文件发现,全局变量区其实由RW段和ZI段组成,程序要在链接时检测全局变量区是否越界可以设置image$$zi$$limit就可以了?

另外我的map文件怎么没有image$$ro$$base和image$$rw$$limit这两个标志?


菜鸟
2006-03-16 01:34:00     打赏
7楼

这些都是Linker定义的Symbols,用于告诉用户数据和代码的大小与位置。不是自己可以设置的。


共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]