打印
[STM32F1]

STM32F103VC, Hex最后13行代码不明白是什么?

[复制链接]
1593|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huanghai21|  楼主 | 2017-5-23 10:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
芯片是STM32F103VC,编译器为Keil4,目前在开发远程升级时遇到一个问题:
下面是我们项目编译出的hex文件最后面几行数据,
:10DFF000000000000000000000000000CD0BE01257
:10E00000012492FA2D0102030404300906070809CD
:10E0100002040608ACA24A041E291A01FF01E30209
:10E020005DFF141A620412094DF6FF1B63083C16CB
:10E030001791085A1708111373C012051AFA854A66
:10E04000C1085A01085A21085A28085A31085A4169
:10E0500008114AD2085A63105A69084B14C2085A68
:10E0600064104A67083C013D95705B013E085A3FC9
:10E07000085A40085A41085A44085A45085A46085E
:10E080004A4708012249232392F013F00333200268
:10E09000180AB96701080568010820145AF2141A11
:10E0A00019101A43041A21145AF4141A4D101A752F
:10E0B000041A22145AF6141AA3101ACF041A24149C
:10E0C0001AF81432061ADB101AE704016000000087
:04000005080041317D
:00000001FF

蓝色CD0BE012 是通过这行代码 const uint32_t app_endxx_id __at (0x0801dffcu) = 0x12E00BCDul;
指定在这个地址的32位数据,目的是为了标记程序的结尾,但是编出来发现最后面还有一段数据,
不论我app_endxx_id 的地址改到哪里,这段数据用永远都在最后,跟在app_endxx_id后面,
而且这段数据在.map文件中也没有描述, 下面是.map文件的一段内容,仅描述到 0x0801dffc,
是app_endxx_id 地址。
0x0801ac90   0x00000088   Data   RO         1031    .constdata          uds_support.o
0x0801ad18   0x00000100   Data   RO         1102    .constdata          os_core.o
0x0801ae18   0x0000005e   Data   RO         1243    .constdata          os_dbg.o
0x0801ae76   0x0000002e   Data   RO         1032    .conststring        uds_support.o
0x0801aea4   0x00000020   Data   RO         1460    Region$$Table       anon$$obj.o
0x0801aec4   0x00003138   PAD
0x0801dffc   0x00000004   Data   RO           12    .ARM.__AT_0x0801DFFC  main.o


Execution Region RW_IRAM1 (Base: 0x20000000, Size: 0x00006cc0, Max: 0x0000c000, ABSOLUTE, COMPRESSED[0x000000cc])

Base Addr    Size         Type   Attr      Idx    E Section Name        Object

0x20000000   0x00000023   Data   RW           14    .data               main.o
0x20000023   0x00000001   PAD


有没有懂的大哥帮忙解答一下,
hex的最后一段数据是什么内容?为什么会永远跟在app_endxx_id 后面?为什么.map文件没有描述?
沙发
mmuuss586| | 2017-5-23 13:51 | 只看该作者

不知道什么意思;

使用特权

评论回复
板凳
kkzz| | 2017-5-23 17:09 | 只看该作者
这个modbus下载的吗/

使用特权

评论回复
地板
kkzz| | 2017-5-23 17:14 | 只看该作者
见过别人开发串口下载程序,不过还没有实现过。

使用特权

评论回复
5
airwill| | 2017-5-23 21:32 | 只看该作者
往往是程序里的常数会跟在代码的后面. 而变量的非0初始值构成常数表会跟在全部代码的后面.

使用特权

评论回复
6
mohanwei| | 2017-5-23 22:08 | 只看该作者
你为啥不用bin格式呢……都不用解析,直接写

使用特权

评论回复
7
jekey| | 2017-5-23 22:38 | 只看该作者
可以去搜索hex文件的格式啊。

使用特权

评论回复
8
yklstudent| | 2017-5-24 08:24 | 只看该作者
hex和bin本质上都是一样的

使用特权

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

本版积分规则

1

主题

4

帖子

0

粉丝