目录
1.新建工程
打开uvision,点击project,找到并点击New uvision project
设置项目工程名并保存,我这使用TEST
2.配置环境
(1)设置工程的目标环境
如下图
点击OK即可。(记住选择的芯片,设置仿真器时会用)
(2)设置运行环境
CMSIS下选择CORE;Device下Startup
(3)添加文件
鼠标右键单击Source Group 1,选择Add New Item to Group
选择 Asm File (.s) ,设置源文件的名称,点击Add
3.代码
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
4.仿真器设置
点击魔法棒,选择debug,并照图中设置,在“Debug”选项卡中选择“Use Simulator”,表示使用软件仿真;选择“Run to main()”则表示跳过汇编代码,直接跳转到main函数开始仿真。设置下面的“Dialog DLL”项为“DARMSTM.DLL”和“TARMSTM.DLL”,parameter项为自己前面选择的芯片。
5.调试
如下图,编译工程并进入调试模式
可以看到,结果符合预期,寄存器的值和程序设置一致
6.总结
本次实验是在软件上进行的仿真,对汇编语言有了初步的了解,但无法完全理解所有代码,而且也不能很好的写一段,还需要多加学习,加深对代码的理解。
7.参考资料
ARM汇编基础之基于MDK创建纯汇编语言的STM32工程_GREYWALL-CSDN博客