首页 | 培训课程 | 企业培训 | 解决方案 | 项目开发 | 产品超市 | 全国代理 | 在线订购 | 关于我们 | 联系我们 | 论坛首页
当前分类:电子综合技术
ARM开发板HEX文件的烧写问题
更新时间: 2009-6-18   来源:   点击数: 1012

有些买了SuperARM2100开发板的用户反映:在按照我们资料的开发步骤编译出HEX文件后,不能烧录进ARM芯片,会出现问题,见下图:

提示说地址超出范围。


就这一问题下边做个详细回答。希望对初学者有用。

我们知道,ARM7的片内SARM地址是从0X40000000单元开始的,片内FLASH地址是从0X00000000单元开始的。HEX文件本身是包含地址的,他的地址到底从什么开始,这和具体的编译环境有关。见下图:

我们的每个编程模板提供3种变异模式,第一个DebugInRAM是在内部SRAM里调试的,编译出来的HEX文件是以地址0X40000000单元开始的。第二个DebugInFLASH才是在FLASH里调试,编译出来的程序可烧写。第三个也是在FLASH里调试,但一般不要用,会加密的,一旦用了,必须通过串口重新察除才能从新调试。

到现在我们应该明白有的用户为什么会出问题了。很简单,他选择了DebugInRAM调试模式,却把编译得到的HEX文件,FLASH里烧录。这样肯定会发生地址不匹配的情况。

题外话:引申一下,如果用户在DebugInRAM调试模式下选择生成BIN文件,则烧录不会出问题,但程序却不能正常运行。为什么,大家考虑一下!


 
共有评论 0 条
对不起,暂时没有内容!

最新文章
对不起,暂时没有内容!
 
最热文章
对不起,暂时没有内容!
 
深圳信盈达电子有限公司版权所有@2009 深圳市南山区南新路苏豪大厦705室 电话:0755-26457584(5线) 传真:0755-26457584-802 邮箱:edu118@126.com 信盈达www.edu118.com
ICP备案号:粤ICP备09072292 您是第159070位访客 [管理员登录]