摘要:创建汇编程序,编译并调试该程序。 您可以右键单击编译器程序或单击标有红色框的魔棒并选中下面的框来创建文件或观看它生成。 我们这里只使用软件模拟,所以请检查文件内容。 修改 和 项目以配置支持的软件和硬件仿真。
文章目录 1.下载并安装KEIL 1.1 下载mdk531 1.2 安装mdk531 2 创建基于STM32的汇编程序 2.1 在Keil中创建新工程 2.2 添加源文件 2.3 编译和调试程序 2.4 HEX 文件分析 3 概述 4 参考资料
1、下载安装 KEIL 1.1 下载 mdk531
链接:https://pan.baidu.com/s/1uiPGz_5Gorv0wOsAGUQsvg 提取码:3an4
1.2安装mdk531
解压压缩包并以管理员身份运行mdk531.exe
点击下一步
审核同意后,点击下一步
设置安装目录为选择后点击下一步
文件安装STM32库
安装完成后,激活,并以管理员身份运行Keil uVision5(注意一定要以管理员身份运行,否则无法激活),然后点击File下的Licenses管理。
将显示以下界面。 复制红框中的CID代码。
注册机压缩包解压后,双击打开。
第一步是Ta获取并选择 ARM。 第二步是将您在许可证管理中复制的 CID 代码粘贴到注册机器上的 CID 框中。 第三步,点击生成。 第四步,将框中出现的code代码复制到License Management窗口中的New License中。 选择您的 ID 代码并单击“添加 LIC”以使其有效期至 2032 年。
2 创建基于STM32的汇编程序 2.1 在Keil中创建一个新项目
点击Projects—>New uVision Project 创建一个新项目为此,我们建议您选择保存路径,最后为每个项目创建一个新文件夹,命名文件并单击“保存”。
请在以下界面中选择对应的芯片。
点击“确定”,会自动弹出如下窗口。 只需检查CMSIS中的CORE和设备中的Startup
2.2添加源文件
在新创建的项目中找到源右键单击Group 1,然后选择Click Add New Item to Group Source Group 1…
由于是汇编文件,所以选择以.s结尾的Asm文件并输入文件名。 只需单击“添加”即可。
创建汇编程序
AREA MYDATA, DATA AREA MYCODE, CODEENTRYEXPORT __main__mainMOV R0, #10MOV R1, #11MOV R2, #12MOV R3, #13;LDR R0 , =func01BLfunc01;LDR R1, =func02BLfunc02BL func03LDR LR, =func01LDR PC, =func03B .func01MOV R5, #05BX LRfunc02MOV R6, #06BX LRfunc03MOV R7, #07MOV R8, #08BX LREND 2.3 编译和调试程序
使用 Ctrl+F7 编译程序
右键单击项目,选择目标选项“Target1” “ 点击。 或者点击魔棒上的小红框标记。
选中“输出”下的“创建 HEX 文件”以创建 HEX 文件。
单击F7 或Build 查看生成的hex 文件。
在“调试”下,选择“使用模拟器”(因为我们只使用软件模拟),然后选择“运行到 main()”。 将对话框 DLL 条目更改为 DARMSTM.DLL 和 TARMSTM.DLL。 参数项为-pSTM32F103C8,用于设置软硬件仿真以支持STM32F103C8。
单击“开始/停止调试会话”开始调试。
在调试界面设置断点,进行动态调试。 在 MOV R3, #13 上设置断点。
单击“运行”(F5) 运行。 可以看到R0、R1、R2都变了,但是R3还是0。
如果取消断点,你会看到R0-R3和R5-R8发生了变化。 全部更改
2.4 分析HEX文件
打开生成的HEX文件
:020000040800F2
第一个字节0x02表示该行数据的长度。 第二、第三字节 0x00 0x00 表示该行数据的起始地址。 第四个字节0x04表示数据类型。 数据类型为 0x00、0x01、0x02、0x03、0x04、0x05。 接下来是数据字节 0x08 和 0x00,最后一个字节 0xF2 是校验和。
数据类型为:00:Data Rrecord 用于记录数据。 HEX 文件中的大部分记录都是数据记录。 01:文件结束记录用于标识文件的结束。 HEX 放置在文件末尾以标识文件的结尾。 02:用于扩展段地址记录。 标识扩展段地址的记录 03:起始段地址记录 起始段地址记录 04:扩展线性地址记录 用于标识扩展线性地址的记录 05:起始线性地址记录 起始线性地址记录
3 概述 本文描述了使用 keil 进行的软件模拟。 由于是一个简单的过程,所以你会遇到很多问题,但幸运的是都顺利解决了。 如果有不完美的地方,还请指出!
4 参考文献
https://blog.csdn.net/qq_45237293/article/details/111825193?spm=1001.2014.3001.5501 https://blog.csdn.net/qlexcel/article/details/5494909
评论前必须登录!
注册