ARM汇编程序调试

本文详细介绍了如何使用MDK创建一个STM32F103C8的项目,包括设置项目名称、选择芯片、添加源文件、编写并调试汇编代码。通过设置硬件仿真器为J-LINK,进行软件仿真调试,并最终生成HEX文件。调试成功后,HEX文件的格式和记录类型也进行了说明。
摘要由CSDN通过智能技术生成

创建并运行项目

打开MDk后选择project->New uVision Project
在这里插入图片描述
设置好项目名称和存储位置,然后选择芯片,本人选择的是STM32F103C8
在这里插入图片描述
选择运行环境后点击ok
在这里插入图片描述
添加源文件:鼠标右键单击Source Group 1,选择Add New Item to Group:
在这里插入图片描述
设置好文件类型,名称和路径后点击add:
在这里插入图片描述
在这里插入图片描述

测试代码

在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


设置硬件仿真器为J-LINK
在这里插入图片描述
在debug中勾选use simulator,并选择J-link/J-TRACE Cortex,在output中勾选create HEX file
在这里插入图片描述
点击build,再进行仿真调试,出现下列画面则表示调试成功
在这里插入图片描述

hex文件格式记录

生成的hex文件如图:
在这里插入图片描述
hex 文件记录格式如下:

:AABBBBCCDD…DDEE

: 表示行起始标志 AA:表示本条记录中的数据字节数
BBBB:本条记录中的数据在存储区中的起始地址
CC:记录类型,含义如下:

  • ‘00’ Data Record

  • ‘01’ End of File Record

  • ‘02’ Extended Segment Address Record

  • ‘03’ Start Segment Address Record

  • ‘04’ Extended Linear Address Record

  • ‘05’ Start Linear Address Record
    DD…DD:表示数据字节
    EE:表示校验和,具体算法为 0x100-((0xAA+0xBB+0xBB+0xCC+0xDD+…+0xDD)%256)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值