ARM汇编基础之基于MDK创建纯汇编语言的STM32工程
本文基于
MDK 5.26
软件,在stm32f103
上进行汇编语言的实验测试;
1 新建工程
双击打开MDK5.26
,启动界面如下所示;
点击菜单栏的Project
,如下图所示;
在弹出的窗口点击选项New uVision Project
,创建新的工程;具体如下图所示;
在弹出的窗口分别设置;
- 设置项目工程的路径;
- 设置项目工程的名称,这里使用
TEST
; - 点击保存;
具体如下图所示;
2 配置环境
2.1 选择设备
设置工程的目标环境,本文基于STM32F103ZET6
,因此在弹出的窗口选择相应的选项,点击保存即可;具体如下图所示;
如果无法找到该窗口,可以在工具栏点击魔术棒图标;如下图所示;
或者在菜单栏点击project
,然后选择Options for Target
即可,具体如下图所示;
2.2 选择运行环境
ARM
的CMSIS
已经把开发所需要的软件组件都封装好了,因此直接选择即可;
CMSIS
下选择CORE
;Device
下Startup
,其中包含了启动文件;
具体如下图所示;
2.3 添加源文件
鼠标右键单击Source Group 1
,具体如下图所示;
选择Add New Item to Group
,具体如下图所示;
添加源文件,因为创建汇编项目;
- 选择
Asm File (.s)
,创建汇编文件; - 设置源文件的名称;
- 点击保存;
具体如下图所示;
最后完成如下图所示;
3 测试代码
3.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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
3.2 仿真器设置
设置硬件仿真器为J-LINK
,具体根据自己的实际情况进行选择,如下图所示;
设置仿真器的模式;
- 设置为
JTAG
接口,另外还有SWD
,可以根据自己的实际情况进行选择; - 设置完成,会看到2处有相应的设备信息;
如下图所示;
3.3 编译调试
按照下图所示,编译工程并进入调试模式;
最后可以看到,结果符合预期,寄存器R5
,R6
,R7
,R8
的值和程序设置一致,具体如下图所示;
4 总结
编程的学习需要实践,后面可以配合硬件,把每一条指令过一遍,从而加深理解,基本都是体力活,在这里记录一下。如果对您有所帮助,请帮忙点个赞。
文章来源: great.blog.csdn.net,作者:小麦大叔,版权归原作者所有,如需转载,请联系作者。
原文链接:great.blog.csdn.net/article/details/106481146
- 点赞
- 收藏
- 关注作者
评论(0)