前言
MDK(Microcontroller Development Kit),也称MDK-ARM、KEIL MDK、RealView MDK、KEIL For ARM,都是同一个东西。ARM公司现在统一使用MDK-ARM的称呼,MDK的设备数据库中有很多厂商的芯片,是专为微控制器开发的工具,为满足基于MCU进行嵌入式软件开发的工程师需求而设计,支持ARM7,ARM9,Cortex-M4/M3/M1,Cortex-R0/R3/R4等ARM微控制器内核。(ps:下面运用的芯片stm32f103c8t6便是属于Cortex-M)
一、先在keil上创建一个工程
1.点击project,选择New uVision 2.输入文件名 3.选择stm32f103Rc 4.配置环境
二、往工程中添加.s文件
1.添加文件
2.文件里写入代码
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
三、调试
1.设置 点击生成HEX文件 选择debug并修改参数 正确配置应该为dialog dll:DARMSTM.dll parameter:-pSTM32F103C8 2.开始调试 设置断点 调试结果
四、观察
生成hex文件大小 文件内容 如图,其中第一行 :020000040800F2 中,可以看做是0x02 0x00 0x00 0x04 0x08 0x00 0xf2
第一个0×02表示该行数据中有两个数据
第二个,第三个0x00 0x00表示本行数据的起始地址位
第四个字节 0x04 表示扩展线性地址记录
第五个、第六个 0x08 0x00表示数据字节
最后一个字节0xf2为校验和。校验和= 0x100 - 累加和 ———————————————— 版权声明:本文为CSDN博主「在下摸鱼怪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接: https://blog.csdn.net/xwmrqqq/article/details/111824539
五、总结
熟悉了一下mdk5的编译环境,可惜没有硬件的仿真,只熟悉了一下软件仿真。观察了hex文件的一些内容。文章可能有争议的部分,希望能多交流,以便改正。
|