基于MDK创建纯汇编语言的STM32工程——汇编实现LED闪烁

STM32汇编工程创建与LED闪烁实现
本文介绍了基于STM32创建汇编工程的详细步骤,包括创建新工程、添加文件、编写汇编程序等。还分析了编译生成的Hex文件内容,最后尝试用汇编实现LED闪烁,但未成功。作者表示对汇编理解和编程能力有待提升,需进一步学习。

一、创建一个新工程

1.创建工程
①点击Project,选择New uvison Project
在这里插入图片描述
②选择文件保存的路径以及文件的名称
2.环境配置
①选择对应的芯片,本文章采用的STM32F103RC
在这里插入图片描述
②运行环境选择,主要是CMSIS下选择CORE;Device下Startup,其中包含了启动文件
在这里插入图片描述
自此,一个工程的建立就算完成了。

二、添加文件

1.鼠标右键单击Source Group 1,选择Add New Item to Group
在这里插入图片描述
2.选择 Asm File (.s) ,设置源文件的名称,点击Add
在这里插入图片描述
自此,添加文件的过程就完成了,就可以开始编写汇编程序。

三、汇编程序

代码

 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


选择仿真器
设置硬件仿真器为ST_Link(根据自己的实际情况进行选择),仿真器的模式设置为JTAG接口或者SW(根据自己的实际情况进行选择)。设置完成,连接相应的仿真器会有对应信息显示。
仿真调试(断点设置是在代码行前点击,出现红点,即表明断点设置成功)
在这里插入图片描述
调试效果
在这里插入图片描述
最终结果可以看出寄存器的值与设置的值一致。

四、分析编译生成的Hex文件

1.最终生成程序的各部分的大小
在这里插入图片描述
2.分析Hex文件第一行内容
在这里插入图片描述
第一行内容分别是0x02,0x00,0x00,0x04,0x08,0x00,0xF2。

  • 0x02
    该行数据中有两个数据
  • 0x00 0x00
    本行数据的起始地址位
  • 0x04
    用来标识扩展线性地址的记录
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值