问题标签 [segger-jlink]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
416 浏览

cortex-m - 如何使用 J-Link 闪存 NXP S32K148?

我正在使用 VS Code 和 J-Link 开发 S32K148。这是 NXP S32Kxxx 系列基于 32 位 ARM Cortex M4 的 MCU 的一部分,旨在用于高可靠性汽车和工业应用。

我想使用 JFlash(使用 J-Link)来刷写芯片,但刷写似乎已被禁用。

我的研究表明我需要为 S32Kxxx 设备提供一个 LinkScript 文件,但我在任何地方都找不到这样的文件。

我的假设是否正确,需要 LinkScript 文件?如果是这样,我在哪里可以找到这个文件?

0 投票
2 回答
758 浏览

debugging - 如何使用 gdb 在目标 ARM MCU 上调试闪存程序

我正在尝试使用在目标 MCU 上调试 ARM 闪存程序gdb

我正在使用jlinkgdbserver. 我有一个准备调试的精灵。

第一次,我可以通过以下方式进行调试

但是,当调试到某个地方时,我想再次从入口点调试,我想出的方法是再次闪烁

所以这似乎有点多余,而且它一次又一次地擦除和编程相同的闪存区域,我担心我最终会通过调试损坏存储。

flash 程序已经烧录到介质中,我只是想让目标自行重置并再次从入口点运行。但我尝试了monitor resetrun. 但是目标M7都不能从头再来。

还有其他我可以尝试的 gdb 命令吗?

0 投票
1 回答
98 浏览

embedded - Segger Jlink flash下载机制

我正在使用 Rohitab 出色的 API 监控工具来监控 Keil uVision 对 Segger 的 JLinkARM.dll 进行的 DLL 调用,以便我可以在自动化测试环境中复制它们。

作为其中的一部分,我试图了解 uVision 与闪存加载程序通信以下载正在调试的图像的机制。

我知道 uVision 下载是一个闪存加载程序到目标设备的 RAM,并且加载程序与板载闪存交互以擦除它并下载新图像,尽管我很难看到由 uVision 进行的 DLL 调用以实际流式传输图像下载到闪存加载器。

我本来希望看到一大堆JLINKARM_WriteMem调用来流式传输数据,但我没有。我可以看到一堆JLINK_WriteRegJLINK_ReadReg调用,但不足以构成图像。我的猜测是它们用于监视闪烁过程。我知道 Jlink 支持许多与 Flash 下载相关的 API,但我没有看到它们在这里使用。我也没有看到任何经过的路径。JLink 自己的日志文件在这里同样没有帮助。我在这里缺少一些带外机制吗?

0 投票
2 回答
86 浏览

embedded - OpenOCD 多适配器类型配置

我们团队中的一些开发人员拥有 J-Link 调试器,而其他开发人员则使用 ST-Link 调试器。我们所有人都在使用相同固件的相同硬件上工作,基本上其他一切都是一样的。当前设置需要为每个适配器使用不同的 cfg 文件启动 OpenOCD。我想自动完成这项工作。

有没有办法将 OpenOCD 配置为根据连接的适配器自动选择正确的 cfg 文件?

0 投票
1 回答
243 浏览

arm - Cortex-M0+ 不响应 PendSV

我在 Raspberry Pi Pico(RP2040,Cortex-M0+ 内核,使用 JLink SWD 通过 VSCode cortex-debug 进行调试)上运行,我看到有关 PendSV 的奇怪行为。

紧接着,SVCall 异常处理程序通过 ICSR 寄存器请求 PendSV。但是在异常返回时,不是尾链 PendSV,而是执行返回到调用代码并继续非异常执行。

ICSR 寄存器始终显示待处理的 PendSV,即使在重复执行线程代码指令时也是如此。系统处理程序优先级全部为零,IRQ 优先级较低。

在此处输入图像描述

根据 ARMv6-M 参考手册,PendSV 不能被禁用。

那么,我错过了什么会导致这种行为?

编辑添加:

也许这是一个调试器交互?JLink 软件 (v4.95d) 仍处于测试阶段...

我看到调试器实际上可以禁用 PendSV 和 Systick - C1.5.1 调试步进:“可选地,调试器可以将 DHCSR.C_MASKINTS 设置为 1 以防止发生 PendSV、SysTick 和外部可配置中断。这被描述为屏蔽这些中断. C1-326 页的表 C1-7 总结了指令步进控制。

0 投票
0 回答
59 浏览

arm - 在 Atmel Studio 中无法识别 Segger J-Link EDU Mini

我最近在尝试通过 SWD 使用我的 Segger J-Link EDU Mini 对裸机 ARM 微控制器(特别是 ATSAMD11D14AS)进行编程时遇到了一个问题。我从 Segger(J-Link Commander V6.98b 等)下载了所有必要的应用程序,它在 J-Link 指挥官中完美显示,但 Atmel Studio(v. 7.0.2542,Windows 10)只为我提供了“工具 > 设备编程”菜单中的“模拟器”工具。

此致

雅各布

0 投票
0 回答
37 浏览

jtag - JLink 调试器 - 物理连接问题(microSD 卡插槽 + DIY jtag->microsd 适配器)

我有这个 Khadas Edge 板,SWD 调试引脚位于 microSD 卡插槽中。

我使用来自 aliexpress 的 SD 延长线连接我的 JLink - 调试工作正常。我能够使用 GDB 和所有。

问题是只有当电缆仅部分插入插槽时,连接才稳定。我必须非常小心地把它扭进去,让它几乎不接触针脚。如果我通过点击进行完整插入 - 没有任何效果。我认为它在工作时会触及所有引脚,但我不知道如何验证这一点。

并且工作电缆位置非常一致且易于重复。所以这不是什么大问题。我能够调试得很好。我只是想了解会发生什么。

我对硬件几乎没有经验,所以也许我遗漏了一些东西。我尝试了 2 种不同类型的 sd 卡适配器,但都是同样的问题。我已经尝试过使用和不使用上拉电阻(在 swdio 通道上)。而且我已经为电路板尝试了不同的电源。

有什么我可以尝试的吗?这对任何人来说都是一个熟悉的问题吗?

0 投票
0 回答
84 浏览

stm32 - 无法在循环模式下使用 ADC 和 DMA 重新编程 STM32 (F401RE)

我有一个使用 ADC 转换 2 个输入的简单程序,我在循环模式下使用 DMA。一切都很好。我唯一的问题是,为了重新刷新 STM32,我必须先擦除芯片。仅当我将 ADC 设置为循环模式时才会发生这种情况。

希望有人可以帮助解决这个问题。谢谢!

这是设置 DMA/ADC 的代码

这是 jlink 的输出。同样,如果我擦除芯片一切正常。

0 投票
1 回答
109 浏览

visual-studio-debugging - Atmel studio 不工作用于发布或调试模式选择的工具窗口

我最近一直在使用 Atmel studio 7。

我将简要解释我的问题:我无法进行调试,因为我无法选择 DEBUG 模式。这是因为当我进入propreties -> tool设置窗口时没有出现但是出现了这个信息:An Error trying to load the page. The type initializer for 'Atmel.VsIde.AvrStudio.Utils.MemoryPressureReliever' threw an exception.

我使用 JTAG。有没有人和我一样的问题?感谢那些可以帮助我的人!

0 投票
1 回答
158 浏览

embedded - 如何在 ARM Cortex M0 设备中使用 JLink 对引导加载程序区域进行编程

我正在尝试使用 JLink 和 JFlash 对NUC240SE3AE设备的引导加载程序区域进行编程,但出现错误消息:

该芯片确实实现了该区域,但正如我在 Segger 的设备数据库中发现的那样:

  • 该设备只有一个闪存库,

  • 缺少主应用程序的区域和引导加载程序的第二区域。

所以我的问题是:有解决方法吗?如何对该闪存区域进行编程?