基于stm32f103的汇编语言工程仿真及分析
2021/9/28 14:11:17
本文主要是介绍基于stm32f103的汇编语言工程仿真及分析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
一、创建新项目
二、编写汇编语言、编译
三、调试分析
四、总结
五、参考文献
一、创建新项目
打开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
这篇关于基于stm32f103的汇编语言工程仿真及分析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-24手把手教你使用MDK仿真调试
- 2024-01-10基于“小数据”的机器学习
- 2024-01-08扩展卡尔曼滤波:提高机器学习性能的利器
- 2023-12-26各种二端口滤波器网络仿真遇到的问题
- 2023-12-14机器学习-搜索技术:从技术发展到应用实战的全面指南
- 2023-12-12机器学习 - 决策树:技术全解与案例实战
- 2023-12-05机器学习-学习率:从理论到实战,探索学习率的调整策略
- 2023-12-04解锁机器学习-梯度下降:从技术到实战的全面指南
- 2023-11-30回归算法全解析!一文读懂机器学习中的回归模型
- 2023-11-30机器学习 - 似然函数:概念、应用与代码实例