MDK基于STM32汇编程序并编写软件程序

目录

一,项目

二,分析hex文件

 三,总结


 

一,项目

点击project-new uVision Project,然后输入文件名

MDK基于STM32汇编程序并编写软件程序

MDK基于STM32汇编程序并编写软件程序

选择stm版本

MDK基于STM32汇编程序并编写软件程序

然后点击ok,之后在CMSIS下的CORE和Device下的Startup ,在后面打钩

MDK基于STM32汇编程序并编写软件程序

点击确定,然后点击魔法棒,然后点击output,勾选下方的Create HEX,再点击Debug

MDK基于STM32汇编程序并编写软件程序

点击USe simulator,修改dialog为DARMSTM.DLL,parameter改为-pSTM32F103RC

然后就是进行调试,不过得先build一下,才能进行仿真调试,旁边的那个带红色d的按钮就是仿真调试

MDK基于STM32汇编程序并编写软件程序

 第二个就是build

进入仿真调试界面后,可以点run直接运行,也可以一步一步的调试,由于这个程序到后面是一个死循环,不设置断点也是可以的,然后点一下run旁边的叉就可以得到结果了,而寄存器里的内容也与我们所写的代码能对上

MDK基于STM32汇编程序并编写软件程序

二,分析hex文件

在keil目录下的object文件下

MDK基于STM32汇编程序并编写软件程序

用记事本方式打开,内容如下

MDK基于STM32汇编程序并编写软件程序

如图,第一行的:020000040800F2中,可以看作是0x02 0x00 0x00 0x04 0x08 0x00 0xf2
第一个 0x02 为数据长度。
紧跟着后面的0x00 0x00 为地址。
再后面的0x04为数据类型,类型共分以下几类:
‘00’ Data Record//数据记录
‘01’ End of File Record//文件结束记录
‘02’ Extended Segment Address Record//扩展段地址记录
‘03’ Start Segment Address Record//开始段地址记录
‘04’ Extended Linear Address Record//扩展线性地址记录
‘05’ Start Linear Address Record//开始线性地址记录
然后,接着0x04后面的两个 0x08 0x00就是数据。
最后一个0xF2是校验码,效验码=0x100-累加和。

 三,总结

第一次使用keil,遇见了许多问题,比如dll因为版本不同需要自己手动去修改一下,和版本过期问题,这些都是遇到的问题,有待改进

 

 

上一篇:C#作业-第二题


下一篇:Day 16 算法笔记之算法初步4.1 排序(3)