嵌入式:理解STM32文档和社区生态,工具链的选择与安装
一、STM32 的文档与社区生态1.理解文档化逻辑产业依靠分工运转CPU 设计、芯片制造、PCB 绘制、软件编程由不同人员各司其职同时产业链需要紧密协作不同领域人员想要配合就必须依靠文档打通知识壁垒。 不懂硬件结构、引脚功能、寄存器定义时查阅配套文档是唯一方式。文档化是嵌入式行业常态阅读芯片手册是嵌入式工程师必备能力文档消除不同岗位的知识隔阂看懂各类手册是嵌入式领域通用语言。2.嵌入式开发必备各类文档ARM 内核侧《技术参考手册》ARM 售卖 CPU 内核 IP 时会提供该手册指导芯片厂商集成 Cortex 系列内核ARM 架构参考手册下载地址https://www.arm.com/products/silicon-ip-cpu/cortex-m/cortex-m3这份手册面向硬件底层设计普通软件开发者一般无需查阅。ST 意法半导体MCU 厂商输出两份核心手册《数据手册》单片机芯片参数体检表记录引脚定义、电压参数、外设地址等供硬件工程师绘制原理图、PCB 链接https://www.stmcu.com.cn/Designresource/detail/document/696097STM32F103 | 产品 | STM32 | MCU单片机 | 意法半导体STM | STMCU中文官网《参考手册》单片机完整操作说明书标注所有寄存器每一位功能软件工程师编写驱动必备 链接https://www.stmcu.com.cn/Designresource/detail/document/699481学习文档心态说明前期不用通读所有海量文档入门阶段只聚焦STM32 参考手册 开发板原理图两份资料即可3. 意法半导体相关官网生态意法全球官网www.st.com全球公司官网面向全世界用户涵盖意法半导体全部产品线不只是 MCU中文官网www.st.com.cn意法半导体中国区官方网站收录 ST 全线产品面向中国用户ST MCU 中文官网www.stmcu.com.cnST MCU 产品中文技术门户专注于 STM32/STM8 微控制器和微处理器不含 ST 其他产品线如功率芯片、传感器等是我们工程师重点查看的网站。二、STM32 开发工具链生态MCU 的裸机开发。裸机开发指的是在没有任何操作系统如 FreeRTOS、Linux支持的情况下直接在微控制器MCU上编写程序。根据我们之前 C 语言的学习再结合 MCU 的生态理解我们后续写的代码是一定要在 MCU 内部的 Cortex-M3 CPU 内核上运行的也就是说我们主要的开发语言是 C 语言而且需要编译器把 C 语言编译成为二进制在 MCU 内部运行。1. STM32 完整开发流程2. STM32 主流工具链方案对比MCU 开发中常见的工具链组合非常多C 语言 Keil MDK 标准外设库 (Standard Peripheral Library简称 SPL) 标准外设库官方已经在 2017 年弃用了陈旧做法不建议使用。C 语言 Keil MDKSTM32CubeMxHAL 库 Keil MDK 编写代码特别难受不建议纯这套组合使用C 语言 Keil MDK vscode STM32CubeMx HAL 库 企业大量在用 Keil MDK使用 vscode 的代码编辑能力来补充编码体验采用这种开发方式C 语言 STM32CubeIDEHAL 库 STM32CubeIDE 集成度太高不利于新手吃透底层原理目前不建议入门选用C 语言 IARSTM32CubeMxHAL 库 IAR 在企业内使用份额很高但 IAR 无免费社区版本正版授权费用昂贵不适合新手学习Keil MDKMicrocontroller Development Kit微控制器开发套件也称 MDK-ARM是 ARM 公司收购 Keil 之后推出专门面向 ARM Cortex-M、Cortex-R、Cortex-A 系列处理器的嵌入式软件开发工具。归属 ARM 核心原因适配 ARM 指令集 下载地址https://www.keil.arm.com/mdk-community/STM32CubeMx 与 STM32CubeIDE 区别STM32CubeMx硬件可视化配置、芯片初始化代码生成工具核心作用图形化配置外设与时序自动生成底层初始化源码官网https://www.st.com/en/development-tools/stm32cubemx.htmlSTM32CubeIDE意法官方一体化集成开发环境集代码编写、编译、调试、程序烧录功能于一体官网https://www.st.com/en/development-tools/stm32cubeide.html3. C 语言 Keil MDK VSCode STM32CubeMx HAL 库工具所属公司主要作用Keil MDKARM 公司程序编译、链接、调试生成可烧录机器码VS Code微软现代化轻量化代码编辑器依靠插件拓展开发环境STM32CubeMX意法半导体 (ST)图形化配置引脚、系统时钟自动生成芯片初始化代码HAL 库意法半导体 (ST)硬件抽象层 API屏蔽底层寄存器细节大幅提升代码可移植性4. 核心问题HAL 库适合入门学习吗SPL 标准库早已被 ST 官方全面淘汰如今只有老旧遗留项目还在维护新项目统一使用 HAL 库AI 开发时代更不会选用标准库STM32 标准库什么时候被淘汰的https://www.doubao.com/thread/x2zz91fabcTVxLhUFCubeMX 可根据用户配置一键生成初始化配置代码仅底层配置代码不包含业务逻辑代码极大提升项目开发效率弊端纯图形化点选配置容易脱离硬件底层原理界面不会展示寄存器细节初学者容易只会拖拽不懂内核逻辑。解决方案穿插研读 HAL 库自动生成的源码逐行拆解底层寄存器逻辑打通图形配置和硬件原理之间的隔阂。 吃透 HAL 库开发方式后其余各类开发工具链都能快速上手。三、开发环境安装与介绍1. VSCode 介绍VSCode 是程序员圈子里主流开发工具之一嵌入式领域越来越多公司也开始转向 VSCode。核心定位代码编辑器优势现代化开发界面强大代码编辑支持快速代码补全、高亮、跳转等功能插件体系丰富环境搭建简单便于和 AI 结合开源免费劣势部分场景下调试能力不如 Keil2. VSCode 安装2.1 下载 vscode下载链接https://code.visualstudio.com/2.2 安装跟随安装向导步骤完成即可3. Keil MDK 介绍老牌单片机集成开发环境可兼容市面绝大部分单片机开发。 Keil 是开发这个开发工具的公司名2005 年 Keil 公司被 ARM 收购成为 ARM 子公司。补充STM32 的 CPU 内核 Cortex 均由 ARM 公司设计。MDK 全称Microcontroller Development Kit即微控制器开发工具包含义一套完整开发工具合集包含代码编辑器、编译器、调试器等。Keil MDK 也叫 MDK-ARM、Keil For ARM核心定位Microcontroller Development Kit开发工具包集成开发环境优势兼容性强技术资料极其丰富环境搭建门槛低适合单片机新手入门企业嵌入式项目使用普及率高劣势软件界面不够现代化代码编辑相关功能对比现代编辑器偏弱下载链接https://www.keil.arm.com/mdk-community/4. Keil MDK 安装温馨前置提示软件安装路径绝对不能包含中文必须全英文路径安装目录不能和 C51 版本 Keil 互相冲突二者文件夹需要分开存放使用中出现莫名报错优先百度或者AI查找解决方案不要随意改动配置4.1 获取 KEIL5 安装包要想获得 KEIL5 的安装包在浏览器里面搜索 “KEIL5 下载” 即可找到很多网友提供的下载文件或者到 KEIL 的官网下载https://www.keil.arm.com/mdk-community/。AI 提示词KEIL MDK 官网 社区版本下载链接4.2 开始安装 KEIL5 完整步骤跟随安装向导步骤完成即可安装后弹窗说明安装结束会弹出 Pack Installer 界面该工具作用Pack Installer 是 Keil 官方固件包管理工具用来在线下载、安装各类 MCU 器件支持包DFP 器件固件包STM32、GD32 等芯片的内核启动文件、寄存器配置文件都存放在器件包内。MCU 的品类型号非常繁多开发不同 MCU 的时候需要用到的软件组件也各不相同。Keil 官方帮我们把这些内容都收集好通过 Pack Installer 帮我们从 Keil 的服务器上下载设备驱动程序示例程序中间件库文件等。这是 Keil 软件安装完成或首次启动时的正常现象。Pack Installer 是 Keil5 (MDK5) 的在线组件和芯片包管理工具用于下载各种芯片的 DFPDevice Family Pack即器件支持包。 这些支持包包含了如 STM32、GD32 等芯片的核心固件库和启动文件。4.3 安装 STM32 芯片固件包在 Pack Installer 界面检索 STM32 系列器件选中需要使用的 STM32 型号点击 Install 等待下载安装完毕安装完成后对应芯片固件包会存放在之前设置的 Pack 目录中Keil 即可正常创建对应 STM32 工程5. STM32CubeMX 介绍软件定位STM32CubeMX 是 ST 官方推出的可视化硬件配置 初始化代码自动生成工具核心用途图形化配置单片机外设、时钟、引脚一键生成 Keil 工程初始化代码大幅降低 STM32 底层配置难度。获取方式前往 ST 官方网站下载安装包可免费获取使用。6. STM32CubeMX 安装下载链接STM32CubeMX | Software - STMicroelectronics6.1 固件包安装可以自己设置固件包安装的位置知根知底下载固件包点击红色框中的按钮找到对应的STM32的型号安装即可安装完成后在固件包的位置处即有对应的文件

相关新闻

显卡驱动彻底清理终极指南:如何用Display Driver Uninstaller解决驱动残留问题

显卡驱动彻底清理终极指南:如何用Display Driver Uninstaller解决驱动残留问题

显卡驱动彻底清理终极指南:如何用Display Driver Uninstaller解决驱动残留问题 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/displ…

2026/8/5 9:17:59 阅读更多 →
程序流程控制

程序流程控制

程序三大结构:顺序结构、分支结构、循环结构 顺序结构:代码自上而下依次执行 一、分支结构 1. if分支:简单分支、阶梯if、嵌套if if(条件){ 语句; }else if(条件2){ 语句; }else{ 语句; } 2. switch分支 switch(表达式){ case 常量1: 语句; b…

2026/8/5 9:17:59 阅读更多 →
FreeRTOS学习(十七)——优先级翻转与优先级继承

FreeRTOS学习(十七)——优先级翻转与优先级继承

上一节学习了互斥量(Mutex),它可以保护共享资源,保证同一时刻只有一个任务能够访问串口、LCD、Flash等资源。但是,如果多个不同优先级的任务同时竞争一个互斥量,就可能产生一个比较隐蔽的问题——优先级翻转…

2026/8/5 9:17:59 阅读更多 →

最新新闻

KeymouseGo:跨平台鼠标键盘自动化录制的技术架构与实战应用

KeymouseGo:跨平台鼠标键盘自动化录制的技术架构与实战应用

KeymouseGo:跨平台鼠标键盘自动化录制的技术架构与实战应用 【免费下载链接】KeymouseGo 类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input 项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGo 在当…

2026/8/5 9:59:16 阅读更多 →
Windows平台dirsearch渗透测试工具配置与实战指南

Windows平台dirsearch渗透测试工具配置与实战指南

1. 项目概述:为什么在Windows上玩转dirsearch是门必修课 在渗透测试或安全研究的前期信息收集阶段,目录和文件枚举是绕不开的基础操作。dirsearch,这个用Python编写的命令行工具,因其速度快、字典全、功能灵活,早已成为…

2026/8/5 9:59:16 阅读更多 →
抖音批量下载终极指南:5步搞定自动化收藏,轻松管理喜欢的视频内容

抖音批量下载终极指南:5步搞定自动化收藏,轻松管理喜欢的视频内容

抖音批量下载终极指南:5步搞定自动化收藏,轻松管理喜欢的视频内容 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and …

2026/8/5 9:59:16 阅读更多 →
Linux下adb安装、管理与排错全指南:从基础配置到高效调试

Linux下adb安装、管理与排错全指南:从基础配置到高效调试

1. 从一次设备调试的“卡壳”说起:为什么Linux下的adb管理是门必修课 那天下午,我正在为一个嵌入式开发板调试一个关键的传感器驱动。开发板通过USB连接到我的Ubuntu工作站,一切准备就绪,我习惯性地在终端敲下 adb devices &am…

2026/8/5 9:59:16 阅读更多 →
UE5距离场环境光遮蔽(DFAO)实战:从原理到调优全解析

UE5距离场环境光遮蔽(DFAO)实战:从原理到调优全解析

1. 项目概述与DFAO核心价值最近在UE5里折腾一个写实向的室外场景,总感觉物体之间的接触边缘、墙角、凹陷处少了点“分量感”,光照显得有点“飘”。屏幕空间环境光遮蔽(SSAO)虽然方便,但相机一动或者物体移出屏幕&#…

2026/8/5 9:59:16 阅读更多 →
洛谷P5658 [CSP-S 2019] 括号树一题的题解

洛谷P5658 [CSP-S 2019] 括号树一题的题解

注意到有两个fii-1,也就是说他爹必在它前一个位置,即这棵树退化成一条链,直接暴力枚举所有情况再写一个check函数用来检查子串是否合法。 顺带提一嘴,检查方法为:用一个栈从头到脚依次压入字符,当出现“)”…

2026/8/5 9:58:16 阅读更多 →

日新闻

Java缓存框架:JetCache

Java缓存框架:JetCache

TOC 一、简介 JetCache 是一个 Java 缓存抽象框架,为不同的缓存解决方案提供了统一的使用方式。 它提供的注解比 Spring Cache 更加强大。 JetCache 的注解支持原生 TTL、两级缓存以及在分布式环境中的自动刷新功能,同时你也可以通过代码直接操作 Cach…

2026/8/5 0:00:43 阅读更多 →
AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

需求:通孔焊盘 十字花;过孔 Via 实心直连;贴片焊盘按需设置 AD 测试版本AD24 很多工程师踩坑:全部统一十字,导致接地过孔阻抗高、大电流发热! 一、快捷键打开规则 PCB 界面按下:D R 展开…

2026/8/5 0:00:43 阅读更多 →
AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

更多请点击: https://kaifayun.com 第一章:AI生成素描效果 AI生成素描效果是计算机视觉与风格迁移技术融合的典型应用,其核心在于将彩色照片或RGB图像转换为具有手绘质感、明暗对比强烈、边缘清晰的单色素描图像。该过程通常依赖于深度学习模…

2026/8/5 0:00:43 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/4 13:24:41 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/4 11:41:39 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/4 5:26:40 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →