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

举报
小麦大叔 发表于 2021/12/03 23:38:24 2021/12/03
【摘要】 本文基于MDK 5.26软件,在stm32f103上进行汇编语言的实验测试; 文章目录 1 新建工程2 配置环境2.1 选择设备2.2 选择运行环境2.3 添加源文件 3 测试代...

本文基于MDK 5.26软件,在stm32f103上进行汇编语言的实验测试;

1 新建工程

双击打开MDK5.26,启动界面如下所示;

在这里插入图片描述
点击菜单栏的Project,如下图所示;

在这里插入图片描述
在弹出的窗口点击选项New uVision Project,创建新的工程;具体如下图所示;

在这里插入图片描述
在弹出的窗口分别设置;

  1. 设置项目工程的路径
  2. 设置项目工程的名称,这里使用TEST
  3. 点击保存;

具体如下图所示;

在这里插入图片描述

2 配置环境

2.1 选择设备

设置工程的目标环境,本文基于STM32F103ZET6,因此在弹出的窗口选择相应的选项,点击保存即可;具体如下图所示;
在这里插入图片描述
如果无法找到该窗口,可以在工具栏点击魔术棒图标;如下图所示;

在这里插入图片描述

或者在菜单栏点击project,然后选择Options for Target即可,具体如下图所示;

在这里插入图片描述

2.2 选择运行环境

ARMCMSIS已经把开发所需要的软件组件都封装好了,因此直接选择即可;

  1. CMSIS下选择CORE
  2. DeviceStartup,其中包含了启动文件;

具体如下图所示;

在这里插入图片描述

2.3 添加源文件

鼠标右键单击Source Group 1,具体如下图所示;

在这里插入图片描述

选择Add New Item to Group,具体如下图所示;

在这里插入图片描述

添加源文件,因为创建汇编项目;

  1. 选择 Asm File (.s) ,创建汇编文件;
  2. 设置源文件的名称;
  3. 点击保存;

具体如下图所示;

在这里插入图片描述

最后完成如下图所示;

在这里插入图片描述

3 测试代码

3.1 源码

编译并调试如下代码;

 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


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

3.2 仿真器设置

设置硬件仿真器为J-LINK,具体根据自己的实际情况进行选择,如下图所示;

在这里插入图片描述

设置仿真器的模式;

  1. 设置为JTAG接口,另外还有SWD,可以根据自己的实际情况进行选择;
  2. 设置完成,会看到2处有相应的设备信息;

如下图所示;

在这里插入图片描述

3.3 编译调试

按照下图所示,编译工程并进入调试模式;

在这里插入图片描述

最后可以看到,结果符合预期,寄存器R5R6R7R8的值和程序设置一致,具体如下图所示;

在这里插入图片描述

4 总结

编程的学习需要实践,后面可以配合硬件,把每一条指令过一遍,从而加深理解,基本都是体力活,在这里记录一下。如果对您有所帮助,请帮忙点个赞。

文章来源: great.blog.csdn.net,作者:小麦大叔,版权归原作者所有,如需转载,请联系作者。

原文链接:great.blog.csdn.net/article/details/106481146

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。