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

本文介绍了如何使用Keil环境进行STM32F103VE系列微控制器的开发,包括环境搭建、工程创建及简单的汇编语言编程示例。通过逐步指导,读者可以学会创建项目、编写基本的汇编代码,并理解Intel HEX文件格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.keil环境搭建

安装教程如下https://blog.youkuaiyun.com/dengjin20104042056/article/details/108057907

二.stm21工程的创建

project->new uVision project

选择支持包STM32F103VE

 

配置环境

 

 如图点击

 

在刚建立的.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

 

 点击如下图标

在弹窗中如下选择

 

 调整debug如下图

rebuild编译

图标如下 

结果如下 

run

 

调试得到的结果为

 

记事本打开hex文件

 

  •   扩展线性地址记录:020000040800F2
    • 扩展线性地址记录(hex 文件的第一排十六进制)也叫作 32 位地址记录或 HEX386 记录
    • 这些记录包含数据地址的高 16 位
    • 扩展线性地址记录总是有两个数据字节,外观如下
    • 当一个扩展线性地址记录被读取,存储于数据域的扩展线性地址被保存,它被应用于从 Intel HEX 文件读取来的随后的记录
    • 线性地址保持有效,直到它被另外一个扩展地址记录所改变
    • 通过把记录当中的地址域与被移位的来自扩展线性地址记录的地址数据相加获得数据记录的绝对存储器地址
  • 内容分析:数据记录
    • Intel HEX文件由任意数量以回车换行符结束的数据记录组成,比如第一行数据记录:
      • 1000000000040020ED000008F5000008F7000008DB
  • 内容分析:文件尾
    • 在文件的最后一排,是一个文件的结束标志(END OF FILE RECORD)::00000001FF
      • 00000001FF

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值