小弟刚刚从事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电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 | |
汽车电子中巡航控制系统的使用被打赏10分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏100分 | |
分享汽车电子中巡航控制系统知识被打赏10分 | |
分享安全气囊系统的检修注意事项被打赏10分 |