一、在Keil 里面创建新项目
- 点击 Project ——> New uVision Project 创建新项目
- 命名并点击确定
- 选择芯片,然后点击OK
- CMSIS 下选择 CORE;Device 下选择 Startup,选完后点击OK
- 添加源文件,右击 Source Group 1 ,点击 Add New Item to Group ‘Source Group 1’…
- 选择文件类型,点击 Asm Files (.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.程序编译
先进行一些初始设置,点击 Options for Target… 在Output界面下,勾选 Create HEX File,以生成 hex 文件 在 Debug界面下,勾选 Use Simulator,因为在后面我们要进行虚拟调试,后OK 保存设置 点击Rebuild进行编译 编译成功,没有错误
3.程序调试
在此之前,我们需要修改Dialog和右侧Parameter如下图: 然后点击右上角图标进入调试界面 通过调试运行,结果符合预期,寄存器 R5,R6,R7,R8 的值和程序设置一致,具体如下图所示:
三、分析生成的HEX文件
用记事本打开hex文件,是一串十六进制字符
总结
在Keil环境下创建STM32汇编语言工程还是相对简单的,不过在调试的过程中也遇到了一些问题,在Debug 界面下的Dialog 和右侧Parameter 因为开始并没有更改,所以一直存在问题。
参考博客 https://blog.csdn.net/m0_58414679/article/details/120467462utm_source=app&app_version=4.15.0&code=app_1562916241&uLinkId=usr
|