关注分享主机优惠活动
国内外VPS云服务器

基于MDK创建STM32汇编语言项目——计算机实验1(9527)(keil5mdk新建stm32项目)

摘要:设置以下内容并配置支持的软件和硬件模拟。 如有错误请指正。 参考资料基于汇编语言项目的创建和分析

文章 1 新建项目 2 配置环境 3 测试代码 4 生成的 HEX 文件分析 5 概述 6 参考资料

1 新建工程

1. 设置工程路径 2. 先设置名称 3. 保存

2 设置环境

Project STM32F103ZE 设置目标环境: 保存并选择您的执行环境,如下所示: 1. 在 CMSIS 中选择 CORE。 2. 选择“设备”下的“启动”。 添加源文件并选择 Asm 文件 (.s)。 如下所示设置源文件名并保存。 添加源代码。

3. 测试代码

模拟器在“调试”选项卡中配置。 要使用软件模拟,请选择使用模拟器。 选择Run to main()可以跳过汇编代码,直接跳转到main函数开始仿真。 将以下“Dialog DLL”项设置为“DARMSTM.DLL”和“TARMSTM.DLL”。 参数项为“-pSTM32F103C8”,用于配置软件和硬件仿真以支持STM32F103C8。 如下:编译和调试结果符合预期,寄存器R5、R6、R7、R8的值与程序设置相符。

4 分析生成的文件。 HEX 文件

在记事本中打开 hex 文件。 是 十六进制字符串 1. 扩展线性地址记录(十六进制文件的前 16 个级数)也称为 32 位地址记录或 HEX386 记录。 这些记录包含数据地址的高 16 位。 总的扩展线性地址记录有两个数据字节,如下所示:读取扩展线性地址记录,保存数据字段中存储的扩展线性地址并将其应用于从 Intel HEX 文件读取的后续记录。 线性地址保持有效,直到被另一个扩展线性地址记录更改为止。 数据记录的绝对内存地址是通过将记录中的地址字段与从扩展线性地址记录移出的地址数据相加而获得的。 2. 数据部分 Intel HEX 由任意数量的十六进制记录组成。 每条记录包含五个字段,以特定格式排列::llaaaatt[dd...]cc 每组字符对应不同的字段,每个字符对应于十六进制编码的数值。 每个字段至少由两个字段组成。 该字段由形成字节的十六进制编码数字组成,如下所述。 3. 文件结尾是文件的最后一行,标志着文件的结束。

5 概述

主要内容 软件安装之初,到正式实验时,stm工作环境的安装尚未完成。 经过老师的警告后,正常的实验开始了。 在实验过程中,我还有很多不明白的地方。 我编译了几次,并与实验进行了比较。 结果不一致。 问题出在模拟器的配置模式上。 在他的指导下,我终于完成了这个实验。 虽然过程很艰难,但成功的喜悦是值得的,而且我也了解到学习编程需要练习。 如有错误请指正。

6 参考文献

基于MDK创建STM32汇编语言项目并解析HEX

未经允许不得转载:主机频道 » 基于MDK创建STM32汇编语言项目——计算机实验1(9527)(keil5mdk新建stm32项目)

评论 抢沙发

评论前必须登录!