📖 第 6 章:新建寄存器版本MDK工程(Register-Version MDK Project)

🔧 正点原子《DMF407 开发指南》V1.0 · Chapter 6
🗨️ 「寄存器版本工程已不推荐,但了解它能让你看透 HAL 库:它们都在做同一件事。」
这一章在干嘛? 手工建一个寄存器版本工程,从新建文件夹、拷贝启动文件、添加源码到魔术棒配置、生成 HEX 文件并下载验证。理解完这章,你就能看懂 HAL 库为什么这么封装。
6.1 新建寄存器版本 MDK 工程6.2 下载验证

6.1 新建寄存器版本 MDK 工程

6.1.1 新建工程文件夹

标准工程结构:

Project/
├── Doc/                  # 文档、说明
├── Libraries/            # CMSIS / FWLib 等
│   ├── CMSIS/
│   └── STM32F4xx_StdPeriph_Driver/
├── Project/              # MDK 工程文件
├── User/                 # 用户代码(main.c 等)
└── startup/              # 启动文件 + 系统文件

6.1.2 新建一个工程框架

  1. 打开 MDK → Project → New uVision Project → 选芯片 STM32F407IG;
  2. Manage Run-Time Environment 中先「Cancel」(我们手动加);
  3. 工程结构按上面目录建好。

6.1.3 添加文件

设置工程名和分组名:双击 Project 窗口的 Group 新建分组 CMSIS/Startup/User/Lib。

添加启动文件startup_stm32f407xx.s 加入 Startup 分组。

添加 SYSTEM 源码:把正点原子的 delay/sys/usart 加入 User 分组。

6.1.4 魔术棒设置

Target →

Output →

C51 / Listing → 默认即可。

C/C++ →

Asm → 默认。

Debug → 选 CMSIS-DAP,前面章节讲过。

Utilities → 选 CMSIS-DAP,配置 Flash 算法(STM32F4xx Flash 1MB)。

原书图 6.1.4.1:魔术棒 C/C++ 选项卡
原书图 6.1.4.1:魔术棒 C/C++ 选项卡

6.2 下载验证

按 F7 编译 → 0 Error 0 Warning → F8 烧录 → 看开发板 LED 灯闪说明整个工程链路通了。

工程跑通后建议立刻备份一份「模板工程」,以后每次新工程基于模板复制,效率翻倍。

原书图 6.2.1:编译通过与烧录成功界面
原书图 6.2.1:编译通过与烧录成功界面

🧠 小测验
寄存器版本工程包含哪些分组?
CMSIS、Startup、User、Libraries 等。
魔术棒 C/C++ 的 Define 写什么?
HAL 库版 USE_HAL_DRIVER,STM32F407xx;标准库版 STM32F40_41xxx
Output 必须勾选什么?
Create HEX File 才能生成可烧录的 hex 文件。
← 上一篇🏠 顶层目录下一篇 →