[讨论] 享ARM7学习过程中HEx烧写问题!!

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


提示说地址超出范围。

--------------------------------------------------------------------------------

就这一问题下边做个详细回答。希望对初学者有用。
我们知道,ARM7的片内SARM地址是从0X40000000单元开始的,片内FLASH地址是从0X00000000单元开始的。HEX文件本身是包含地址的,他的地址到底从什么开始,这和具体的编译环境有关。见下图:


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

回复评论 (1)

继续

很简单,他选择了DebugInRAM调试模式,却把编译得到的HEX文件,往FLASH里烧录。这样肯定会发生地址不匹配的情况。
题外话:引申一下,如果用户在DebugInRAM调试模式下选择生成BIN文件,则烧录不会出问题,但程序却不能正常运行。为什么,大家考虑一下!
7月份深圳单片机,ARM,嵌入式系统技术培训新班开课接受报名中,,,
单片机高级工程师培训
ARM7技术培训
ARM9技术培训
嵌入式Linux操作系统培训
一线工程师实战项目培训包教会,7月1日---31期间推出多项优惠,包高级班均赠送学习板,另外享受优惠,赶快行动吧
QQ:313807838  电话:0755-88846901   13510783517   更多内容请登陆:

http://www.edu118.com
点赞  2009-7-18 17:18
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复