hex 文件中有个地方很奇怪,计算出来的地址已远远超过MCU的flash空间了,大家帮忙看看!

2020-02-08 09:04发布

:100bb0000000400081c04800fcff3b000170a00025
:100bc00024000500800078003004e000feff3a00b9
:0c0bd000010050000000e90000000600d9
:020000040000fa
:0200000401f009
:04000c00fbff0000f6
:020000040000fa
:0200000401f009
:040010003eff0000af
:020000040000fa
:10000800f6070000520700005407000056070000da
:10001800580700005a070000f6070000f60700001e
:10002800f6070000f607000044070000ba060000c3



这是部分hex,
:0200000401f009
:040010003eff0000af

这两行计算的话,得到的地址是0x1f00010,mcu(128k flash)是0x1000000,MCU是PIC24H128***

另外,hex 2 bin就是因为这个地址很大,导致生存的bin文件也很大。


vc写的hex 2 bin工具ourdev_642543F0GRKR.rar(文件大小:33K) (原文件名:HEX2BIN.rar)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
aozima
1楼-- · 2020-02-08 10:56
config bit
McuPlayer
2楼-- · 2020-02-08 14:38
 精彩回答 2  元偷偷看……
avr-qq
3楼-- · 2020-02-08 17:41
Intel 对这种文件有定义,我不记得了。先去查查吧
yinlb1987
4楼-- · 2020-02-08 22:27
回复【1楼】aozima
config bit
-----------------------------------------------------------------------

谢谢aozima,这个地址/2之后就刚好在配置范围内0x1f00010/2=0xf80008

hex文件中的地址就是MAPLAB中查看flash地址的2倍
上几个图看看


pic mcu flash addr (原文件名:addr.jpg)


hex文件 (原文件名:hex.jpg)


在maplab中查看flash (原文件名:m.jpg)

一个是0x400,另一个是0x200,请问下这个是为什么?
yinlb1987
5楼-- · 2020-02-08 23:00
地址2倍的问题以解决,原因是HEX文件中是已字节为单位的,而PIC MCU是以字(16 bits)为单位的
liubinghui
6楼-- · 2020-02-09 04:49
     MACK

一周热门 更多>