搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写。

[TOC]

 

# 一、创建一个新工程

1.点击project,选择new uvison project

2.选择对应的芯片,搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写。

 

 

3.进行环境设置,CMSIS下选择CORE;Device下Startup

# 二、添加文件

1.左侧project下单击Source Group 1,选择Add New Item to Group

搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写。

 

2.选择 Asm File (.s) ,设置源文件的名称,点击Add

# 三、汇编程序

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 LR

2.修改设置

点击options for target,点击output,勾选create HEX file

搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写。

 

搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写。

 

点击debug,勾选use simulator,run to main(),

搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写。

 

修改下面数据以便运行

搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写。

 

3.点击Rebuild进行编译,无错

搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写。

 

4.程序调试

点击start/stop debug session,运行结果

搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写。

 

# 三、分析生成的HEX文件

1.分析Hex文件第一行内容

搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写。

 

第一行内容分别是0x02,0x00,0x00,0x04,0x08,0x00,0xF2

0×02表示该行数据中有两个数据

0x00 0x00表示本行数据的起始地址位

0x04 表示扩展线性地址记录,对应上述的TT域

0x08 0x00表示数据字节,与**数据长度域(LL)**中对应,即第一个 0x02

0xf2为校验和。

校验和= 0x100 - 累加和

2.文件尾
在文件的最后一排,是一个文件的结束标志:00000001FF

# 四、总结

才开始接触keil uVision5,在安装破解软件上就花费了大量时间和精力。且在创建STM32汇编中也遇到一些难题并在最后解决了。在以后的学习中还需要花费更多的时间精力认真完成。

上一篇:单片机:分别控制两个LED灯不同时长亮


下一篇:栈溢出——邻接变量