ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

基于MDK创建纯汇编语言的STM32工程

2021-10-02 21:00:19  阅读:241  来源: 互联网

标签:MDK 字节 汇编语言 hex MOV STM32 LDR LR func01


文章目录

一、新建项目

keil5不是在file里创新项目,而是在project里,运行keil5并新建项目在这里插入图片描述
接下来设置路径,项目名称随便填,保存
在这里插入图片描述
根据自己的硬件设备选择,没有硬件就随意选择STM32F103中的一个,我这里选了STM32F103RC
在这里插入图片描述
如图勾选然后点ok
在这里插入图片描述

二、编写代码进行测试

右键source group1,添加新项目
在这里插入图片描述
创建汇编文件
在这里插入图片描述
输入代码

 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

点击魔法棒进行仿真器调试,根据自己的实际情况进行设置
在这里插入图片描述
如果没有硬件进行仿真调试需要改变这一步的操作,
在这里插入图片描述
将Dialog.DLL改为DARMSTM.DLL,Parameter里根据自己的设备来选,应为我新建的时STM32F103RC,所以改为-pSTM32F103RC,如果要生成hex文件需要在output中选中
在这里插入图片描述
如下图操作,编译工程并进入调试模式;
在这里插入图片描述
结果没有问题
在这里插入图片描述

三、查看.hex文件

在魔法棒output中查看路径,找到.hex文件打开
在这里插入图片描述
文件内容和如下:
在这里插入图片描述
如图,第一行的:020000040800F2中,可以看作是0x02 0x00 0x00 0x04 0x08 0x00 0xf2,其前四个字节和最后一个字节有特殊含义,中间为数据
第一个字节0x02表示数据长度,二三字节表示数据的起始地址,第四个字节表示记录的数据类型。从‘00’到‘05’共六种,他们代表的意义依次为数据记录、文件结束记录、扩展段地址记录、开始段地址记录、扩展线性地址记录和开始线性地址记录。

四、参考资料

基于MDK下的STM32F103纯汇编语言练习
MDK基于STM32汇编程序并编写软件程序

标签:MDK,字节,汇编语言,hex,MOV,STM32,LDR,LR,func01
来源: https://blog.csdn.net/zero_zero_seven/article/details/120587294

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有