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

目录

一、keil环境搭建

keil安装

注册

支持包安装

二、stm32汇编程序编写

(一)新建工程

(二)配置环境

 (三)编译调试

三、HEX文件分析

总结

参考链接

一、keil环境搭建

百度网盘分享下载

mdk531安装

链接:https://pan.baidu.com/s/1ttrDhv6kXgAvPiYINf9iGw
提取码:1234

注册器

链接:https://pan.baidu.com/s/1T11pBKpD6xc-cNmXBskcaw
提取码:1234

支持包

链接:https://pan.baidu.com/s/1a7UDSVeLC4ktHNN9lV9oIA
提取码:1234

keil安装

通过以上链接下载mdk和注册器,点击安装mdk,根据提示自行更改软件路径和支持包路径,填写完注册信息后NEXT,等待安装。安装完成,点击Finish。

注册

1.点击运行注册器程序。

2.在桌面找到keil软件图标,点击右键,以管理员身份运行。

3.点击File–>Lincense Management–>Single-User Lincense,找到CID,复制CID中的内容填写到注册器的CID空白处,将注册器中Target选择为ARM,点击Generate,得到注册码。

4.将生成的注册码复制粘贴到Keil的New Lincense ID Code空白处,点击Add LIC,点击Close。

支持包安装

点击运行下载的支持包,NEXT开始安装,安装完成,点击Finish。

二、stm32汇编程序编写

(一)新建工程

双击打开keil,点击菜单栏Project–>New μVision Project,新建项目,在弹窗中设置工程项目的名称和路径,在这里,我新建名为test的工程文件。

(二)配置环境

①选择设备

点击菜单中的Project,找到Options for Target ‘Target 1’并点击,在弹窗中选择相应的目标环境,此处我选的是STM32F103C8

②选择运行环境 

③添加源文件 

右键单击Source Group 1,选择Add New Item to Group,添加Asm File (.s)文件,命名为TEST并保存。

为其添加如下代码

 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


④设置仿真器模式

点击菜单中的Project,找到Options for Target ‘Target 1’并点击(点击flash下configure flash tools...按钮也可以),选择Debug–>Use Simulator,将Dialog DLL以及Parameter处修改为自己选择的设备,OK。

 

 

 

 (三)编译调试

run

 可以看见寄存器的值和程序设置一样。

三、HEX文件分析

 

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

  1. 第一个字节 0x02表示本行数据的长度;

  2. 第二、三字节 0x00 0x00表示本行数据的起始地址;

  3. 第四字节 0x04表示数据类型,数据类型有:0x00、0x01、0x02、0x03、0x04、0x05

  4. 然后是数据,0x08 0x00

  5. 最后一个字节 0xf2为校验和。

总结

本次操作熟悉了keil5开发环境,编写stm32汇编程序,了解了hex文件内容和debug调试参数。

参考链接

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

 STM32-仿真调试时的SystemInit死循环_@liyanglong的博客-CSDN博客

keil5安装教程_Matcha_ice_cream的博客-CSDN博客_keil5

STM 32汇编语言的学习_小菜鸟在此的博客-CSDN博客_stm32 汇编语言

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值