KEIL下完成STM32程序的编写和分析HEX文件
新建工程:
选择设备:
点击CMSIS中的CORE
点击Device中的startup:
在Source Group 1 中新建文件:
把代码写入这个文件中,我的文件名叫SDJK.s:
代码为:
AREA MYDATA, DATA
AREA MYCODE, CODE
ENTRY
EXPORT __main
__main
MOV R0, #10
MOV R1, #11
MOV R2, #12
MOV R3, #13
;LDR R0, =func01
BL func01
;LDR R1, =func02
BL func02
BL func03
LDR LR, =func01
LDR PC, =func03
B .
func01
MOV R5, #05
BX LR
func02
MOV R6, #06
BX LR
func03
MOV R7, #07
MOV R8, #08
BX LR
生成HEX文件:
点击
在output中勾选Create Hex File:
在Debug中勾选Use Simulator,然后修改Dialog和paremeter的内容:
rebuild之后进行调试:
结果如下:
没有得到想要结果,在源文件我的是SDJK.s文件的最后一行加断点。
再编译得到结果:
分析hex文件
在放置keil的文件中找到Objects:
在里面找到hex文件并用记事本打开:
文件格式:
格式:<0x3a>[数据长度1Byte][数据地址2Byte][数据类型1Byte][数据nByte][校验1Byte]<0x0d><0x0a>
记事本中第一行: :020000040800F2
: 对应<0x3a>
02 — 表示数据长度
0000 —表示数据地址
04—表示数据类型
0800—表示数据
F2—表示校验
<0x0d><0x0a>表示的是回车和换行