大佬教程收集整理的这篇文章主要介绍了嵌入式学习入门(一)-----基于 MDK 创建 STM32 汇编语言工程并分析 HEX 文件内容,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
3.取一个合适的项目名字
5.在创建好的项目之中要勾选上CORE以及STARTup
1.输入以下代码于你刚刚创建的文件之中
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文件它是由一行行符合Intel HEX 文件格式的文本所构成的ASCII 文本文件。每一行包含一 个 HEX 记录 ,由对应机器语言码和/或常量数据的十六进制编码数字组成。Hex文件通常用于传输将被存于ROM 或者EPROM 中的程序和数 据。大多数EPROM 编程器或模拟器使用Intel HEX 文件。Hex文件是可以烧写到单片机中,被单片机执行的一种文件格式,生成Hex文件的方式由很多种,可以通过不同的编译器将C程序或者汇编程序编译生成hex。
对于我们的hex文件可以得知如图,
其中第一行 :020000040800F2 中,可以看做是0x02 0x00 0x00 0x04 0x08 0x00 0xf2
第一个0×02表示该行数据中有两个数据
第二个,第三个0x00 0x00表示本行数据的起始地址位
第四个字节 0x04 表示扩展线性地址记录,对应上述的TT域
第五个、第六个 0x08 0x00表示数据字节,与数据长度域(LL)中对应,即第一个 0x02
最后一个字节0xf2为校验和。校验和= 0x100 - 累加和
以上是大佬教程为你收集整理的嵌入式学习入门(一)-----基于 MDK 创建 STM32 汇编语言工程并分析 HEX 文件内容全部内容,希望文章能够帮你解决嵌入式学习入门(一)-----基于 MDK 创建 STM32 汇编语言工程并分析 HEX 文件内容所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。