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>表示的是回车和换行
|