这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 一个关于robase和flash下载后断电运行程序的问题

共4条 1/1 1 跳转至

一个关于robase和flash下载后断电运行程序的问题

菜鸟
2008-03-19 13:14:49     打赏

小弟刚刚从事ARM开发,用的是ZLG的2100的板子,开始跑点灯的程序就出现2个问题。
1、开始跑例程时,我选用debug in flash方式。我的设定是robase为0x00000000,image entry point为0x00000000,发现程序老是跑飞了,一运行就到了0xfffelb8的地址,跳转不到main函数,我就怀疑是不是程序段从0x00000000写的话会和从0x00000000开始的7个模式的中断向量有冲突,所以我就把robase改到了0x00000040,结果程序可以顺利运行,但我也不确定自己是不是找对了原因,因为我看得资料上都是说robase从0x00000000开始的,希望各问能帮我解答一下这个现象。
2、程序用debug in ram,debug in flash,rel in flash三种方式生成.axf文件后,我通过AXD硬件仿真都可以工作,也就是说程序一运行,板子上的灯都可以点亮,但是当我用H-flash把程序下到片内flash时,重新上点运行,灯就不亮。开始我怀疑是不是程序没有下载进取,但察看flash地址里有数据写入。同时我已经根据书上要求把ISP的调跳线取了,难道还有什么没考虑到的因素?希望各位能帮助解答一下。




关键词: 一个     关于     robase     flash     下载     断电         

菜鸟
2008-03-19 23:04:27     打赏
2楼
1 - 我记得ZLG提供的例子都是用SCATTER LOAD方式进行链接程序的,你只需要选择DEBUG IN FLASH, DEBUG IN RAM或者是REL IN FLASH。你自己直接设定RO_BASE和ENTRY POINT的话,可能会有问题,除非你对程序结构已经很了解了。

2 - 你在ADS里面设置一下,编译链接的时,除了AXF文件,还可以生成BIN文件,把这个BIN文件烧写到FLASH里去。烧写完成后,在把FLASH里面的内容给读取出来,和烧写文件对比一下,看看烧写是否完全一致。另外,烧写的时候,你是否选择了正确目录下的文件进行烧写?

菜鸟
2008-03-20 10:03:03     打赏
3楼

谢谢twentyone大大,按你说的用scatterload方式加载已有的mem文件就可以掉电运行了。


菜鸟
2008-03-20 17:24:50     打赏
4楼
不客气,问题解决了就好 :- )

共4条 1/1 1 跳转至

回复

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