ARM汇编程序调试
一、任务内容
搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写。
1)记录build生成的 hex文件各段的大小,了解Hex文件格式及其前8个字节内容含义;
2)学习在没有硬件条件下进行仿真调试的方法,观察ARM寄存器变化状况。
二、任务过程
1.安装Keil5
到官网点击下载可执行文件MDK536.EXE
安装好keil
然后打开keil,选择此项
复制CID
下载好注册机,并打开
(注册机链接: https://pan.baidu.com/s/1Tvv8V5ExPS_txlHhViLa3g
提取码: 7nti)
将CID复制上去,并在Target处选择ARM,点击Generate
复制生成的LIC,然后返回keil,并把LIC复制上去。
显示这个代表成功了。
2.下载芯片包
点击此处
左边选择自己需要的芯片包,右边点击install,即可开始下载
下载完成后即可在创建项目时看见芯片选项
3.新建项目
创建新项目
选择需要的芯片,我选择的是STM32F103VE
ARM 的 CMSIS 已经把开发所需要的软件组件都封装好了,因此直接选择即可—— CMSIS 下选择 CORE;Device 下 Startup
右键点击项目,选择此项点击Asm File
结构如下:
4.添加源文件
在text.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
点击 此处在 Output 界面下,勾选 Create HEX File ,才能生成 hex 文件
在“Debug”选项卡中选择“Use Simulator”,表示使用软件仿真;选择“Run to main()”则表示跳过汇编代码,直接跳转到main函数开始仿真。设置下面的“Dialog DLL”项为“DARMSTM.DLL”和“TARMSTM.DLL”;parameter项为“-pSTM32F103VE”,用于设置支持STM32F103VE的软硬件仿真。
5.程序测试
点击此处进行编译
点击此处进行仿真调试
结果符合预期,测试