ARM汇编程序调试 |
您所在的位置:网站首页 › keil4汇编不用启动代码 › ARM汇编程序调试 |
搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写 一、新建项目 二、代码编写及配置 1. 代码 2. 配置环境 三、编译调试 四、了解Hex文件 1.打开.hex文件 2. 解释含义 小小的总结 参考文献 一、新建项目 按以下步骤新建项目即可: project——New 保存位置及项目名称 选择芯片
按以下勾选即可 添加源文件
二、代码编写及配置 1. 代码 处于源文件中 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 LR2. 配置环境 为防止动态debug无法进入汇编程序 ①点击魔法棒 ②在“Debug”选项卡中选择“Use Simulator”,表示使用软件仿真; 选择“Run to main()”则表示跳过汇编代码,直接跳转到main函数开始仿真; 设置下面的“Dialog DLL”项为“DARMSTM.DLL”; parameter项为“-pSTM32F103C8”,用于设置支持STM32F103C8的软硬件仿真。 若要输出hex文件,即按下图勾选:Output——Create HEX File 三、编译调试 编译——仿真调试 run 观察结果:与代码设置的一致 四、了解Hex文件 了解Hex文件格式及其前8个字节内容含义 1.打开.hex文件 在对应目录下找到.hex文件,用记事本打开,即为以下图片的显示 2. 解释含义 ①具体释义举例: 第一行的:020000040800F2,可以看作是 0x02,0x00,0x00,0x04,0x08,0x00,0xF2。 0x02:该行数据中有两个数据 0x00 0x00:本行数据的起始地址位 0x04:用来标识扩展线性地址的记录 该字节还可以是其他值,下面是其他值的含义 00:用来记录数据,HEX文件的大部分记录都是数据记录 01:用来标识文件结束,放在文件的最后,标识HEX文件的结尾 02:用来标识扩展段地址的记录 03:开始段地址记录 05:开始线性地址记录 0x08 0x00:该行两个字节的数据 数据类型是 04 ,即该行记录的是一个拓展地址(0x08 0x00 是地址信息,用法是将该地址(0x0800 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |