目录
一、创建新项目
二、编写汇编语言、编译
三、调试分析
四、总结
五、参考文献
打开keil,点击project->New μVision Project创建一个新项目
命名文件后保存,
选择STMicroelectronics->STM32F1 Series->STM32F103->STM32F103C8(其他型号同理)
勾选CMSIS中的CORE和Device中的Starup,其中CMSIS中的CORE为Cortex-M处理器核和外设定义应用程序接口API(Application Programming Interface),也包括一致的系统启动代码。Device中的Starup则是包含了启动文件。
右键点击Source Group 1,选择Add New Item to 'Source Group 1'
选择Asm File(.s),创建一个汇编语言文件,输入文件名,点击add
创建成功后如下图所示
首先点击这个图标
首先在output中勾选create HEX File,只有勾选了这个选项之后才能生成.HEX文件
然后在Debug中选择Use Simulator使用仿真器进行仿真实验
完成上述操作后,在代码框输入以下代码
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
点击rebuild进行编译
编译成功,如下图
首先在option for target中修改某些参数
修改debug中Dialog和右侧的Paramete,改为下图所示
调试运行,得到以下结果
运行结果寄存器 R5
,R6
,R7
,R8
的值和程序设置一致
在过程中遇到不少问题,例如寄存器的数据与程序不一致,是因为设置出现问题而导致的,keil环境在某些情况下自动配置还是有一些问题,要注意检查
https://blog.csdn.net/m0_58414679/article/details/120467462?utm_source=app&app_version=4.15.0&code=app_1562916241&uLinkId=usr1mkqgl919blen
https://blog.csdn.net/ChenGuiGan/article/details/80223687