基于STM32的物联网环境监测与远程控制系统实训套件-淘宝网

任务2  生成STM32的裸机工程模板

一、任务描述

本任务通过使用STM32CubeMX 图形化配置工具,根据开发板所使用的STM32芯片型号,完成系统时钟、GPIO、工程选项等基础配置,自动生成可在Keil uVision5中直接编译、下载的STM32裸机工程模板。

通过该任务掌握裸机工程的创建流程,形成可重复使用的标准工程框架,为后续外设驱动开发、功能程序编写提供基础工程环境。

二、任务目标

1.知识目标

1)理解STM32裸机工程的基本结构与组成文件。

2)掌握STM32CubeMX中芯片选择、系统时钟配置、工程生成的核心知识点。

3)了解HAL库工程的文件结构、启动文件、时钟初始化逻辑。

4)熟悉工程生成格式(MDK-ARM)及Keil工程适配规则。

2.能力目标

1)能够根据开发板芯片型号,在STM32CubeMX中正确选择对应MCU。

2)能够独立完成RCC时钟配置、GPIO基础配置、工程参数配置。

3)能够生成无错误、可直接编译的标准裸机工程模板。

4)能够在Keil中打开生成工程,完成编译、调试配置,验证工程可用性。

3.素质目标

1)培养规范、标准化的工程创建习惯。

2)提升图形化工具操作能力与工程配置逻辑思维。

3)增强自主排查工程报错、解决配置问题的能力。

三、任务重难点

1.任务重点

1)根据开发板芯片准确选择 STM32 对应型号。

2)正确配置系统时钟(RCC),包括外部晶振/内部时钟选择。

3)完成工程名称、存储路径、编译类型(MDK-ARM)配置。

4)生成结构完整、无编译错误的裸机工程模板。

5)Keil中打开工程并成功编译,验证工程有效性。

2.任务难点

1)系统时钟树正确配置(频率计算、时钟源选择)。

2)避免工程路径包含中文、空格导致编译失败。

3)理解HAL库工程生成机制,确保生成文件完整不缺失。

4)解决Keil编译常见错误(芯片支持包未安装、路径错误、库文件缺失)。

四、知识准备

1.STM32CubeMX 工具用途

STM32CubeMX是ST官方提供的图形化配置工具,可自动初始化芯片引脚、时钟、外设,并生成基于 HAL 库的可移植工程代码,大幅降低开发难度。

2.裸机工程概念

不搭载操作系统(RTOS/Linux),直接控制硬件寄存器、依靠 HAL 库进行硬件驱动的 STM32 基础工程,是嵌入式开发最基础的工程形式。

3.系统时钟(RCC)知识

时钟是单片机运行的基础,配置内容包括:

1)时钟源选择(外部晶振HSE/内部时钟HSI)

2)系统时钟频率配置

3)时钟树分频/倍频设置

4.HAL库基础

ST官方提供的硬件抽象层库,屏蔽寄存器差异,提供统一API函数,是STM32CubeMX生成工程的核心依赖库。

5.MDK-ARM工程格式

Keil uVision5支持的工程格式,STM32CubeMX 需选择该格式才能生成可直接导入Keil 的工程文件。

6.工程路径规范

工程路径不能出现中文、空格、特殊字符,否则会导致 Keil 编译失败、文件无法识别。

五、任务实现
任务2.1新建工程

打开STM32CubeMX软件,新建工程(方法见任务1中“STM32CubeMX软件安装环境检查”部分)。

任务2.2引脚配置

1.配置烧录调试方式引脚。在“Pinout&Configuration”界面中左侧列表选择“Syetem Core”->“SYS”,在出现的Mode界面中Debug选项下拉选择“Serial Wire”,即SWD接口,该接口适用于STLink和JLink。如图1所示。

图1 配置SYS

2.配置时钟引脚。左侧列表选择“Syetem Core”->“RCC”,在出现的Mode界面中High Speed Clock(HSE,外部高速时钟)选项下拉选择“Crystal/Ceramic Resonator(晶振/陶瓷谐振器)”,即采用外部晶振作为 HSE 的时钟源。如图2所示。

图2 配置RCC

3.配置串口引脚。左侧列表选择“Connectivity”->“USART1”,在出现的Mode界面中Mode选项下拉选择“Asynchornous”,以同样的方法配置“USART2”和“USART3”,如图3所示。

图3 配置UART

任务2.3 时钟配置

单击进入“Clock Configuration”界面,根据图4所示方式配置时钟信号。最高时钟频率为72MHz,在HCLK处输入72。

图4 时钟配置

任务2.4工程设置

1.点击进入“Project Manager”界面,选择“Project”,填写工程名称和保存路径,IDE环境选择“MDK-ARM V5”进行工程配置,如图5所示。

图5 工程设置

2.单击“Code Generator”按钮,勾选如图6所示选项,完成工程配置。

图6 Code Generator配置

任务2.5生成初始化代码

1.点击“GENERATE CODE”,在弹出的对话框中点击“Open Project”,如图7所示。

图7 Open Project

2.随后自动弹出Keil5软件界面,在Keil5中打开名为TEST的工程,检查工程文件是否完整无误,如图8所示。

图8 Keil5中打开TEST工程

3.点击“Build”按钮进行编译,查看运行结果。

图9 查看运行结果

根据图9的输出信息,0 Error(s),0 Warning(s)表示编译成功,说明初始化代码生成无误。(只要输出为0 Error(s),即表示编译成功)。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐