260911-SMT32单片机-Labview生成C代码配置

  1. 1. Keil5 MDK 是什么
  2. 2. J-Link 是什么
  3. 开发过程:
  4. LabView : 转换 C/C++
  5. Keil5 MDK:编译生成 .hex / .bin / .axf

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

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


labview 代码如何导出 后缀用HEX或者Bin 的文件,用于SMT32 F407主板的程序烧录 .

烧录器需要: 编译成可执行烧录的文件才能导入烧录,后缀用HEX或者Bin


整个关系大概是:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
LabVIEW算法

├── PID
├── 数据计算
├── 状态机
└── 控制算法

转为 C

C/C++ 程序

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

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

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

SWD / JTAG 接口

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

运行你的程序

开发流程是:

LabVIEW 算法
→ 整理/转换 C/C++
→ STM32F407 工程
→ Keil5 MDK 编译
→ 生成 .hex / .bin / .axf
→ 使用 J-Link,通过 SWD/JTAG 烧录
→ STM32F407 实际运行、调试

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芯片直接运行

2. J-Link 是什么

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”
的设备。

需要开发人员最好熟悉:

  1. LabVIEW,能够看懂 VI 程序和程序逻辑;
  2. STM32F407 开发;
  3. C/C++;
  4. Keil MDK5;
  5. STM32 HAL/标准库;
  6. J-Link、SWD/JTAG 下载调试;
  7. 能够进行 PID、状态机、IO控制等程序移植。

LabView : 转换 C/C++

选择build specifications-New-C code Generation(.c,.h)。

Keil5 MDK:编译生成 .hex / .bin / .axf

归档 GitHub