3253|2

95

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

ads 44b0的设置。。为什么我的程序运行一天才死,有时候几分钟就死了,死的时候中断都进不去。 [复制链接]

为什么一般都是-ro-base 0xc100000开始呢?BANK6为RAM,起始地址为0xc000000???在这个之前都是存放的什么呢???

(我的ram有8M,_ISR_STARTADDRESS  EQU  0xc7fff00,内存中的中断映射的地址从0xc7fff00开始。)


我的程序有时候会突然死机,可能运行一天才死,也可能刚开机几分钟就死了。死掉的时候连中断都进不去。。每次开始之后都是执行相同的操作。我怀疑是不是我ads里面设置的不太好,导致数据将我中断向量覆盖了。

我的ads在arm linker里面设置linktype=simple,Ro base=0xc100000,rw base没有填写,options里面的Image entery point也是0xc100000:
-info totals -entry 0xc100000 -ro-base 0xc100000 -first vector.o(reset)

还有,我们的ads在编译完成后,输出:
ro size(code+ro data) 223.67kB
rw size(rw data+zi data) 34.39kB
rom size(code +ro data +rw data) 237.58kB
是什么意思呢???

这是不是意味着,我的ram有很多没有使用到呢???会不会我有8MB的RAM,但是我只用到了1MB的情况呢?

各位谁能帮我看看是什么问题吗???

最新回复

ro-base设置为 0x0c008000  详情 回复 发表于 2010-5-18 14:41
点赞 关注

回复
举报

75

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
存储器都在哪里,取决于你处理器和实际的硬件配置......

ro,read only,只读的. 通常执行代码和一些只读数据都放在ro里面
rw,read and write,可读写的. 这些数据有自己的初始值,而初始值都要在rom里面保存着,你的main开始执行之前,有一些代码负责把这些初始值复制到RAM里面.
zi,zero initialized data,初始值为0的数据.这些数据被集中起来放在一起,启动代码会把它们都设置成0.

so,rom里面需要包含code,ro data和rw data
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
ro-base设置为 0x0c008000
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
有奖直播报名| TI 面向楼宇和工厂自动化行业的毫米波雷达解决方案
【内容简介】TI 60GHz IWRL6432和 IWRL1432毫米波雷达传感器如何帮助解决楼宇和工厂自动化应用中的感应难题
【直播时间】5月28日(周三)上午10:00
【直播礼品】小米双肩包、contigo水杯、胶囊伞、安克充电器

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 11

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表