打印

HEX问题

[复制链接]
1071|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dfsa|  楼主 | 2013-1-23 22:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一般要在MCU中实现Boot loader,都需要有两个main函数,生成两个HEX文件,然后把第二个加到第一个后面。
在刚开始的时候,我第一个main无法跳转到第二个main执行,但是后来我注意了一下,两个工程在编译连接的时候都需要指定RAM的位置,这两个工程的RAM要设定的不同,才可以运行。
于是我就很不能理解,为什么HEX中找不到RAM的信息喃?是不是RAM的信息都蕴藏在代码中?

相关帖子

沙发
无冕之王| | 2013-1-23 22:34 | 只看该作者
代码中要添加跳转指令

使用特权

评论回复
板凳
yybj| | 2013-1-23 23:13 | 只看该作者
先要在工程中设置RAM起始地址,然后编译的HEX文件里会体现出RAM地址,HEX文件格式看一下,再对照自己的HEX文件,可以看出代码存放在RAM中的具体位置。

使用特权

评论回复
地板
pkat| | 2013-1-23 23:18 | 只看该作者
代码的起始地址是你在编译工具中设置的。
HEX 文件是编译的结果,它仅说明哪一个地址上有什么样的数据。

使用特权

评论回复
5
firstblood| | 2013-1-24 16:07 | 只看该作者
3楼说的是啊,HEX文件里单片机要调用肯定是先识别地址的,然后才可读出文件内容执行的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

282

主题

2404

帖子

2

粉丝