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就可以愉快地玩耍了。

相关文章
|
人工智能 vr&ar
OpenAI发布Sora,引领多模态大模型再突破
OpenAI发布Sora,引领多模态大模型再突破
401 4
OpenAI发布Sora,引领多模态大模型再突破
|
存储 PHP
php基础
【7月更文挑战第2天】php基础
557 0
|
SQL 关系型数据库 MySQL
PolarDB-X 针对跑批场景的思考和实践
金融行业和运营商系统,业务除了在线联机查询外,同时有离线跑批处理,跑批场景比较注重吞吐量,同时基于数据库场景有一定的使用惯性,比如直连MySQL分库分表的存储节点做本地化跑批、以及基于Oracle/DB2等数据库做ETL的数据清洗跑批等。
PolarDB-X 针对跑批场景的思考和实践
|
12月前
网站维护更新简易单页404页html代码
一个简约风格的单页html页面,可用于网站维护中或更新网站时挂个首页使用,如果不喜欢现在的颜色请F12修改设置既可。
200 1
网站维护更新简易单页404页html代码
|
11月前
|
Java Kotlin
Kotlin学习教程(七)
Kotlin学习教程(七)
198 0
|
存储 固态存储 虚拟化
【vSAN分布式存储服务器数据恢复】VMware vSphere vSAN ESXi超融合HCI分布式存储数据恢复案例
近期,我司处理了一个由10台华为OceanStor存储组成的vSAN超融合架构,其中一台存储闪存盘出现故障,用户取下后用新的闪存盘代替,然后对该闪存盘所在的磁盘组进行重建,导致集群中一台使用0置备策略的虚拟机数据丢失。
269 6
|
存储 Linux 应用服务中间件
RedHat红帽认证---RHCSA
RedHat红帽认证---RHCSA
495 0
|
存储 芯片 块存储
计算机组成原理(1)----存储器相关(1)
计算机组成原理(1)----存储器相关
387 4
|
Java API 开发工具
解决 Android 依赖冲突
解决 Android 依赖冲突
415 0
|
前端开发 JavaScript UED
【专栏:交互与用户体验篇】CSS 滚动效果与视差滚动
【4月更文挑战第30天】本文探讨了CSS滚动效果和视差滚动在提升网页用户体验中的作用。CSS滚动效果通过`transition`和`animation`属性实现元素动态变化,包括平滑滚动、元素跟随和滚动触发动画。视差滚动则利用不同元素滚动速度差异营造立体感,适用于长页面设计、故事讲述和创意展示。实现方法包括纯CSS和结合JavaScript。这些效果能增强吸引力、提升沉浸感并引导用户注意力,但需注意性能优化、适度使用和兼容性测试。案例分析展示了它们在实际项目中的应用和影响。
165 2