一、keil环境搭建
通过qq群内破解版压缩包进行keil的安装和环境搭建,在此就不做过多赘述
二、steam32程序
1.新建工程
打开keil,在菜单栏找到project->new μVision project,新建项目,然后设置项目的名称和路径
2.配置环境
选择运行设备
在菜单中找到project,找到options for Target ‘Target 1’,然后选择需要运行的设备环境
配置运行环境
添加项目文件
找到左侧的source group1,选择添加新项目,之后选择.s文件,命名保存
后为其添加代码并编译
调试
还是在菜单栏找到debug点击(在此之前已经编译)
再此我们看到R5,R6,R7,R8的值和程序设置的一致
三、分析HEX文件
导出hex文件,此文件为16进制的一串字符。hex文件的第一排字符称为扩展线性地址记录,也称为32位地址记录或者HEX386记录。
在第一行数据020000040800F2中,其实际表达为0x02 0x00 0x00 0x04 0x08 0x00 0xf2。具体含义为
1.第一个字节 0x02表示本行数据的长度;
2.第二、三字节 0x00 0x00表示本行数据的起始地址;
3.第四字节 0x04表示数据类型,数据类型有:0x00、0x01、0x02、0x03、0x04、0x05
‘00’ Data Rrecord:用来记录数据,HEX文件的大部分记录都是数据记录
‘01’ End of File Record: 用来标识文件结束,放在文件的最后,标识HEX文件的结尾
‘02’ Extended Segment Address Record: 用来标识扩展段地址的记录
‘03’ Start Segment Address Record:开始段地址记录
‘04’ Extended Linear Address Record: 用来标识扩展线性地址的记录
‘05’ Start Linear Address Record:开始线性地址记录
4.然后是数据,0x08 0x00
5.最后一个字节 0xf2为校验和。
四、总结
通过这次实验,我了解到了HEX文件内容并了解到了关于仿真器和keil方面的相关知识。
五、参考链接
https://blog.csdn.net/qq_45659777/article/details/120496577