小弟刚刚从事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的调跳线取了,难道还有什么没考虑到的因素?希望各位能帮助解答一下。
共4条
1/1 1 跳转至页
一个关于robase和flash下载后断电运行程序的问题

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

1 - 我记得ZLG提供的例子都是用SCATTER LOAD方式进行链接程序的,你只需要选择DEBUG IN FLASH, DEBUG IN RAM或者是REL IN FLASH。你自己直接设定RO_BASE和ENTRY POINT的话,可能会有问题,除非你对程序结构已经很了解了。
2 - 你在ADS里面设置一下,编译链接的时,除了AXF文件,还可以生成BIN文件,把这个BIN文件烧写到FLASH里去。烧写完成后,在把FLASH里面的内容给读取出来,和烧写文件对比一下,看看烧写是否完全一致。另外,烧写的时候,你是否选择了正确目录下的文件进行烧写?
2 - 你在ADS里面设置一下,编译链接的时,除了AXF文件,还可以生成BIN文件,把这个BIN文件烧写到FLASH里去。烧写完成后,在把FLASH里面的内容给读取出来,和烧写文件对比一下,看看烧写是否完全一致。另外,烧写的时候,你是否选择了正确目录下的文件进行烧写?
共4条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏50分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持示波器】树莓派PICOW网页烟花被打赏18分 | |
【换取手持示波器】树莓派PICO逻辑分析仪被打赏16分 | |
【分享评测,赢取加热台】教你五分钟本地部署蒸馏版本的DeepSeekR1-7B被打赏12分 | |
【换取手持示波器】蓝牙音箱更换电池被打赏8分 | |
【换取手持示波器】鼠标更换微动开关被打赏10分 | |
【我要开发板】4.传感器移植被打赏50分 | |
【换取手持数字示波器】RISC-VGCC使用-fno-omit-frame-pointer编译选项实现栈回溯被打赏29分 | |
【分享评测,赢取加热台】+开关电源简述被打赏7分 |