一、STM32 CUBEIDE开发环境搭建
1、前言
STM32的开发方式比较多,具体就不一一介绍了,目前随着STM32标准库停止维护,HAL库的应用变得越来越多。虽然在某些特定的应用场景标准库仍然有其优势,但学习HAL库开发也必不可少,下面列举了两种库开发环境的一些优缺点。
STM32标准库的优缺点
优点:
-
直接控制硬件:标准库提供了对STM32微控制器硬件的直接访问,允许开发者对寄存器进行精细控制。这有助于在需要高性能或低延迟的应用中实现最佳性能。
-
轻量级:标准库通常比HAL库更轻量级,因为它不包含额外的抽象层。这有助于减少代码大小和内存占用。
-
灵活性:由于直接访问硬件,开发者可以自由地优化代码,以满足特定应用的需求。
缺点:
-
学习曲线:标准库要求开发者对STM32微控制器的硬件架构和寄存器有深入的了解。对于初学者来说,这可能是一个挑战。
-
可移植性差:由于直接依赖于特定的硬件寄存器,标准库代码通常很难在不同的STM32微控制器之间移植。
-
维护成本高:随着STM32微控制器系列的更新,标准库可能需要手动更新以支持新功能。这增加了维护成本。
STM32 HAL库的优缺点
优点:
-
易用性:HAL库提供了更高层次的抽象,简化了硬件访问。这使得初学者和中级开发者能够更容易地编写和维护代码。
-
可移植性:HAL库设计用于跨不同STM32微控制器系列实现一致的API。这有助于在多个平台上重用代码。
-
功能丰富:HAL库通常包含丰富的功能,如中断管理、DMA(直接内存访问)支持等,这些功能在标准库中可能需要手动实现。
缺点:
-
性能开销:由于HAL库提供了额外的抽象层,它可能会引入一些性能开销。尽管这种开销通常很小,但在对性能要求极高的应用中可能会成为问题。
-
代码大小:与标准库相比,HAL库可能包含更多的代码和库文件,从而增加了最终应用程序的大小。
-
灵活性受限:虽然HAL库提供了大多数常用功能,但在某些情况下,它可能不够灵活,无法满足特定应用的需求。
2、HAL库开发环境的搭建
目前HAL库的开发环境主要有两种:
(1)CubeMax + MDK-ARM
使用CubeMax对工程中用到的资源进行配置,生成基于MDK-ARM环境的工程代码,考虑到MDK-ARM为非开源开发环境,本文使用另一种开发环境。
(2)CubeIDE
CubeIDE是STMicroelectronics推出的一款专为STM32微控制器系列设计的集成开发环境,内部集成图形化的配置工具CubeMX,提供了代码编辑、调试和项目管理功能,支持J-LINK和ST-LINK调试器,使用十分方便,本文主要使用此种开发方式。
2.1、CubeIDE开发环境的安装
通过官网获取:https://www.st.com/zh/development-tools/stm32cubeide.html
下载完成后,直接按照默认配置安装即可。
2.2、工程文件夹创建
在平时自己常用的目录下创建文件夹即可,注意文件夹名称不要包含中文。
3、工程创建
双击CubeIDE快捷方式打开软件,此时提示如下:
此处选择自己新建的工程文件夹即可,不想每次打开都弹出此窗口,可点击工程路径下的选择框,最后点击“Launch”即可进入IDE运行界面,如下:
作者:清与浊i