转载-如何结合FT2232HL/CMSIS-DAP+Eclipse+OpenOCD软硬件工具使用SWD调试接口在Windows10操作系统在线调试S32K3XX(Cortex M7)

发布时间 2023-05-28 16:35:54作者: LiYanbin

原文链接:https://blog.csdn.net/zhuwade/article/details/121944736

由于我们公司自己需要开发烧录工具,本人通过google搜相关文档和看ARM公司的技术文档,终于实现了这个功能。因为涉及的内容知识点比较多,对于玩嵌入式MCU的小白来说要普及的知识,逐个介绍篇幅会比较长,本文中只介绍相应的关键知识点。篇幅有相关知识点文章推给大家。

我们带着下面几个问题进行展开:
    1. 为什么选择 FT2232HL/CMSIS-DAP调试器工具?
    2. SWD是什么?为什么要选择使用SWD调试接口?调试工具是通过什么方式访问Cortex-Mx内部的呢?
    3. OpenOCD是什么?为什么要选择 OpenOCD?如何获取搭建OpenOCD环境?
    4. 如何连接FT2232HL Debuger Adapter的SWD调试接口? 如何结合S32K3XX DAP architecture和OpenOCD工具深入挖掘芯片内部?
    5. 什么是Eclipse?为什么要选择使用Eclipse在线调试代码?如何获取搭建Eclipse GUI在线调试环境?
 

其实有相关嵌入式MCU调试经验的同事从标题就可以看出其中的核心价值是什么? 开源免费不需要考虑版权问题

我们拿STM32 OpenOCD调试系统框图来展开。

以上图片来源https://zhuanlan.zhihu.com/p/41517198

我们将原调试系统框图进行修改一下

那么现在看,是不是就一目了然了?是不是在现在的框图中发现FT2232HL/CMSIS-DAP+Eclipse+OpenOCD+SWD+S32K3XX(Cortex M7)对应所在的位置?

1. 为什么选择 FT2232HL/CMSIS-DAP调试器工具?

市面上有很多种调试工具例如Segger-JLINK,ARM Keil ULINK,ST-LINK,CMSIS-DAP/DAP-LINK等等。

 J-Link

J-Link是最著名的ARM开发调试工具,J-Link由SEGGER公司生产。提供对市面上几乎所有ARM内核芯片的支持。目前最新版本的J-Link产品有J-LINK PRO,J-LINK ULTRA+,J-LINK WiFi,J-LINK PLUS,J-LINK BASE,J-LINK EDU,J-LINK OB等等,PRO/ULTRA+/WiFi/PLUS/BASE支持JTAG和SWD模式。并且对主要的IDE环境如KEIL、IAR都有良好的支持。优点很多,因此也是首选的调试工具。新版本J-LINK功能越强官方售价自然就高,J-LINK PRO价格大概在€798.00。想样更细了解请看SEGGER J-Link产品详情。 曾经淘宝有很多盗版,现在JLINK自我保护做的很安全,一旦要支持更高级的版本功能,在线升级因为license问题导致无法继续再使用,现在在淘宝基本很少见到盗版J-LINK。

ULINK

ULINK是ARM官方的调试工具,KEIL出品。ULINK也可以支持大多数的ARM芯片,对KEIL的支持非常好,是KEIL的默认调试工具。缺点是因为不支持IAR,影响了ULINK的推广。ULINK官方提供电路图等资料,属於半开放的,可以自做。
UNLINK 产品介绍链接如下ULINK debug and trace adapters。ULINK一样功能越强的产品价格越贵。ULINKpro 价格大概在1,250.00。关键Keil编译与调试环境(Microcontroller Development Kit) MDK-Professional现在基本是按每年卖License. 一个License一年的价格在1,250.00。关键Keil编译与调试环境(MicrocontrollerDevelopmentKit)MDKProfessional现在基本是按每年卖License.一个License一年的价格在4,560.00. 

ST-LINK

ST-LINK可以单独购买,也可以通过ST公司的开发板自带,Discovery系列的开发板价格最低价格不到¥100。板载的ST-LINK可以仿真ST公司的所有ARM芯片。ST-LINK除支持ST公司的ARM MCU(M3内核的STM32F1、F2,M4内核的F4、F3以及M0内核的F0),还支持STM8系列。ST-LINK的版本目前为ST-LINK V2。虽然资料基本公开,但既然成本不高,就没必要自制。而且ST公司配套开发环境STM32CubeIDE和STM32CubeProg都是免费。为什么ST是现在Cortex M卖的最好的原因也是因为ST-LINK便宜而且对应的开发调试软件软件配套免费丰富。

CMSIS DAP/DAP-Link

CMSIS-DAP Debugger现在市面上非常常见。什么是CMSIS? 什么是CMSIS-DAP?
CMSIS: Cortex Microcontroller Software Interface Standard,即Cortex微控制器软件接口标准
CMSIS-DAP is a specification and a implementation of a Firmware that supports access to the CoreSight Debug Access Port (DAP). CMSIS-DAP支持各种Cortex处理器CoreSight调试和跟踪。CMSIS-DAP为调试器提供标准化的接口,支持5线JTAG或2线SWD,其固件作为源代码提供。CMSIS DAP V2.0.0 ,CMSIS V5 开源源码 和 更多详情...
CMSIS-DAP 好处,硬件设计开源,源码开源。STM32 CMSIS DAP开源资源 和 IBDAP-CMSIS-DAP-JTAG-SWD-Debug-Adapter开源资源。
DAP-Link 是CMSIS-DAP的升级版。优点:拖拽烧录、升级固件。包括了CMSIS-DAP的优点:开源+虚拟串口+免驱。淘宝有售Muse Lab CMSIS DAP/DAPLink仿真器STM32调试器下载器Keil JTAG/SWD/串口

CJMCU-2232 FT2232

CJMCU-2232 FT2232 其实是 一款USB to UART FIFO SPI I2C JTAG RS232 开发板。它的好处是不需要固件支持,只需要USB驱动支持。不存在固件更新或丢失的风险。价格也合适淘宝人民币60左右【优信电子】FT2232HL双通道 USB转UART/FIFO/SPI/I2C/JTAG/RS232。没有支撑的软件支持,但是OPENCOD支持,调试接入和在线源码调试完全靠脚本实现。

优缺点:

J-LINK 和 U-LINK对于资金雄厚的大公司来说,这点费用不算什么,但是涉及到几千几万员工使用这个费用可不少。
ST-LINK有点局限性,只能适用于ST公司的STM32芯片。
CJMCU-2232 FT2232适用于有一定ARM嵌入式开发基础,并且对于ARM调试接口比较熟悉的高级程序猿。大/小公司都适用但是需要专门人员去开发。
CMSIS-DAP Debugger对于资金少得公司,一些初创公司或者院校大学生来说是最佳选择,因为硬件和软件都开源,可以自己做,由于便宜也可以直接淘宝购买。

我为什么选择CJMCU-2232 FT2232也是被逼于无奈,我们公司长期一直在使用自己设计的蓝盒子工具,里面用的芯片是FT2232D. 几乎是全球员工都在使用。必须的开发出相应的调试和烧录工具。

2. SWD是什么?为什么要选择使用SWD调试接口?调试工具是通过什么方式访问Cortex-Mx内部的呢?

文章链接: SWD下载调试接口原理深度剖析

3. OpenOCD是什么?为什么要选择 OpenOCD?如何获取搭建OpenOCD环境?

文章链接:  如何搭建OpenOCD环境基于Window10+Cygwin?

4. 如何连接FT2232HL Debuger Adapter的SWD调试接口? 如何结合S32K3XX DAP architecture和OpenOCD工具深入挖掘芯片内部?

文章链接: 如何使用FT2232H适配器和开源调式工具OpenOCD对ARM Cortex M系列MCU进行SWD接口调试

5. 什么是Eclipse?为什么要选择使用Eclipse在线调试代码?如何获取搭建Eclipse GUI在线调试环境?

文章链接: 如何结合Eclipse+OpenOCD+arm-none-eabi-gdb实现可视化在线调试ARM Cortex M7内核?

历经3周终于把整套流程弄懂跑通。发现为公司global team省了购买工具的成本,成就还是满满的。