为什么一般都是-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的情况呢?
各位谁能帮我看看是什么问题吗???
引用: 引用 1 楼 chinaye1 的回复:
ram使用了多少不清楚,我这以前也经常死机,最后看出来了是系统总线冲突,arm外扩的东西多,还要读ad转换的数据,ad转换的地址不对造成。好像一个画图函数也容易造成,画图范围不能超过屏大小
我上面就是外扩了一个 flash(bank0)、usb的那个啥(bank1 没有)、rtl8019(bank3网卡芯片),ram(bank6)。。看起来都没有什么影响的啊~~
ram使用了多少不清楚,我这以前也经常死机,最后看出来了是系统总线冲突,arm外扩的东西多,还要读ad转换的数据,ad转换的地址不对造成。好像一个画图函数也容易造成,画图范围不能超过屏大小
我上面就是外扩了一个 flash(bank0)、usb的那个啥(bank1 没有)、rtl8019(bank3网卡芯片),ram(bank6)。。看起来都没有什么影响的啊~~