Keil 死了,我们还能活吗?第二季

2022-05-17 11:38:50 浏览数 (1)

  1. 要调戏MCU,我们需要准备哪些家伙

在上一篇文章中,我们已经可以在Eclipse成功编译工程了。对于一些传说中的大神,这也就够了,他们写完代码,编译,下载看看,不行再来两遍,OK了。但是对于像小编这样的凡夫俗子,程序不调试一下,肯定是不行地。我们来看看Eclipse中如何调试代码。在此我们以STM32F030为例。

需要准备的家伙式儿:

A选项 ST-Link调试器, ST-Link driver,OpenOCD

B选项 对于不差钱儿的主,功能强大的J-Link,和与之配套的J-Link官方软件,当然是不二之选。

  1. 软件下载安装A选项,用ST-Link下载调试。

ST-LINK驱动

https://www.st.com/zh/development-tools/stsw-link009.html

ST-Link installation-1

运行stlink_winusb_install.bat,或者dpinst_amd64.exe,完成ST-Link驱动安装。

OpenOCD (Open On-Chip Debugger)

https://sourceforge.net/projects/openocd/

这个地址有源代码,但好像没有可以运行的文件。这个东西有什么作用呢?看一下官方解释:

The "Open On-Chip Debugger" provides JTAG/SWD access from GDB (or directly with TCL scripts) to processors with ARM and MIPS based cores.

在下面的地址可以找到可运行文件:

https://openocd.org/pages/getting-openocd.html

跳转到:

https://github.com/openocd-org/openocd/releases/tag/v0.11.0

滚动到页面最下方:

把OpenOCD解压到下面的目录:

OpenOCD Dir

之后我们要在Eclipse中一步一步完成设置。把上面OpenOCD的路径,在EClipse中设置好:

Eclipse Settings-1

Eclipse Settings-2

Eclipse Settings-3

如下图,在调试器的设置中,需要指定两个文件。

那么这两个文件是在哪里呢?就是前面我们解压的OpenOCD路径下面。

调试器配置文件:

Eclipse Settings-5

目标MCU配置文件:

C:UsersVDesktopEclipse之二picsEclipse Settings-6.jpgEclipse Settings-6

设置完成后点Debug,就会出现调试的界面了。注意右上角的两个小图标,可以用来在编译窗口和调试窗口之间切换。

C:UsersVDesktopEclipse之二picsEclipse Settings-8.jpgEclipse Settings-8

  1. B选项,使用J-Link

我们再看一下B选项,使用J-Link。话说能用J-Link,是不是再配个Keil,IAR之类的就不用这么折腾了。

先到赛哥下载J-Link官方软件:

https://www.segger.com/downloads/jlink/

当前版本是JLink_Windows_V760b_x86_64.exe,直接安装就好了。

在Eclipse完成设置:

C:UsersVDesktopEclipse之二picsJ-Link-1.jpgJ-Link-1

J-Link支持的器件列表可以在下面的地址找到:

https://www.segger.com/supported-devices/jlink/

如果你仔细看,在步骤3设置的是 JLinkGDBServer。

  1. X选项,使用OpenOCD和Zadig链接J-Link调试器。

Zadig是一款通用的USB设备操作软件,下载地址:

https://zadig.akeo.ie

如果下载较慢,可以尝试用迅雷下载这个链接:

https://github.com/pbatard/libwdi/releases/download/v1.4.1/zadig-2.7.exe

用Options -> List All Devices找到J-Link,然后安装驱动。

完成设置,注意jlink.cfg

需要注意的是由于调试器默认配置使用JTAG方式,如果目标MCU使用SWD,则需要修改一下jlink.cfg文件。

C:UsersflyAppDataRoamingxPacksopenocd-v0.11.0-i686-w64-mingw32shareopenocdscriptsinterfacejlink.cfg

在里面增加一句话:transport select swd

好了,点击Debug就可以愉快地玩耍了。

如果你有点儿懵圈,欢迎再看另一篇:

Keil 死了,我们还能活吗?第一季

0 人点赞