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博客
????????????????
|