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

一、搭建并配置Keil嵌入式开发环境

(一) Keil MDK-ARM下载

官网下载地址https://www.keil.com/download/product/

(二) Keil MDK-ARM安装

1.双击安装包,点击Next。
在这里插入图片描述
2.勾选同意协议,点击Next。
在这里插入图片描述
3.选择软件安装路径和支持包安装路径,点击Next。
在这里插入图片描述
4.填写基本信息,点击Next。在这里插入图片描述
5.安装中···
在这里插入图片描述
6.过程中弹出窗口,点击安装。
在这里插入图片描述
7.点击Finish,完成安装。
在这里插入图片描述

(三) Keil MDK-ARM注册

1.以管理员身份打开Keil,点击(File->License Management),复制CID。
在这里插入图片描述
2.打开注册机获取注册码,将注册码添加到注册窗口中。
在这里插入图片描述

二、基于STM32汇编程序的编写

(一)新建工程

1.点击Project->New uVision Project。
在这里插入图片描述
文件命名并保存。
在这里插入图片描述
2.选择仿真芯片。
在这里插入图片描述
3.CMSIS下选择CORE,Device下Startup(其中包含了启动文件)打勾,点击OK。
在这里插入图片描述

(二)添加源文件

1.右击Source Group 1,点击Add New Item to Group‘Source Group 1’···
在这里插入图片描述
2.选择文件类型,点击Asm Files(.s)添加汇编文件,输入文件名,点击Add。
在这里插入图片描述
3.点击Source Group 1左边的加号,看到test.s,添加成功。
在这里插入图片描述

(三)代码编写与调试

1.代码编写
在test.s中添加以下代码:

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,才生成hex文件。
在这里插入图片描述
在这里插入图片描述
在Debug界面,勾选Use Simulator,点击OK保存。
在这里插入图片描述
点击Rebuild编译。
在这里插入图片描述
编译成功。
在这里插入图片描述
3.程序调试
设置下面的“Dialog DLL”项为“DARMSTM.DLL”和“TARMSTM.DLL”;parameter项为“-pSTM32F103C8”,用于设置支持STM32F103C8的软硬件仿真。
在这里插入图片描述
点击图标进入调试。
在这里插入图片描述
点击Run运行程序。
在这里插入图片描述
结果如图。
在这里插入图片描述

(四)分析生成的HEX文件

找到生成的HEX文件。
在这里插入图片描述
打开如下:
在这里插入图片描述
1.扩展线性地址记录
:020000040800F2 hex文件的第一排十六进制,也叫作 32 位地址记录或 HEX386 记录。这些记录包含数据地址的高16位。扩展线性地址记录总是有两个数据字节。
2.数据部分
Intel HEX 由任意数量的十六进制记录组成。每个记录包含 5 个域,它们按一定格式排列,:llaaaatt[dd…]cc。每一组字母对应一个不同的域,每一个字母对应一个十六进制编码的数字。每一个域由至少两个十六进制编码数字组成,它们构成一个字节。
3.文件尾
:00000001FF 在文件的最后一排,是一个文件的结束标志。

三、总结

搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写。实验难度不大,调试过程中还是遇到一些小问题,最后多方面查询并解决了问题。
参考文献
https://blog.csdn.net/m0_58414679/article/details/120467462
https://blog.csdn.net/qq_43279579/article/details/108880667

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值