尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

完整教程:【stm32】cube固件解析和放入工程(HAL_F4)

完整教程:【stm32】cube固件解析和放入工程(HAL_F4)
📅 发布时间:2026/6/20 9:51:36

完整教程:【stm32】cube固件解析和放入工程(HAL_F4)

首先cmd中运用命令生成文件夹方便观看

tree /f /a > tree.txt

生成的有60000多行,不要用/f就只有文件夹

_htmresc一般这个名就是图片资源和html等,不管

文档。就是Documentation就不管

Projects存放官方献出的示例工程,包含各种外设的应用模板和复杂应用。参考使用。

Drivers存放最核心的底层驱动,包括CMSIS内核文件、MCU外设驱动等。这是每个工程都必须的。

Middlewares存放中间件,即一些功能丰富的软件库,如ST自家的USB驱动、第三方操作系统FreeRTOS、网络协议栈LwIP和文件系统FatFs等。按需取

Utilities包含针对ST官方评估板(开发板)的特定代码(如BSP驱动)和资源。不管

详细看Drivers文件夹

xx_HAL_Drvicer文件夹

一个就是.xxx.chm文件经过编译的HTML帮助文件,它包含了xxx系列微控制器的完整技术参考手册。你可以把它理解为ST官方为开发者准备的“产品说明书”或“制作指南”。双击打开。数据手册首要服务于硬件工程师,而用户手册(.chm)主要服务于软件工程师。

CMSIS

CMSIS - Cortex微控制器软件接口标准。这是由ARM制定的通用标准,确保了不同芯片厂商的Cortex-M内核单片机在软件层面有一定的兼容性。你可以把它理解为计算机的"主板和CPU的基本驱动"。

Documentatioin/不用想

Include/ 文件和Core/Include/下面全部一样

Core/ - 与芯片无关的纯内核支持

Device/

Device/ST/STM32F4xx/ - ST公司为STM32F4系列添加的设备特定支持,其中include/下要复制到工程中(可以要哪个芯片用哪个)。source/文件夹下的有对应arm,gcc,iar三个环境的启动文件(启动文件可以自己用c语言写,不难,自己写可以和平台初始化记录放一起)。

  • 启动文件 (startup_stm32f4xxxx.s):这是芯片上电后运行的第一段代码。它包含了堆栈初始化、中断向量表(告诉你发生某个中断时该跳转到哪里去执行)、以及最终调用 main 函数的复位程序。这是不可或缺的。

  • 系统初始化文件 (system_stm32f4xx.c):包含 SystemInit() 函数,在启动文件里被调用,用于初始化芯片的时钟系统(设置PLL,配置HCLK, PCLK等),让CPU和外设运行在正确的频率上。这个文件的头文件在core/ 下面源文件是在source/下面。

  • 内核相关头文件:如 core_cm4.h,定义了Cortex-M4内核的寄存器、NVIC(嵌套向量中断控制器)、SysTick(系统定时器)等的访问方式。在 core/ 或者Include/

  • 设备特定头文件 (stm32f4xx.h):这是最重要的设备头文件。它包含了你的STM32F4型号的所有外设寄存器定义(即,每个寄存器地址的宏定义)。当你写 GPIOA->ODR = 0xFFFF; 时,其实就是这个文件定义了 GPIOA 和 ODR。在include/

DSP/ - 数字信号处理库 (可选)

作用:提供Cortex-M4内核DSP指令集的软件接口,让你能用C语言轻松调用底层硬件加速功能。

RTOS/ - 实时操作系统接口 (可选)

CMSIS-NN (神经网络库)

CMSIS-DAP (调试访问端口)

开源的JTAG/SWD调试器固件,用于连接电脑和目标MCU,你观察过H7的是没有这个的,拥护基于Cortex-M0/M3/M4,因为这个给做调试器的MCU用的。

构建自己的Project

cmake或者make,要额外有交叉编译工具和CMakeLists.txt文件,还要自己搞研发环境。不过我写了对应文章并开源工程模版提供使用。就是这里只说明用什么库,不说明用什么方式,因为我肯定用的

一个基本的stm32工程需的库了。这样有什么好处?就是首先就是ST的第三方库,把CMSIS的Include/和Device/,还有STM32xxxx_HAL_Driver/。只要这三个就

可以多个添加Device/ST/下的文件夹,比如同时有f4和f1和h7,STM32xxxx_HAL_Driver/。甚至可以添加非ST的芯片,比如我用了Generic未知/裸机系统嵌入式、RTOS、裸机研发,这时候就可以通过配置cmake管理配置选项搞大型工程。

相关新闻

  • 怎么激活win11?笔记本重装系统后怎么激活Windows?
  • 现代 PHP8+ 实战特性介绍 Enums、Fibers 和 Attributes
  • php 1026

最新新闻

  • 7月1日超龄用工新规落地,企业劳动合同管理必须跨过这道合规关
  • 微信网页版访问终极指南:wechat-need-web插件完整使用教程
  • OBS Spout2插件:打破Windows视频制作生态壁垒的专业级纹理共享技术方案
  • 白银市奢侈品手表包包回收价格差距高达15%:实测对比告诉你哪家店报价最实在 - 谊识预商贸
  • HS2-HF_Patch终极指南:Honey Select 2汉化去码增强补丁完全解析
  • 白银市闲置手表包包奢侈品变现,整理了5家靠谱回收店联系方式 - 谊识预商贸

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号