STM32新建工程模版

本文详细介绍了如何在MDK5环境下配置STM32工程,包括寄存器版本和HAL库版本的工程创建步骤,以及启动文件、固定文件的配置。还涉及到Cube文件结构解析和MDK使用中的各种细节,如颜色设置、代码提示等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


以正点原子阿波罗F767为例
参考资料:开发指南-寄存器版本和HAL库版本

MDK5的环境要提前配置好,STM32CubeF4或F7(取决于你使用的)的芯片包也要安装好

…\【正点原子】阿波罗STM32F767开发板\8,STM32参考资料\1,STM32CubeF7固件包

寄存器版本

一般步骤

①建目录,复制需要的文件
②在MDK中添加文件到工程
③MDK中设置头文件存放路径
④配置MDk:全局宏定义等
⑤编写用户函数
⑥添加ALIRNTEK系统文件夹SYSTEM

固定文件

就是直接从固件包原封不动抄下来的文件
在这里插入图片描述
在这里插入图片描述
这个看一看了解一下即可,实际上买单片机店家都会有相当多程序源码,而这些都包含在任何一个源码中,不需要自己去翻找.

配置

创建文件夹起码要有两个,一个是主函数所在的文件及启动文件所在的文件夹,二是上面所需要用到的固定的.s和.h,建立不同文件夹的初衷是为了让我们文件结构更清晰,更合理,".c"文件一般是具体函数,".h"文件一般只是define函数,当然c语言并没有严格的限制,你要在.c中define.h中写函数理论上来说也没有问题,但鉴于行业规范,还是应该采用前面的做法.
正点原子一般的结构是USER+SYSTEM(USER放上面提到的启动文件和自定义的文件,SYSTEM放上面提到的一串固定文件的头文件)+OBJ(放置hex,一种用于串口下载的格式)
所以实际上的步骤就是,你复制一个源码中的SYSTEM,还有启动文件,然后打开keil,新建project
在这里插入图片描述
文件名随便
在这里插入图片描述
然后USER就瞬间多了这些东西
随后进入选择型号页面,根据自己的板子选取即可
在这里插入图片描述
然后在USER下要放入一个.c文件,是用于我们自行操作的文件(起码里头写个空的main函数)
随后是大量参数配置过程
在这里插入图片描述
先右键点击这个Target 1

修改如图的两项
再右键点击Target1,将所有.c.s文件区分放入对应的组
在这里插入图片描述
在这里插入图片描述
这个.s文件是一定要在下面选择all files以后才行的,否则他不显示的
在这里插入图片描述
同时如果需要用到串口下载的话,就需要生产这个hex文件,上面可以选择.hex的存放目录
然后转到c/c++选项
在这里插入图片描述
include paths中,要选择所有的.c和.h的最后一级目录,就是说三级目录下,最后点开能看到那个文件的那个目录,而不是点开还是目录的目录
在这里插入图片描述
在这里插入图片描述
编译之后发现没有错误

总结

1.启动头文件,固定文件的引入,自定义函数建立
2.

HAL库或者说库函数版本

由于寄存器太多了,所以将它们封装成一个一个的函数(一组API),叫做固件库,固件库分为标准库和HAL库.

cube文件结构

在这里插入图片描述
_htmresc是图片
documentation简介
drivers,bsp是板级文件,cmsis是一种规范,hal_driver在每一个hal库源码都有利用(inc是.c,src是.h且一一对应)
Middlewares是中间件
projects是实例模板
utilities很少关注
在这里插入图片描述
在这里插入图片描述

步骤

1.复制CORE,SYSTEM,启动头文件(十个)和自定义main函数
2.配置环境
3.设置路径

不同的只是文件的数量

其他MDK使用细节

configuration中的User Keywords,可以设置特定的颜色,使某一端字符全文用不同颜色展示
Text Completion是动态语法检查功能
Strut/Class Members,用于开启结构体/类成员提示功能。
Function Parameters,用于开启函数参数提示功能。
Symbols after xx characters,用于开启代码提示功能,即在输入多少个字符以后,提示匹配
的内容(比如函数名字、结构体名字、变量名字等)
SHIFT+TAB 代码块整体左移固定的几个位,不加shift框选一大段就是右移
鼠标右键Go to Definition 可以找到代码或函数定义的地方
快速注释 先选中你要注释的代码区,然后右键,选择Advanced→Comment Selection
CTRL+H 查找替换快捷键
在这里插入图片描述
这个键可以固定在几个文件中查找某一串字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值