使用STM32CubeMX和TrueSTUDIO开发STM32系列微控制器
关于STM32CubeMX
STM32CubeMX介绍
STM32CubeMX是一个图形化的用于配置生成STM32系列初始化代码的工具。使用该工具可以直观快速的完成项目的初始化,节省大量的时间。
该工具适用于STM32系列所有微控制器。
为什么使用STM32CubeMX
- STM32CubeMX生成的代码基于ST的HAL库(硬件抽象层)和LL库(底层),在ST已经停止更新STD库(标准外设库)的情况下,使用基于HAL库和LL库的STM32CubeMX就成了面向未来的一个较好的选择;
- STM32CubeMX集成FreeRTOS,对于需要嵌入式操作系统的项目不用再花力气手动移植;
- STM32CubeMX是免费的;
下载及安装
STM32CubeMX可以从意法半导体官网搜索进入并下载。
https://www.st.com/en/development-tools/stm32cubemx.html
上面页面的底部有下载连接,下载前会弹出页面,需要填写一些信息才能下载。
安装完成后需要根据使用需求下载相关的硬件支持包:
STM32CubeMX的使用可以参考如下:
http://www.waveshare.net/study/portal.php?mod=list&catid=40
关于TrueSTUDIO
TrueSTUDIO介绍
Atollic公司的TrueStudio for STM32是一个灵活的、可扩展的IDE和调试STM32单片机的强大工具。TrueStudio基于Eclipse,使用体验上不会太差。
为什么使用TrueSTUDIO
- TrueStudio基于Eclipse,单从写代码的体验上不会太差,至少比MDK-ARM好太多;
- TrueStudio被ST收购后完全免费了,而MDK-ARM只有在开发STM32F0和STM32L0是免费的;
下载及安装
TrueSTUDIO可以从atollic官网下载。
https://atollic.com/truestudio/
下载时也需要填写些信息。
使用演示
上图中用STM32CubeMX新建项目,选择某个GPIO口设置为输出,并命名为LED
;选择时钟源为外部晶体;选择代码生成使用环境为TrueStudio;输入项目名称为TEST1;最后生成项目。
用STM32CubeMX生成项目后就可以直接用TrueStudio打开了,编译后就可以得到可供烧录的hex
文件了。
(上图中TrueStudio默认打开的是我之前建立的工程test
,而非新建立的TEST1
)
使用STM32Cube及HAL、LL库例程及文档下载
使用STM32CubeMX开发的过程中最常参考的东西是HAL、LL库说明文档,以及相应的官方例程,这些内容可以从ST官网下载:
其他注意事项
使用STM32CubeMX生成的工程中,/* USER CODE BEGIN ... */
和/* USER CODE END ... */
间可以写你自己的代码,这之间写的代码在使用STM32CubeMX修改重新生成项目后也不会消失或被改变。或者你也可以建立自己的.c
和.h
文件,也不会在STM32CubeMX重新生成项目后消失。