找回密码
 立即注册
首页 业界区 业界 【STM32H7】基于CubeMX从零开始搭建的HAL库工程模板(包 ...

【STM32H7】基于CubeMX从零开始搭建的HAL库工程模板(包含串口重定向和DSP库)

刃减胸 4 天前
前言

此次基本工程使用的芯片为STM32H743IIT6
Keil和CubeMX以及H7硬件支持包自行在网上搜索下载,都下最新版即可。
这里提供一个下载H7硬件支持包的网址:ARM

在这里我们会从零开始(除了下载安装),配置一个完整的方便管理的H7基本工程,下面是基本工程要达到的目标:
1.配置好内存保护单元
2.建立相应文件夹便于管理
3.可以正常使用串口进行外部调试
4.配置好DSP库

CubeMX基本配置

第一步:选择芯片

1.从搜索框中搜索“STM32H743IIT6”双击即可。
1.png

2.这里说的是强烈建议内核为M7的设备预先配置内存保护单元(MPU),是否应用此类默认配置?
由于我们这里是从零开始的配置,并且默认配置也并不是我们所希望的那样,所以我们这里就选择“否”。
2.png

第二步:配置时钟

1.点击左边栏RCC,高速时钟和低速时钟都选择外部时钟晶振。
3.png

2.配置时钟树,直接配置为最大主频480MHz即可,后面的APB和AHB总线也可以达到最大频率。
4.png

第三步:配置DEBUG调试

选择使用通信线最少的串行线模式。
5.png

第四步:生成工程文件

1. Project
这里根据下图配置即可。
工程结构:推荐选择Advanced,更方便管理工程。
堆栈设置:需要修改堆栈必须在这修改,不然每次重新生成工程堆栈都会恢复,这里保持默认堆栈设置就好。

6.png

下面是两个结构的区别:
Basic结构:
7.png

Advanced结构:
8.png

2.Code Generator
对应图片配置完成后,点击右上角GENERATE CODE生成代码。
9.png

工程文件管理

Drivers文件夹管理

打开工程文件,在Drivers文件夹下面新建如下几个文件(仅仅是我的习惯):
BSP:存放与硬件板卡相关的板载级别驱动。
DSP:存放与数字信号处理相关的算法和函数(个人习惯)。
MODULE:存放外部模块或组件的驱动程序。
SYSTEM:存放系统级别的驱动和功能,例如头文件管理、SysTick定时器、中断管理以及各种延时等等。
10.png

并且在每一个新建的文件夹当中再新建两个文件夹,分别命名为“Src”和“Inc”用于存放.c和.h文件:
11.png

接着我们打开Keil5中的小方块,根据刚刚新建的文件夹,在组管理这里添加进去,点击OK,就可以在侧边栏中看到新建的几个文件。
12.png

接下来就是要添加头文件的链接了,跟着图片操作即可:
13.png

魔术棒配置

这里只配置我认为必要的,往后遇到一些问题可以再自行搜索更改某些配置。
"Target"

ARM Compiler(ARM编辑器): 由于博主安装的是V5.39版本的Keil,所以默认安装的编辑器已经是AC6了,而且也比较推荐使用AC6去编译。
Floating Point Hardware(硬件浮点加速): H7是有双精度硬件浮点型加速功能的,我们直接选择其即可。
IROM(内部永久内存)/IRAM(内部暂存内存): 这里指的都是片上(on-chip)的内存,H7的Flash首地址为0x8000000,大小是0x200000,即2MB;H7的片上RAM分为了很多个部分,这个我们后面再讲,默认的RAM内存选择DTCM,首地址0x2000 0000,大小0x20000,即128KB,还有AXI SRAM的内存,首地址是0x2400 0000,大小0x80000,即512KB。
14.png

"C/C++"

Define(宏): 复制后面的整段代码上去即可USE_HAL_DRIVER,STM32H743xx,ARM_MATH_MATRIX,ARM_MATH_LOOPUNROLL,ARM_MATH_CM7,DATA_IN_ExtSDRAM,USE_PWR_LDO_SUPPLY
Optimization(优化等级): 我一般习惯选择最大优化。再勾上后面的优化时间Link-Time Optimization。
Include Paths(包含路径): 上面Drivers文件夹管理中已经配置过了,不记得的可以返回去看看。
15.png

"Debug"

选择好自己的烧录器后,就直接进入Setting设置烧录器选项:
16.png

17.png

18.png

19.png

扳手
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

15 小时前

举报

这个好,看起来很实用
您需要登录后才可以回帖 登录 | 立即注册