260911.SMT32单片机.烧录器软件调试流程

  1. 1. Keil5 MDK 是什么
  2. 2. J-Link 是什么
  3. 开发过程:

STM32 单片机软件开发。 J-Link** 和 Keil5 MDK 是 STM32 开发过程中两个不同层面的工具,可以简单理解成:

Keil5 MDK = 写代码 + 编译代码的软件
J-Link = 把程序烧进 STM32 + 在线调试的工具

整个关系大概是:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
你写的 C/C++ 程序

┌────────────────────┐
│ Keil5 MDK │
│ 写代码 / 编译 / 链接 │
└────────────────────┘

生成程序
.hex / .bin / .axf

┌────────────────────┐
│ J-Link │
│ 下载程序 / 在线调试 │
└────────────────────┘

SWD / JTAG 接口

┌────────────────────┐
│ STM32 │
│ 单片机 │
└────────────────────┘

运行你的程序

1. Keil5 MDK 是什么

完整名称通常叫:

Keil MDK-ARM

它是一套 ARM 单片机开发环境,可以理解成 STM32 开发里的「IDE + 编译器」。

和你做 Java 时可以类比:

Java开发 STM32开发
IntelliJ IDEA Keil MDK
JDK / javac ARM Compiler
.java .c / .h
.jar .hex / .bin / .axf
JVM运行 STM32芯片直接运行

J-Link 本质上是一个 ARM 调试器 / 下载器。

比较典型的是一个硬件盒子:

1
2
3
4
5
6
7
8
9
10
11
电脑 USB


┌─────────┐
│ J-Link │
└─────────┘

SWD/JTAG


STM32开发板

电脑上的 Keil 不能凭空把程序写进 STM32。

所以需要一个中间设备。

开发过程:

1
2
3
4
5
6
7
8
9
10
11
① STM32CubeMX
配置STM32的GPIO、串口、定时器等

② Keil5 MDK
写C代码 + 编译

③ J-Link / ST-Link
把程序下载到STM32

④ STM32
真正执行你的程序

可以直接这样理解:

STM32 = 真正干活的单片机
Keil5 MDK = 程序员写 STM32 程序的开发软件
J-Link = 电脑和 STM32 之间的“烧录+调试桥梁”
SWD/JTAG = J-Link 和 STM32 之间使用的调试通信接口

如果你后面是想走你之前说的 LabVIEW → C代码 → Keil5 → 烧录到单片机 这条路线,那么 J-Link 正好就是最后一步里负责 “把
Keil 编译后的程序真正烧进 STM32”
的设备。

归档 GitHub