Keil下STM32简单汇编程序的编写

目录

一、环境配置

1.准备工作

2.安装 keil 软件

3.安装stm32 pack

 二、Keil的配置

​三、STM32简单汇编程序的编写

1.创建工程

2.环境配置

3.添加文件

4.汇编程序

5.分析HEX文件

四、总结

五、参考文献


一、环境配置

1.准备工作

到百度网盘提取下载安装mdk5软件和stm32包
链接:https://pan.baidu.com/s/1rtnlvlgeIbxvN70pA7E7Rg 
提取码:c742

2.安装 keil 软件

(1)双击打开mdk_510.exe应用程序文件,点击Next。

Keil下STM32简单汇编程序的编写_第1张图片

 Keil下STM32简单汇编程序的编写_第2张图片

(2)按照图片中的步骤进行,最后点击Next。

Keil下STM32简单汇编程序的编写_第3张图片

(3)选择安装路径,并点击Next。 

Keil下STM32简单汇编程序的编写_第4张图片

(4)填写注册信息后,再点击Next。

 Keil下STM32简单汇编程序的编写_第5张图片

(5)等待安装。

 Keil下STM32简单汇编程序的编写_第6张图片

(6)点击安装。

 Keil下STM32简单汇编程序的编写_第7张图片

 (7)点击Finish。

Keil下STM32简单汇编程序的编写_第8张图片

 (8)点击OK后,鼠标会变成转圈圈的,因为正在进行在线安装各种pack,但会安装失败,不用着急,右上角关掉窗口,下面开始手动安装pack包。

Keil下STM32简单汇编程序的编写_第9张图片

3.安装stm32 pack

(1)双击打开ARM.CMSIS.3.20.4包,出现安装界面后点击Next。

 Keil下STM32简单汇编程序的编写_第10张图片

(2) 点击Finish。

Keil下STM32简单汇编程序的编写_第11张图片

(3)双击打开Keil.STM32F1xx_DFP.1.0.4包,出现安装界面后点击Next。

 Keil下STM32简单汇编程序的编写_第12张图片

 (4) 点击Finish。

Keil下STM32简单汇编程序的编写_第13张图片

(5)当双击2.2.0的STM32 pack时,会出现安装失败,是因为2.2.0版本的pack只支持更高版本的keil软件,如若想安装上这个pack,可以去下载最新的keil,这里我们只做学习用,1.0.4版本的足够了。

Keil下STM32简单汇编程序的编写_第14张图片

 二、Keil的配置

1.点击图片中指示的地方,进入设置界面。

Keil下STM32简单汇编程序的编写_第15张图片

2.将编码形式设置为Chinese GB2312(Simplified),如果不设置,你从其它地方粘贴过来的代码含有中文的话,就会出现乱码,然后将Tab size设置为4。

Keil下STM32简单汇编程序的编写_第16张图片

3.点击Color & Fonts,选中C/C++ Editor files,选中中间窗口内的元素后,可以在右侧修改样式,比如设置字体、大小、颜色、背景,Sample是设置后预览效果。

Keil下STM32简单汇编程序的编写_第17张图片 三、STM32简单汇编程序的编写

1.创建工程

Keil下STM32简单汇编程序的编写_第18张图片

Keil下STM32简单汇编程序的编写_第19张图片

2.环境配置

Keil下STM32简单汇编程序的编写_第20张图片

Keil下STM32简单汇编程序的编写_第21张图片

3.添加文件

Keil下STM32简单汇编程序的编写_第22张图片

Keil下STM32简单汇编程序的编写_第23张图片

4.汇编程序

(1)代码:

Keil下STM32简单汇编程序的编写_第24张图片

 (2)设置仿真器

Keil下STM32简单汇编程序的编写_第25张图片

 Keil下STM32简单汇编程序的编写_第26张图片

(3)编译调试

Keil下STM32简单汇编程序的编写_第27张图片

 Keil下STM32简单汇编程序的编写_第28张图片

5.分析HEX文件

:020000040800F2
:1000000018060020ED000008F5000008F7000008C1
:10001000F9000008FB000008FD00000800000000D7
:10002000000000000000000000000000FF000008C9
:10003000010100080000000003010008050100089C
:100040000701000807010008070100080701000870
:100050000701000807010008070100080701000860
:100060000701000807010008070100080701000850
:100070000701000807010008070100080701000840
:100080000701000807010008070100080701000830
:100090000701000807010008070100080701000820
:1000A0000701000807010008070100080701000810
:1000B0000701000807010008070100080701000800
:1000C00007010008070100080701000807010008F0
:1000D00007010008070100080701000807010008E0
:1000E00007010008070100080701000809488047C8
:1000F00009480047FEE7FEE7FEE7FEE7FEE7FEE70A
:10010000FEE7FEE7FEE7FEE704480549054A064B21
:10011000704700000B0200081503000818000020BB
:100120001806002018020020180200200CB500203C
:10013000019000906C48006840F480306A49086083
:1001400000BF6948006800F4003000900198401C2E
:100150000190009818B90198B0F5A06FF1D16248EC
:10016000006800F4003010B10120009001E0002090
:1001700000900098012843D15C48006840F01000CE
:100180005A4908600846006820F0030008600846E5
:10019000006840F0020008605348406852494860D7
:1001A0000846406848600846406840F480604860FF
:1001B0000846406820F47C1048600846406840F4D7
:1001C000E81048600846006840F08070086000BF92
:1001D0004548006800F000700028F9D042484068A7
:1001E00020F00300404948600846406840F00200A3
:1001F000486000BF3C48406800F00C000828F9D176
:100200000CBD10B5FFF792FF10BD10B53648006861
:1002100040F001003449086008464068344908400D
:100220003149486008460068324908402E49086054
:100230000846006820F4802008600846406820F4E2
:10024000FE0048604FF41F008860FFF7DAFF4FF0B0
:1002500000602949086010BD10B50021002000226F
:10026000214B5B6803F00C0121B1042906D0082959
:1002700028D107E0214B224C236027E01F4B204C64
:10028000236023E0184B5B6803F47010164B5B6827
:1002900003F48032022303EB904022B9194B43430D
:1002A000174C23600DE0104B5B6803F4003323B15F
:1002B000144B4343124C236003E0104B4343104C58
:1002C000236003E00D4B0E4C236000BF00BF064BC4
:1002D0005B68C3F303130C4CE15C094B1B68CB4018
:1002E000074C236010BD00000010024000200240B7
:1002F0000000FFF8FFFFF6FE08ED00E000127A00B4
:100300000000002000093D000400002070477047F5
:10031000704700004FF00A004FF00B014FF00C0245
:100320004FF00D0300F009F800F00AF800F00BF8A8
:10033000DFF81CE0DFF81CF0FEE74FF00505704722
:100340004FF0060670474FF007074FF00808704758
:100350003B0300084703000800A24A040000000015
:0C03600000000000010203040607080969
:04000005080000ED02
:00000001FF

该文件为16进制的一串字符。hex文件的第一排字符称之为扩展线性地址记录,也称为32位地址记录或HEX386记录。在第一行数据020000040800F2中,其实际表达为0x02、0x00、0x00、0x04 、0x08、0x00、0xf2。

1)0x02表示该行数据的长度;

2)两个0x00都表示该行数据的起始地址位;

3)0x04表示数据类型,有0x00、0x01、0x02、0x03、0x04、0x05

      0x00:用来记录数据,HEX文件的大部分记录都是数据记录;
      0x01:用来标识文件结束,放在文件的最后,标识HEX文件的结尾;
      0x02:用来标识扩展段地址的记录;
      0x03:开始段地址记录;
      0x05:开始线性地址记录。

4)0x08和0x00是两个数据;

5)0xf2为校验和。

四、总结

通过本次实验,我学会了Keil的安装及配置,同时我也了解Hex文件格式及其前8个字节内容含义,以及Hex文件的如何生成。

五、参考文献

搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写_镜仔吃柠檬的博客-CSDN博客

ARM开发:使用MDK编译stm32简单程序(闪烁LED)_只喂自己袋盐的博客-CSDN博客_用keil编译器写程序,控制开发板上的ds0,ds1灯亮500ms,熄灭500ms,闪烁。

基于MDK创建纯汇编语言的STM32工程——汇编实现LED闪烁_HarrietLH的博客-CSDN博客_stm32 纯汇编


 

你可能感兴趣的:(stm32,单片机,嵌入式硬件,1024程序员节)