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

news/2024/7/20 22:39:41 标签: stm32, 自动驾驶, ios

文章目录

  • 一、新建项目
  • 二、编写代码进行测试
  • 三、查看.hex文件
  • 四、参考资料

一、新建项目

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汇编程序并编写软件程序


http://www.niftyadmin.cn/n/1812152.html

相关文章

Java SSH框架系列:用户登录模块的设计与实现思路

时间 2014-01-19 16:14:54 CSDN博客原文 http://blog.csdn.net/nupt123456789/article/details/185046151.简介 用户登录模块,指的是根据用户输入的用户名和密码,对用户的身份进行验证等。如果用户没有登录,用户就无法访问其他的一些jsp页面…

python小城市创业好项目_小城市创业项目推荐(5个三线城市小项目)

匆匆忙忙的时间转眼间2019又过去了大半年,如今的生活中各行业是真的不好做,很多朋友常常会说自己的付出与回报不成正比。当然这更多的是和自身的行业选择是有关系的,当然最让人头疼的就是如今的职场生活了,那么在三线城市生活的普…

ThinkPHP Uploadify 图片上载

从官方网站下载的Uploadify最新版本&#xff1a;http://www.uploadify.com/download/ jQuery库是1.7.1版本。 下载好的Uploadify目录下面的文件有&#xff1a; 用到的文件有 uploadify.css jquery.uploadify.min.js 下面先给出HTML代码&#xff1a; 1 <!DOCTYPE html PUBLIC…

JAVA连接MySQL 数据库

文章目录一、环境配置二、MySQL连接三、参考一、环境配置 IDEA使用入门 下载jar包 解压 下载MySQL 如图&#xff0c;根据自己需要选择安装方式&#xff0c;接下来有execute点击execute&#xff0c;有next就点击next&#xff0c;有finish就点击finish&#xff0c;需要自己设…

python爬取流浪地球_python爬取豆瓣流浪地球影评,生成词云

代码很简单&#xff0c;一看就懂。(没有模拟点击&#xff0c;所以都是未展开的)地址&#xff1a;https://movie.douban.com/subject/26266893/reviews?rating&start0这里start就是后面参数变化的地方。一页20条&#xff0c;所以循环的话 每次start加20就好。代码&#xff…

PHP5下SOAP调用实现过程

PHP5下SOAP调用实现过程 原文:PHP5下SOAP调用实现过程本文以某公司iPhone 6手机预约接口开发为例&#xff0c;介绍PHP5下SOAP调用的实现过程。 一、基础概念 SOAP&#xff08;Simple Object Access Protocol &#xff09;简单对象访问协议是在分散或分布式的环境中交换信息的简…

利用IDEA同步本地Git仓库与github仓库

文章目录一、环境配置二、创建本地仓库三、创建远程仓库四、同步功能测试五、总结一、环境配置 下载git&#xff1a;https://git-scm.com/downloads下载安装完后打开git bash&#xff0c;输入以下命令&#xff0c;设置git全局用户名和密码&#xff0c;结束后就能在IDEA中用自己…

Linux中IRC通讯工具Pidgin的基本使用方法

这是我发在南昌大学开源小组里的一篇教程 IRC IRC是个古老的产物&#xff0c;在图形界面流行之前就出现了。但是在如今很多开源社区都是利用IRC来进行团队交流或对用户提供技术支持的&#xff0c;比如维基百科&#xff0c;所以还是有必要用一用。 确切说IRC只是协议&#xff0c…