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

简介: Keil 死了,我们还能活吗?第二季
  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

运行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解压到下面的目录:

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

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

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

调试器配置文件:

目标MCU配置文件:

C:\Users\V\Desktop\Eclipse\之二pics\Eclipse Settings-6.jpg

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

C:\Users\V\Desktop\Eclipse\之二pics\Eclipse Settings-8.jpg

  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:\Users\V\Desktop\Eclipse\之二pics\J-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:\Users\fly\AppData\Roaming\xPacks\openocd-v0.11.0-i686-w64-mingw32\share\openocd\scripts\interface\jlink.cfg

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

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

相关文章
|
6月前
|
前端开发 JavaScript Java
童年回忆——超级玛丽(内含源码inscode一键运行)
童年回忆——超级玛丽(内含源码inscode一键运行)
|
6月前
|
移动开发 前端开发 JavaScript
童年回忆——开心消消乐(内含源码inscode一键运行)
童年回忆——开心消消乐(内含源码inscode一键运行)
|
3月前
|
JSON 自然语言处理 数据可视化
我用Python了B站3948评论,围观最近超火的“杀疯了!这就是国家队的美貌吗?”评论区
我用Python了B站3948评论,围观最近超火的“杀疯了!这就是国家队的美貌吗?”评论区
45 1
|
4月前
|
搜索推荐 定位技术 图形学
用unity给老婆设计一个单机版大富翁
用unity给老婆设计一个单机版大富翁
|
IDE 编译器 Android开发
Keil 死了,我们还能活吗?第一季
Keil 死了,我们还能活吗?第一季
|
Android开发 芯片
【致敬未来的攻城狮计划】--RA2E1 开发板测评(1)keil环境配置
【致敬未来的攻城狮计划】--RA2E1 开发板测评(1)keil环境配置
198 0
真香!端午节到来,我用Python画了几个粽子送给女票,女票差点吃了我的电脑...
真香!端午节到来,我用Python画了几个粽子送给女票,女票差点吃了我的电脑...
|
存储 开发框架 .NET
你管这破玩意叫计算机?
你管这破玩意叫计算机?
133 0
你管这破玩意叫计算机?
|
Windows
上才艺——win32搞一个拼图游戏
上才艺——win32搞一个拼图游戏
184 0
上才艺——win32搞一个拼图游戏
|
消息中间件 存储 缓存
你管这“破玩意儿”叫锁
你管这“破玩意儿”叫锁
你管这“破玩意儿”叫锁