前言

  • 使用CubeMX生成STM32工程我认为是现在主流和更现代化的新建工程方式
  • 相比与标准库它不仅仅可以自动生成配置代码,不用手动配置,并且他的库函数是会持续更新的,而标准库已经完全落伍了
  • 这个软件能配置几乎所有STM32系列芯片的工程代码,不用费劲去找标准库的资源
  • 资料包获取:蓝桥杯嵌入式赛道—软件篇(备赛环境准备一)

熟悉CubeMX

  • 打开CubeMX之后是这样的界面,我们只需要关注这三个标注的界面即可

  • 由CubeMX生成工程后,会有一个.ioc文件,这就是CubeMX的工程文件,有这个文件就会生成对应的STM32芯片的工程代码

    在这里插入图片描述

①菜单栏

File

点开File栏后有这么几个选项,其中不可选的选项是在编辑工程的时候使用的
在这里插入图片描述

  • New Project:新建工程
  • Load Project:选择本地现有的工程
  • Import Project:这个平常不怎么会用到,可以忽略

在导入工程之后,之前不可选的选项就可以使用了
在这里插入图片描述

  • Save Project:保存工程(直接快捷键ctrl + s也可以)

  • Save Project As:另存工程(是以这个工程为模板去新建一个新的项目)

  • Close Project:关闭工程(点击之后就可以退出这个工程)

  • Generate Report:生成工程报告(点击之后会生成对这个工程配置专业报告,有pdf版和txt版)

    在这里插入图片描述

  • Recent Projects:选择最近编辑过的工程

    在这里插入图片描述

  • Exit:退出软件

Windows

在这里插入图片描述

  • 这个菜单是用来配置窗口显示的,可以忽略,非必要一般不会去调整这里面的配置
  • Outputs:选项没什么大用,可以忽略
  • Display size:这个选项是配置你这个窗口的显示尺寸,现在这个是一个中等的配置。选择Smaller之后窗口的显示会变小,Larger则是变大

Help

点开Help后这里有很多的选项,只需要关注我讲解的这两个即可个即可
在这里插入图片描述

  • Manage embedded software packages:点开之后是这样的界面,这里是对CubeMX生成代码的库文件的管理窗口。这里可以配置对应芯片的库文件的版本等信息。左下角标注的From Local是从本地导入库文件,这个是导入现有的库文件的方法
    在这里插入图片描述

  • Connection & Updatas:点开后是这样的界面,只要关注红框里的内容即可。这是库文件的保存路径,一般默认是C盘,如果不想C盘爆满的话就要修改一下安装路径

    在这里插入图片描述

    • 这些zip压缩包就是库文件的压缩包文件,上面的对应库文件的文件夹就是软件自动解压出来的,依靠这些文件来自动生成代码,现在的目录就是我新设置的库文件的目录

      在这里插入图片描述

②Existing Projects

  • 这里展示的是最近编辑的项目,点击后就可以直接进行编辑
  • 或者是点击下面的Other Projects选择其他工程文件打开

在这里插入图片描述

③New Project

这个界面是用于新建工程的,有多种生成工程的方式,最下面的选项是一个分析工具
在这里插入图片描述

  • ACCESS TO MCU SELECTOR:基于芯片型号新建工程,选择对应的芯片型号即可
  • ACCESS TO BOARD SELECTOR:基于开发板新建工程,选择对应开发板即可(这个选择限制性太大了,一般情况下都选择基于芯片型号去新建工程)
  • ACCESS TO EXAMPLE SELECTOR:基于案例模板新建工程,这里选择的是官方提供的一些案例给用户直接学习使用
  • ACCESS TO COMPARE PROJECTS:这个选项进去后会让你分别导入两个工程的工程文件,然后分析二者的区别(非专业开发者可忽略)

新建工程

  • 新建工程非常的简单,有固定的流程模板,照着我的流程步骤多实践几次之后就会熟悉如何使用了

步骤一:选择芯片型号新建工程

  • 点击File,然后选择New Project

    在这里插入图片描述

  • 随后我们会进入到这个界面当中,需要特别留意三个红框中的内容。最右边的是选择芯片的型号,左边的分别是收藏(可以在右边红框中的点击星星收藏后可以在这里面快速查找),芯片搜索(搜索芯片的型号)

    在这里插入图片描述

  • 这里就以蓝桥的竞赛平台(STM32G431RBT6)为例,输入到搜索框中搜索后就可以找到,我们选择第一个,并且点击收藏以便下次在收藏目录中快速查找。接下来双击第一个芯片型号的选项后就可以跳转到工程界面

    在这里插入图片描述

  • 这就是我们的工程界面,有非常多的配置选项。同时在对他配置的时候,这里的芯片引脚会有对应的信息,可以非常直观的看到

    在这里插入图片描述

  • 到这里基本的工程文件就配置好了,接下来要做的是对芯片进行配置和生成HAL库代码导入Keil5中进行编程使用

步骤二:配置代码文件信息

首先进入Project Manager这个界面,这里是对最后生成代码文件的配置,非常的重要,一步都不能差否后期维护或者进行工程管理的时候就会非常麻烦
在这里插入图片描述

Project

这一部分只需要关注这两个红框框的内容即可
在这里插入图片描述

这一部分是配置工程的文件信息

  • Project Name:工程名称(建议不要起中文名称)
  • Project Location:工程的保存目录(点击Browse可以选择路径)
  • Application Structure:程序结构(默认即可)
  • Toolchain/IDE:编程使用的IDE(会根据你选择的IDE生成相应的文件,我们使用Keil5就用这里的MDK-ARM即可),后面的是编译器的版本(默认即可)

这一部分是对库文件的配置
在这里插入图片描述

  • 如果正常联网使用,这一部分可以不用管,但是在蓝桥杯比赛的时候是断网的,就需要导入现场提供的库文件

  • 首先进入这个界面之后,点击From Local,再找到“资料包”中的文件,这些红框标注的就是库文件

    在这里插入图片描述
    在这里插入图片描述

  • 在导入完成之后会出现对应版本的绿标提示,就表明你导入完成,回到CubeMX,按照这个提示点击,再选择库文件对应的版本即可,这样就完成了导入离线库文件
    在这里插入图片描述

    在这里插入图片描述

  • 最终的配置如图所示

    在这里插入图片描述

Code Generator

这里是对生成代码文件结构的配置
在这里插入图片描述

  • 按照提示点击即可,这样代码文件的结构会更加简洁和层次分明

    在这里插入图片描述

  • 到这里工程的文件信息的配置就完成了

步骤三:配置芯片的时钟

来到这个界面可以看到芯片的时钟树,可以详细的看到时钟在芯片内部的具体配置信息,比赛的时候我们需要芯片的主频设置成80MHz
在这里插入图片描述

  • 首先回到最开始的配置界面,按照图示的步骤开始外部时钟

    在这里插入图片描述

  • 再回到时钟配置的界面,按照图示的方式设置时钟即可,最后的主频是80MHz就表明设置成功

    在这里插入图片描述

步骤四:设置芯片下载/调试接口

在最开始的配置界面按照这个步骤,即可设置好芯片的下载引脚(因为我们使用的是DAP-Link,如果使用的是JTAG-Link就要选择其他选项)
在这里插入图片描述

步骤五:生成工程

点击这个即可生成工程代码。如果后续对工程的配置有任何修改,就需要重新点击这个来更新新的工程代码
在这里插入图片描述

  • 在点击生成工程代码之后会弹出这样的窗口

  • Open Folder:打开文件目录

  • Open Project:打开Keil5

    在这里插入图片描述

  • 进入到Keil5中我们就可以看到由CubeMX自动生成的代码文件(注意:如果一进去Keil5就弹出一个弹窗,让你下载东西,说明你的Keil5中没有这个芯片的支持包,就需要去“资料包”中导入芯片的支持包),顺便可以编译一下工程,看看配置有无错误

    在这里插入图片描述

    在这里插入图片描述

后续

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐