Keil5实战:STM32F103ZET6新建工程全流程(附软件仿真调试技巧)
每次打开Keil MDK-ARM,面对那个熟悉的蓝色界面,我都会想起自己第一次为STM32F103ZET6搭建工程时的情景。那会儿手忙脚乱,不是头文件路径没加对,就是启动文件选错了型号,一个简单的LED闪烁程序折腾了大半天才看到希望之光。对于刚从51单片机转向ARM Cortex-M3内核的开发者来说,STM32F103系列无疑是绝佳的入门选择,而Keil5(MDK-ARM)作为业界广泛使用的集成开发环境,掌握其工程创建与调试技巧,就等于拿到了打开STM32世界大门的钥匙。这篇文章,我将以一个实际项目开发者的视角,为你拆解从零开始构建STM32F103ZET6工程的每一个细节,并深入分享那些官方手册里很少提及、却能极大提升效率的软件仿真调试实战技巧。无论你是嵌入式新手,还是希望梳理工作流的熟手,这里都有你需要的干货。
1. 工程基石:从零搭建STM32F103ZET6开发环境
在动手写第一行代码之前,一个清晰、规范的工程结构是后续所有开发工作的基础。它不仅能避免低级错误,更能在项目复杂后,让你和你的团队依然能高效协作。
1.1 软件准备与项目创建
首先,确保你的电脑上已经安装了Keil MDK-ARM(通常我们称之为Keil5)以及对应的STM32F1系列设备支持包(Device Family Pack)。如果没有,可以去ARM官网或芯片厂商的合作伙伴页面获取。安装过程这里不再赘述。
启动Keil5,我们开始创建新工程:
- 点击菜单栏的
Project -> New uVision Project...。 - 在弹出的对话框中,选择一个空文件夹作为你的工程根目录。我个人的习惯是,先创建一个以项目命名的总文件夹(例如
My_STM32_Project),然后在里面再创建Project、User、Libraries、Output等子文件夹。这样将源码、工程文件、输出文件物理分离,结构一目了然。 - 为工程命名(如
STM32F103ZE_Demo)并保存。 - 紧接着会弹出设备选择窗口。在搜索框输入
STM32F103ZE,从列表中选择STM32F103ZETx。这里需要特别注意:STM32F103ZET6中的“6”代表Flash容量为512KB,而“T”代表LQFP144封装。选择正确的型号,Keil会自动关联对应的启动文件和一些基础配置。
注意:如果你在设备列表中找不到STM32F103ZETx,说明对应的DFP包没有安装,需要先通过Keil的Pack Installer进行安装。
创建完成后,一个最基础的工程框架就生成了,但此时它还是一个“空壳”。
1.2 工程文件结构的艺术:分组与文件夹映射
Keil工程管理文件的核心概念是“组”(Group)。组是工程视图中的逻辑分类,它可以映射到硬盘上的物理文件夹。合理的分组能让工程看起来清爽,管理起来方便。
我推荐为STM32标准外设库(或HAL库)工程建立如下分组结构:
| 组名 | 主要存放文件 | 物理文件夹建议 | 作用说明 |
|---|---|---|---|
| Startup | startup_stm32f10x_hd.s |
Libraries/CMSIS/startup |
存放芯片启动文件,包含中断向量表和初始堆栈设置。 |
| CMSIS | core_cm3.c, system_stm32f10x.c |
Libraries/CMSIS |
Cortex-M3内核相关文件及系统初始化代码。 |
| User |

&spm=1001.2101.3001.5002&articleId=153665545&d=1&t=3&u=f5bc8517bcdf48f3a5f04003f6b3f4a8)
1176

被折叠的 条评论
为什么被折叠?



