1. 课程导学与环境搭建

各位同学好,欢迎来到《STM32外设驱动与RT-Thread集成实践实战》的第一章。

说实话,我见过太多工程师在学嵌入式时,第一步就栽在了环境搭建上。不是IDE装不上,就是调试器连不通,折腾半天连个灯都点不亮。这节课,我带你把这些坑都填平。

1.1 课程目标与学习路径

这门课到底要学什么?说白了,就是两件事:把STM32的外设玩明白,把RT-Thread系统用起来。

我个人习惯把学习路径分成三个阶段:

  1. 基础期(第1-10章):熟悉开发板、搭建环境、掌握GPIO/UART/SPI/I2C等基础外设驱动。
  2. 进阶期(第11-20章):引入RT-Thread内核,学习线程、信号量、消息队列等机制,并移植到STM32上。
  3. 实战期(第21-30章):综合项目实战,比如智能传感器采集、Wi-Fi联网、电机控制等。

你想想看,如果连串口都调不通,后面谈RTOS调度就是空中楼阁。所以别急,一步一步来。

核心目标:学完本课程,你能独立完成一个基于STM32F407 + RT-Thread的嵌入式项目,从驱动层到应用层都能自己搞定。

1.2 开发板介绍:STM32F407

我们选用的开发板是正点原子探索者STM32F407。为什么选它?

  • 主频高:168MHz,Cortex-M4内核带FPU,跑RTOS绰绰有余。
  • 外设丰富:1MB Flash、192KB SRAM,还有DCMI摄像头接口、以太网MAC、FSMC等高级外设。
  • 资料多:网上教程、例程一抓一大把,遇到问题好查。

我记得有一次做项目,需要同时驱动摄像头、LCD和以太网,换别的芯片早就捉襟见肘了,但F407硬是扛了下来。嗯,这就是我选它的原因。

参数 STM32F407ZGT6
内核 ARM Cortex-M4 (FPU)
主频 168 MHz
Flash 1 MB
SRAM 192 KB
GPIO 114 个
通信接口 6x USART, 3x SPI, 3x I2C, 2x CAN

1.3 IDE安装:Keil MDK 与 RT-Thread Studio

工欲善其事,必先利其器。我们准备两套开发环境:

1.3.1 Keil MDK

Keil是老牌工具了,很多工程师从51单片机就开始用。安装步骤很简单:

  1. 去ARM官网下载MDK-Arm安装包(建议5.38及以上版本)。
  2. 一路Next安装,注意安装路径不要有中文。
  3. 安装完成后,打开Pack Installer,下载STM32F4xx的Device Family Pack。
  4. 破解(你懂的),输入License。

注意:Keil MDK的编译器版本默认是V5,如果你用V6(ARM Compiler 6),记得在工程选项里切换。我曾经因为编译器版本不对,编译出来的代码跑飞了,查了整整一天。

1.3.2 RT-Thread Studio

RT-Thread Studio是RT-Thread官方推出的IDE,集成了RT-Thread源码、Env工具和GCC编译器。我个人更推荐用它来做RT-Thread项目,因为开箱即用,省去很多配置时间。

  1. 访问RT-Thread官网下载Studio安装包。
  2. 安装后,打开Studio,在SDK管理器中下载STM32F4xx的SDK。
  3. 新建工程时选择“基于芯片”,选STM32F407ZG,系统会自动生成模板代码。

说实话,用Studio最大的好处是——你不用手动写链接脚本和启动文件。这些它都帮你搞定了。

1.4 调试工具:J-Link 与 ST-Link

调试工具是嵌入式开发的“听诊器”。没有它,你只能靠猜。

调试器 优点 缺点
J-Link 速度快、支持芯片多、调试功能强 正版贵(盗版不稳定)
ST-Link 便宜、STM32原生支持、够用 速度一般、功能有限

我的建议是:初学者用ST-Link就够了。正点原子探索者板载了ST-Link/V2,插上USB线就能用。如果你以后做商业项目,再考虑J-Link。

小技巧:用ST-Link调试时,如果提示“No ST-Link detected”,先检查驱动。去ST官网下载“ST-Link USB driver”安装即可。我遇到过好几次,都是驱动没装对。

1.5 串口工具准备

串口是嵌入式开发者的“眼睛”。调试信息、日志输出、数据交互,全靠它。

推荐两款工具:

  • PuTTY:轻量、稳定,适合快速测试。
  • MobaXterm:功能强大,支持多会话、X11转发,我平时用这个。

配置参数:

  • 波特率:115200(常用)
  • 数据位:8
  • 停止位:1
  • 校验位:无
  • 流控:无

嗯,这里要注意:串口线一定要接对。开发板的TX接USB转串口模块的RX,RX接TX。我刚开始学的时候,把TX接TX,结果死活收不到数据,还以为是芯片坏了。

1.6 知识体系总览

下面这张图,概括了本章的核心内容。你可以把它当作整个课程的“地图”。

课程导学与环境搭建知识体系 课程导学与环境搭建 课程目标 掌握STM32外设驱动 熟练使用RT-Thread 独立完成综合项目 STM32F407开发板 Cortex-M4 168MHz 1MB Flash / 192KB SRAM IDE安装 Keil MDK RT-Thread Studio 调试工具 J-Link / ST-Link 串口工具 PuTTY / MobaXterm 学习路径 基础 → 进阶 → 实战

1.7 本章小结

这一章我们做了几件事:

  • 明确了课程目标和学习路径。
  • 认识了STM32F407开发板的核心参数。
  • 安装了Keil MDK和RT-Thread Studio两套IDE。
  • 了解了J-Link和ST-Link调试工具的区别。
  • 准备好了串口调试工具。