IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写 -> 正文阅读

[嵌入式]搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写

一、搭建并配置Keil嵌入式开发环境

(一) Keil MDK-ARM下载

官网下载地址
https://www.keil.com/download/product/

(二) Keil MDK-ARM安装

1.双击安装包,点击Next。
在这里插入图片描述
2.勾选同意协议,点击Next。
在这里插入图片描述
3.选择软件安装路径和支持包安装路径,点击Next。
在这里插入图片描述
4.填写基本信息,点击Next。在这里插入图片描述
5.安装中···
在这里插入图片描述
6.过程中弹出窗口,点击安装。
在这里插入图片描述
7.点击Finish,完成安装。
在这里插入图片描述

(三) Keil MDK-ARM注册

1.以管理员身份打开Keil,点击(File->License Management),复制CID。
在这里插入图片描述
2.打开注册机获取注册码,将注册码添加到注册窗口中。
在这里插入图片描述

二、基于STM32汇编程序的编写

(一)新建工程

1.点击Project->New uVision Project。
在这里插入图片描述
文件命名并保存。
在这里插入图片描述
2.选择仿真芯片。
在这里插入图片描述
3.CMSIS下选择CORE,Device下Startup(其中包含了启动文件)打勾,点击OK。
在这里插入图片描述

(二)添加源文件

1.右击Source Group 1,点击Add New Item to Group‘Source Group 1’···
在这里插入图片描述
2.选择文件类型,点击Asm Files(.s)添加汇编文件,输入文件名,点击Add。
在这里插入图片描述
3.点击Source Group 1左边的加号,看到test.s,添加成功。
在这里插入图片描述

(三)代码编写与调试

1.代码编写
在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

2.程序编译
先进行初始设置,点击Options for Target…,在Output界面下,勾选Create HEX File,才生成hex文件。
在这里插入图片描述
在这里插入图片描述
在Debug界面,勾选Use Simulator,点击OK保存。
在这里插入图片描述
点击Rebuild编译。
在这里插入图片描述
编译成功。
在这里插入图片描述
3.程序调试
设置下面的“Dialog DLL”项为“DARMSTM.DLL”和“TARMSTM.DLL”;parameter项为“-pSTM32F103C8”,用于设置支持STM32F103C8的软硬件仿真。
在这里插入图片描述
点击图标进入调试。
在这里插入图片描述
点击Run运行程序。
在这里插入图片描述
结果如图。
在这里插入图片描述

(四)分析生成的HEX文件

找到生成的HEX文件。
在这里插入图片描述
打开如下:
在这里插入图片描述
1.扩展线性地址记录
:020000040800F2 hex文件的第一排十六进制,也叫作 32 位地址记录或 HEX386 记录。这些记录包含数据地址的高16位。扩展线性地址记录总是有两个数据字节。
2.数据部分
Intel HEX 由任意数量的十六进制记录组成。每个记录包含 5 个域,它们按一定格式排列,:llaaaatt[dd…]cc。每一组字母对应一个不同的域,每一个字母对应一个十六进制编码的数字。每一个域由至少两个十六进制编码数字组成,它们构成一个字节。
3.文件尾
:00000001FF 在文件的最后一排,是一个文件的结束标志。

三、总结

搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写。实验难度不大,调试过程中还是遇到一些小问题,最后多方面查询并解决了问题。
参考文献
https://blog.csdn.net/m0_58414679/article/details/120467462
https://blog.csdn.net/qq_43279579/article/details/108880667

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-10-02 15:01:40  更:2021-10-02 15:02:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:44:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码