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 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> STM32入门——uKeil5 MDK 的使用(基于固件库) -> 正文阅读

[嵌入式]STM32入门——uKeil5 MDK 的使用(基于固件库)

1 Keil uVision5 MDK 是什么

Keil 软件是一种统称,它包含编辑器、编译器、链接器、调试器等众多工具为一体的集成开发环境(IDE)。
Keil MDK,也叫MDK-ARM,是针对【ARM内核】单片机,比如:STM32F1、 STM32F4、LPC1788、GD32等的编译器。

软件与芯片安装包和工程模板
链接:https://pan.baidu.com/s/1xGKF97gkgCAK56XC1yLsJg
提取码:qcyx

2 建立一个标准库函数工程

2.1 前期准备

在硬盘上建立一个任意的目录(例:stm32-led)中英文都可以,然后在它之下再新建 4个
文件夹,具体如下:
在这里插入图片描述

名称作用
Doc用来存放工程说明文件,由写程序的人添加
Libraries存放库文件
Porject存放工程文件
User存放用户编写的驱动文件

在本地新建好文件夹后,把准备好的库文件添加到相应的文件夹下:

名称作用
Doc工程说明文件.txt
LibrariesCMSIS:里面跟着放 CM3 内核的相关库文件,以及 STM32F10X_StdPeriph_Driver\src 文件下的全部 C文件
Porject存放工程文件
UserSTM32F10x_conf.h、STM32F10x_it.h、main.c 文件

2.2 建立工程

打开Keil软件后就会进入一个界面 ,如图:在这里插入图片描述
点击Project然后点击New uVision Project,就会出现一个新建工程界面,如图:在这里插入图片描述
在这里插入图片描述
将工程保存至 Project 文件夹下,并给这个工程起名叫stm32-led,软件会自动添加扩展名.uvproj,如上图。

直接单击“保存”按钮,工程会自动保存为stm32-led.uvproj文件,下次要打开LED这个工程时,可以直接找到文件夹,双击.uvproj即可打开。

保存之后会弹出一个对话框,如图:在这里插入图片描述
这个对话框是用来选择单片机的型号的,例如我们使用的STM32F1系列的单片机。在这里插入图片描述

由于MDK中只有ARM的内核选择,我们要使用STM32单片机需要自己手动添加

在这里插入图片描述
选择完成之后会有上图界面是用来在线添加库文件,我们先将其关闭后手动添加。

2.3 建立组文件夹

在新建的工程中添加 5 个组文件夹,用来存放各种不同的文件,文件从本地建好的工程文件夹下
获取,双击组文件夹就会出现添加文件的路径,然后选择文件即可。

名称作用
STARTUP用来存放 startup_stm32f10x_hd.s
CMSIS存放 core_cm3.c system_stm32f10x.c
FWLB存放 STM32F10X_StdPeriph_Driver\src 文件下的全部 C文件
USER存放用户编写的驱动文件
DOC存放工程说明文件

在这里插入图片描述
右键 Target 1 然后点击 Add Group…

2.4 添加文件

先把上面提到的文件从 ST 标准库中复制到工程模版对应文件夹的目录下,然后在新建的工程中添加这些文件,双击组文件夹就会出现添加文件的路径,然后选择文件即可。
在这里插入图片描述

2.4 配置“魔术棒”选项卡

这一步的配置工作很重要,很多人串口用不了 printf 函数,编译有问题,下载有问题,都是这个步骤的配置出了错。

(1) Target 中选中微库“Use MicroLib”,为的是在日后编写串口驱动的时候可以使用 printf 函数。
在这里插入图片描述

(2) 在 Output 选项卡中把输出文件夹定位到我们工程目录下的“output”文件夹,如果想在编译的过程中生成 hex 文件,那么那 Create HEX File 选项勾上。
在这里插入图片描述

(3) 在 Listing 选项卡中把输出文件夹定位到我们工程目录下的“Listing”文件夹。
在这里插入图片描述

(4) 在 C/C++ 选项卡中添加处理宏及编译器编译的时候查找的头文件路径。如果头文件路径添加有误,则编译的时候会报错找不到头文件。
在这里插入图片描述
在这个选项中添加宏,就相当于我们在文件中使用“#define”语句定义宏一样。在编译器中添加宏的好处就是,只要用了这个模版,就不用源文件中修改代码。

  • STM32F10X_HD 宏:为了告诉 STM32 标准库,我们使用的芯片类型是 STM32 型号是大容量的,使 STM32 标准库根据我们选定的芯片型号来配置。

  • USE_STDPERIPH_DRIVER 宏:为了让 stm32f10x.h 包含 stm32f10x_conf.h 这个头文件。

“Include Paths ”这里添加的是头文件的路径,如果编译的时候提示说找不到头文件,一般就是这里配置出了问题。你把头文件放到了哪个文件夹,就把该文件夹添加到这里即可。(请使用图中的方法用文件浏览器去添加路径,不要直接手打路径,容易出错)。

2.5 建立 main 函数

在这里插入图片描述

敲出基本框架,编译:
在这里插入图片描述
0 错误,0 警告,至此工程模板建立成功。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-11-05 00:42:58  更:2022-11-05 00:43:32 
 
开发: 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/25 20:39:11-

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