首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
【STM32 + CubeMX】 新建一个工程(STM32F103)
📅 2026/10/31 1:15:58
✍️ 爱科研究院
👁 阅读 3,247
相关文章【HAL库】 STM32CubeMX 教程 1 --- 下载、安装目录一、CubeMX 新建工程二、工程文件解释三、编译四、烧录一、CubeMX 新建工程步骤 8-1新建工程基于芯片型号打开 CubeMX 选择芯片型号。也可以通过菜单栏File NewProject步骤 8-2搜索芯片型号输入芯片型号如F103C8、RCT6、STM32F103VE等右边列表将会显示详尽型号。双击芯片型号即可进入配置。步骤 8-3配置Debug调试方式最多人漏做、错做的 3 项中这是其一;必须养成习惯新建工程时先配置Debug选项, 即调试模式。默认是关闭的必须配置为Serial Wire。通用STLink、JLink、CMSIS DAP等仿真器。如果忘记了此配置将会导致烧录一次程序后芯片无法再烧录按图中操作解锁芯片。步骤 8-4晶振源最多人漏做、错做的 3 项中这是其二;HSE外部高速晶振 Crystal/Ceramic ResonatorLSE 外部低速晶振用于实时时钟不使能以后用到时再打开CubeMX增加配置置。步骤 8-5配置时钟树下图参数通用STM32F103系列 如F103C8、F103RC、F103VE等等。注意1、3两项要填写实物晶振值可以查看晶振上丝印 也可以查看原理图。晶振值输入分频输出倍频APB1分频APB2分频系统 时钟8192172MHz步骤 8-6工程管理进入工程管理页面这一页要设置3个地方工程名称、存放目录、开发环境。最多人漏做、错做的 3 项中这是其 三;重点注意工程存放位置、工程名称不能使用中文开发环境选MDK-ARM, 即生成Keil需要的工程文件。堆栈大小改成0x1000。特别是 Stack建议0x1000以避免工程以后使用FreeRTOS、LVGL时内存溢出等编译器也无法发现的错误这类bug最难排查。步骤 8-7代码配置这一页打勾两个选择标记2只复制需要的库文件可以有效控制代码体积。标记3为各种外设生成独立的C、h文件倘若不打勾外设的生成代码会堆在main.c中。至此已完成新建工程所需全部配置。是的工程上的配置就这么简单。至于LED、TIM等外设功能配置为了明确“工程配置”的最简操作后篇再示范。总结一下主要的流程芯片型号 Degub模式 晶振源 时钟树 工程参数。最后我们点击按钮生成工程步骤 8-8生成工程稍等数秒生成完成后会弹出提示窗Open Folder: 打开工程目录文件夹。Open Project: 使用Keil打开工程进入编辑。注意如果设置的工程存放目录有中文弹出窗体的按钮就会显示不完整速度修改去操作技巧在刚才的软件配置中我们使用的是英文的目录路径、英文的工程名称。工程的第一次生成时必须是英文路径、名称 。否则生成时会缺失文件。当工程生成后可以把工程文件夹修改成中文名称。也可以把工程文件夹复制到其它带中文的路径中存放以方便管理。但是不能修改工程内的子文件夹名称、文件名称否则工程无法正常打开。二、工程文件解释双击打开工程目录不管哪种STM32芯片, 文件结构都基本相同如下图Core用户平时要编写的文件都在这文件夹里如main.cDrives芯片内核支持文件、 HAL库文件。都不用修改的MDK-ARM工程入口文件、仿真调试记录文件工程名称.iocCubeMX的配置文件双击它就可以再次对工程进行配置当以后需要启用、增删某些芯片功能时再次双击蓝色的ioc文件就能再次进入CubeMX配置。常用的是 “MDK-ARM这个文件夹打开后可以看到绿色图标的keil工程文件。双击这个绿色图标的文件即可打开keil进行工程代码的编辑。startup_st32f103xe.s传说中的启动文件不用管它不用修改的工程名称.uvprojx (绿色图标工程入口文件双击它即可打开Keil编辑代码概念区分CubeMX 配置工程; 生成指定功能的初始化代码、底层代码;Keil: 编写具体的业务代码。其实用keil也能新建、配置工程编写任何初始化、底层代码但用CubeMX来做更快、更省事、更直观。CubeMX更大的意义在于我们能方便在各个型号芯片间游走因为不同型号的芯片配置操作是大致相同的、生成的代码文件结构是相同的、函数名称是相同的。三、编译步骤 2-1打开工程双击打开工程目录下 MDK 文件夹中的绿色图标文件进入keil工程。Keil软件布局、常用按钮如下图。双击左侧文件管理器中的 Core 文件夹其下有常用的main.c、it.c等文件。双击main.c即可在代码编辑区中打开进行编辑。步骤 2-2编译工程无需做其它环境配置、参数设置。点击上图中 工具栏的 “编译” 按钮即可对工程进行编译。等待编译完成后信息中结果为:0 Error, 即表示CubeMX生成工程成功如下图。注意必须是 0 Error, 才会生成烧录文件。Warning的数量不影响生成可烧录文件。另在CubeMX配置时如果使用了中文路径、名称就会出现各种错误如缺少启动文件等。四、烧录步骤 4-1连接仿真器烧录程序至板子需要通过 仿真器 (烧录器。情况 1使用板载仿真器本篇示范使用的是魔女科技的STM32开发板开发板已集成了CMSIS DAP仿真器。开发板只需插上USB线电脑自动识别到CMSIS DAP仿真器白灯就会进入慢闪提示状态。如下图USB线插在开发板右侧USB接口口即为连接好了仿真器 CMSIS DAP。情况2外接仿真器STLink、JLink如果想使用其它仿真器如 STLink、JLink可通过如下图接线法把仿真器接入到SWD接口。注意这个开发板是5V供电如果没有插USB线STLink等外部仿真器需改插5V作供电。本篇主要示范CMSIS DAP的配置STLink或JLink的详细配置可参考STLink、JLink 使用方法步骤 4-2CMSIS DAP仿真器参数配置点击 工程设置 图标 (如下图)Debug 页面选择:CMSIS DAP点击 Setting 按钮进入详细参数设置Flash Download 页面选择Reset and Run(烧录后自动复位、运行点击OK按钮即可保存退出。注意一定要点击OK按钮才会保存)步骤 4-3烧录 程序点击“烧录”按钮即自动开始烧录程序至芯片。如果仿真器连接错误或参数设置错误点击“烧录”按钮后会有弹窗警告。烧录开始后左下角的信息栏可以看到烧录状态如擦除进度、烧录进度等等......烧录完成后信息栏显示如下如果之前打勾了 Reset and Run 自动复位烧录完成后程序就会立即运行本工程在于示范新建、编译、烧录 等操作还没有配置LED等烧录完成后板子是没有反应了。后续 可以通过 CubeMX 在工程基础上添加 LED 引脚配置、UART通信等中 烧录后就能方便地判断程序烧录后是否正常运行。至此第一个工程已成功创建本工程完成后可以复制一份当作日后其它工程的基础模板无需每次做项目都新建一次
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/31 1:15:58
公司功能测试常用adb
2026/10/31 1:15:58
分布式锁怎么实现?
2026/10/31 1:15:58
npm常用命令以及运行环境检测,前端必学
2026/10/31 2:21:02
Prometheus明明已经告警,值班群却收不到?Alertmanager接上钉钉后,异常和恢复消息都能主动推送
2026/10/31 2:21:02
SAP固定资产操作手册:从AS01到MIGO的采购到资产闭环实操指南
2026/10/31 2:21:02
基于标准差与RSV的自适应网格交易策略:Python量化实现与优化
2026/10/31 2:21:02
ETL设计实战:从数据抽取、清洗到加载的避坑指南
2026/10/31 2:21:02
2015年信息安全管理与评估赛题深度拆解:三阶段攻防演练与工程实践指南
2026/10/31 2:16:02
OpenClaw 自动化工作流:定时任务/网站监控/AI日报
2026/10/31 0:00:18
猫狗目标检测数据集:VOC/COCO/YOLO三格式一体化实战包
2026/10/31 0:00:18
HDU2017多校标程复现:算法竞赛工程化真题沙盒
2026/10/31 0:00:18
Codex Sandbox 隔离环境拆解:AI Agent 的临时实验室如何运作
2026/10/31 0:57:03
全国计算机二级C语言真题PDF高效刷题指南
2026/10/31 0:56:56
requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南
2026/10/30 21:48:31
递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现
2026/10/30 3:44:27
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/30 3:44:25
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/30 3:44:29
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)