一、新建工程
1、打开keil软件新建一个工程,选择project—>New uVision Project?:

?2、选择存储路径,并给工程命名,最后点击保存
?
?二、配置环境
1、设置工程的目标环境,本文基于STM32F103VE,因此在弹出的窗口选择相应的选项,点击ok即可;具体如下图所示;

?2、在CMSIS?下选择?CORE;Device?下?Startup(其中包含了启动文件),选完后点击OK

?3、添加源文件右击?Source Group 1?,点击?Add New Item to Group 'Source Group 1'...
?
4、选择?Asm File (.s)?,创建汇编文件;设置源文件的名称;点击add;?
?
三、程序编译
1、在?Test.s中添加如下的汇编代码
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
2、仿真器设置先点击下图红圈的图标?

3、在Output界面下,勾选?Create HEX File,才能生成 hex 文件?

?4、在?Debug界面下,勾选?Use Simulator,因为在后面我们要进行虚拟调试,后OK?保存设置?

5、Debug界面下修改Dialog和右侧Parameter如下图
?
6、点击Rebuild进行编译
?
7、编译成功,没有错误?

?8、再次调试运行,结果符合预期,寄存器?R5,R6,R7,R8?的值和程序设置一致,具体如下图所示:
?
?
?四、总结
虽然Keil环境下创建STM32汇编语言工程是相对简单的,在调试的过程中依然会遇到一些问题,通过不断的查阅资料和询问同学,最终问题还是得到了解决。
五、参考文献
Keil环境下创建STM32汇编语言工程并分析HEX文件内容_m0_58414679的博客-CSDN博客
|