打印
[应用相关]

基于STM32CubeMX联合CLion开发环境搭建经验分享

[复制链接]
752|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
onlycook|  楼主 | 2023-8-14 10:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. STM32CubeMX与CLion简介

1.1 STM32CubeMX

STM32CubeMX是一种图形化配置工具,用于为STM32微控制器生成启动代码和初始化配置。

它可以帮助简化STM32项目的初始化过程,并提供了一种可视化的方式来配置引脚、时钟、外设和中断等。

HAL(Hardware Abstraction Layer)库是STMicroelectronics提供的一种高级API层,用于编写STM32微控制器的应用程序。




相较于传统ST系列开发,STM32Cube具有以下优势:

综合工具链:

STM32Cube是STMicroelectronics提供的一套综合性工具链,包括了STM32CubeMX、HAL库、LL库、中间件和示例代码等。

它们可以协同工作,使得开发过程更加简化和高效。

图形化配置工具:

STM32CubeMX是STM32Cube的核心组成部分,提供了图形化的配置工具。

它可以帮助开发人员通过简单的拖拽和配置来初始化和配置STM32微控制器的引脚、时钟、外设等,减少了手动编写和调试配置代码的工作量。

HAL和LL库:

STM32Cube提供了两种不同级别的软件抽象层,即HAL(Hardware Abstraction Layer)库和LL(Low-Level)库。

HAL库提供了更高级别的API函数,可以快速上手和开发,而LL库提供了更底层的接口,可以实现更高的灵活性和性能优化。

高度可移植性:

STM32Cube支持多个STM32微控制器系列,包括F0、F1、F2、F3、F4、F7、G0、G4、H7和L0等。

这意味着您可以在不同型号的STM32微控制器之间共享和重用代码,减少了开发和维护的工作量,并实现了更好的项目可移植性。

内置中间件和示例代码:

STM32Cube提供了一系列中间件(如USB、TCP/IP、文件系统等)和示例代码,可以帮助开发人员更快速地实现常见的功能和应用。

这些中间件和示例代码经过测试和优化,可以加速开发过程,并提供参考和指导。

持续更新和支持:

STM32Cube由STMicroelectronics进行持续更新和维护,确保与最新的STM32产品和技术保持同步。

这意味着您可以获得最新的功能和修复,同时享受STMicroelectronics的技术支持和社区资源。-

1.2 HAL库

HAL库相对于标准库在STM32开发中具有以下优势:

抽象层:HAL库提供了一个硬件抽象层,将底层硬件与应用程序分离。

这种抽象层使得开发人员可以更专注于应用程序的开发,而不必过多关注底层硬件的细节。它简化了硬件编程的复杂性,减少了代码量和开发时间。

一致性和可移植性:HAL库为不同型号的STM32微控制器提供了一致的API接口。

这意味着您可以在不同的STM32微控制器之间共享和重用代码,而无需进行大量的修改。这种一致性和可移植性简化了跨平台开发和产品迁移的过程。

简化配置:HAL库与STM32CubeMX集成,提供了图形化的配置工具。这使得配置引脚、时钟和外设变得更加直观和简单。

您可以使用图形界面轻松选择和配置所需的外设和功能,并生成相应的初始化代码。

内置驱动程序:HAL库提供了内置的驱动程序,用于操作和管理STM32微控制器的各种外设。这些驱动程序封装了硬件寄存器的访问和配置,提供了易于使用的API函数。

这简化了对外设的初始化和配置,并提供了一致的接口,使得外设之间的切换更加方便。

丰富的功能支持:HAL库提供了广泛的功能支持,包括串口通信、SPI、I2C、定时器、中断、DMA等。

这些功能模块的封装使得开发人员能够更轻松地实现复杂的应用需求,而无需从头开始编写底层代码。

HAL库的最大优势是官方推荐,而标准库函数版本已经不维护更新了

1.3 CLion

CLion是JetBrains公司开发的一款集成开发环境(IDE),专门用于C和C++语言开发。它提供了许多功能和工具,旨在提高C和C++开发的效率和质量。


使用特权

评论回复
沙发
onlycook|  楼主 | 2023-8-14 10:12 | 只看该作者
2. 部署过程

2.1 软件部署环境

软件环境:

  • Windows11

  • STM32CubeMX

  • Clion-2021

  • Mingw

  • OpenOCD

  • arm-none-eabi-gcc


硬件环境STM32F103

J-Link

2.2 STM32CubeMX下载及安装

选择版本为6.4.0,高版本没有SW4STM32工程生成链








下载后解压



















使用特权

评论回复
板凳
onlycook|  楼主 | 2023-8-14 10:15 | 只看该作者
2.2 OpenOCD下载与安装

OpenOCD

Windows上使用 OpenOCD 给 STM32 下载程序 - 腾讯云开发者社区-腾讯云 (tencent.com)

Releases · xpack-dev-tools/openocd-xpack (github.com)



解压到自己可以找的到的地方,将bin目录添加到环境变量中




选择zip形式



将解压后的bin目录加入环境变量



命令提示符有输出证明配置正确



2.3 CLion设置

设置clion

File-Setting-Buid,Execution,Deployment

添加一个mingw环境

CLion下载和mingw下载以及安装可以参考其他博主网上教程


检查一下CMake



配置完毕。


3. 第一个STM32项目

开始第一个STM32项目



点击create之后会生成一个.ioc文件,此文件与使用STM32CubeMX是等效的



点击此处能够使用STM32CubeMX打开.ioc



尝试点击一下





默认选中的芯片型号是STM32F030F4Px,我们可以在CubeMX中重新选择自己需要的芯片,一切操作都和使用Keil开发没有区别。

  • Project Name要与Clion中一致

  • 生成IDE类型选择SW4STM32




此处提示表达的是SW4STM32工程在之后的版本中被废弃了。





生成之后切换回CLion



打开File-Setting-Buid,Execution,Deployment



配置完成


转载自: 古月居

如有侵权请联系删除

使用特权

评论回复
地板
Undshing| | 2023-8-14 23:34 | 只看该作者
主要还是馋keil的编译器

使用特权

评论回复
5
帛灿灿| | 2024-3-1 07:20 | 只看该作者

得到不同测试条件下的输出电流和电压值,分析数据并进行比较

使用特权

评论回复
6
Bblythe| | 2024-3-1 08:23 | 只看该作者

这样可以获得更光滑的表面。

使用特权

评论回复
7
周半梅| | 2024-3-1 10:19 | 只看该作者

是因为它作用是起到抑制,多应用于开关电源电路中

使用特权

评论回复
8
Pulitzer| | 2024-3-1 11:22 | 只看该作者

对于标准PCB设计,c形孔的最小直径为0.5mm,

使用特权

评论回复
9
童雨竹| | 2024-3-1 13:18 | 只看该作者

它是由两个尺寸相同、匝数相同的线圈对称地绕制在同一个铁氧体环形磁芯

使用特权

评论回复
10
Wordsworth| | 2024-3-1 14:21 | 只看该作者

镀半孔或c形孔是在板的边缘上镀半个半孔的一半。

使用特权

评论回复
11
Clyde011| | 2024-3-1 15:24 | 只看该作者

驱动脉冲变压器原边时,

使用特权

评论回复
12
公羊子丹| | 2024-3-1 16:17 | 只看该作者

这种电路结构的特点是:由四只相同的开关管接成电桥结构驱动脉冲变压器原边。

使用特权

评论回复
13
万图| | 2024-3-1 17:20 | 只看该作者

这种技术称为板对板焊接

使用特权

评论回复
14
Uriah| | 2024-3-1 18:23 | 只看该作者

开模的话,模具不会塌踏。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

432

主题

1607

帖子

3

粉丝