问题标签 [openocd]

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 投票
3 回答
22837 浏览

eclipse - openocd **错误:libusb_open() 因 LIBUSB_ERROR_NOT_SUPPORTED 而失败**

我正在尝试设置一个 Eclipse 开发环境来使用 stm32f303 nucleo 32 板。 http://www.st.com/en/evaluation-tools/nucleo-f303k8.html

到目前为止,所有工具似乎都已正确安装和工作:我已经成功编译并启动了用于 stm32f4 发现的 openocd 调试器,当我连接 stm32f303 nucleo 32 板并启动 openocd 时,板上的 LED 指示它已连接。(我已经刷过板了。)

当我逐步调试时,openocd 迷路了,这似乎与 openocd 在启动时给我的消息有关(寻找粗线):

是否有人知道在这种情况下如何修复 USB 驱动程序,或者其他原因可能导致问题?

0 投票
3 回答
1794 浏览

c - 无法使用 GDB 和 OpenOCD 为带有 ST-Link 的 STM32F4 设置断点

我正在尝试使用带有 GDB 的 OpenOCD 来调试我的 STM32F4Discovery 板上的 STM32F4 Cortex-M4。

设置:

  • Ubuntu 16.04
  • OpenOCD 0.9.0(也用 0.10-dev 测试过)
  • arm-none-eabi-gdb 7.10
  • STM32F4Discovery 与 ST-Link v2 (V2J28S0)
  • 使用 STM32CubeMX 生成的项目代码

我确保在 STM32CubeMX 中启用了调试线(这使调试线引脚保持默认状态)

GCC 标志是:

我在主循环中添加了简单的闪烁 LED 代码,以测试调试。

我用openocd -f board/stm32f4discovery.cfg -c "program build/discovery_simple_test.elf verify reset". OpenOCD 刷新芯片并重置它。(OpenOCD 的输出可以在这里找到)

现在我用 GDB 连接到它:

该程序应该在第 93 行中断,但它没有。

当我停止执行并尝试继续执行时,它不会继续:

发生了什么事,我该如何解决?

0 投票
1 回答
2358 浏览

eclipse - 在 Eclipse 中启动 openOCD 调试器时出错

我正在一个新的操作系统上设置 openOCD 和 Eclipse,使用在另一个系统上可以正常调试的 Nucleo F030R8 板。当我在 Eclipse 中运行调试器时,我得到“最终启动序列中的错误”:

我可以使用./openocd -f board/st_nucleo_f0.cfg在终端中运行调试器并获得:

LED LD1 交替闪烁绿色和红色。同样,我可以很好地在 Eclipse 中运行外部工具,但这不会打开调试器。所以看起来我很接近了,但有些地方不太对劲。如果您需要我的系统的任何其他详细信息,请告诉我。

使用:

日食 Mars.2 (4.5.2)

Mac 10.12.1

OpenOCD 0.10.0-201601101000-dev

GNU 工具 gcc-arm-none-eabi-5_4-2016q3

0 投票
1 回答
1626 浏览

interrupt-handling - DMA工作时不会发生STM32F4 TIM6中断

我使用 STM32F4Discovery 板,从 Cube 生成代码,SYSCLK 为 168MHz,APB1 定时器时钟 42MHz,TIM6 有预分频器 1000,计数到 62。我做了以下实验。

通过以下方式启用 TIM6 中断

使用 30 元素数组在正常模式下启动 DAC_DMA。

计算发生了多少次定时器中断

在这个函数中设置断点:

我的期望:

1) HAL_DAC_ConvCpltCallbackCh1 被调用一次(由于非循环模式)。是真的。

2) 调用时 tim6Counter 必须等于 30,因为 DAC 数据缓冲区的长度为 30。在实验中 tim6Counter 为 1。

3) DAC 完成后,在 TIM6 处理程序和 main while(1) 循环中设置断点。问题是,它挂在 TIM6 处理程序中。

问题:

1) 即使没有启用 TIM6 中断,DMA 也可以工作。但是如果启用,为什么它只发生一次,而不是每个 DMA 请求?

2)为什么它挂在计时器处理程序中?

3) TIM6 SR 寄存器不会被 HAL 宏或 HAL_TIM_IRQHandler 清除。我将 eclipse 与 openOCD 一起使用。是工具的问题吗?还是因为挂在处理程序中?

0 投票
1 回答
1646 浏览

eclipse - OpenOCD 和 Eclipse,设置错误?

当我从 Olimex STM32-E407 板附带的旧 Eclipse 安装迁移时,我在安装 OpenOCD 时遇到了一些困难。

旧的 Eclipse 设置运行良好;带有以下初始化脚本的 Zylin 嵌入式调试器:

这个运行脚本:

由于我切换到新的 Eclipse,我可以选择一个不同的调试器,因为 Zylin 似乎已经过时了(最新的谷歌结果是在 ~2010 之前)。在 Eclipse Neon 中,我选择了 GDB OpenOCD Debug,它将从与旧 Eclipse 相同的 OpenOCD 实例开始。它不会从 Eclipse 本身启动可执行文件。

OpenOCD 脚本如下所示:

在启动选项卡上,我复制了上面的初始化和运行命令,将 main.bin 更改为 Dev.elf 并保存了设置。

从 Eclipse 开始调试会在下面的输出中产生。即使我使用旧日食中的原始 main.bin - 以前也有效!- 我似乎无法解决这个问题。

令我惊讶的是它如何不断重新连接 GDB 以及适配器速度正在切换的事实。我究竟做错了什么?

0 投票
2 回答
209 浏览

eclipse - Eclipse Neon.2(版本 4.6.2)下的 OpenOCD 问题

我一直在尝试在 Windows 7 PC 上运行的 Eclipse Neon.2(版本 4.6.2)下建立 STM3220G-EVAL 板和 OpenOCD 调试器之间的连接。我的调试配置看起来像:在此处输入图像描述。问题是我仍然收到以下错误消息:在此处输入图像描述。我在另一个线程中发现此消息是由于缺少行所致,-f board\stm32f4discovery.cfg因此我已将其附加。但结果还是一样。有谁知道可能是什么原因?感谢您的任何建议。

在此处输入图像描述

0 投票
1 回答
271 浏览

pyqt - PyQt 中 QProcess 失败的原因

我正在编写一个使用 openOCD 的 GUI。该代码片段应该启动一个 openOCD 服务器并在 textEdit 小部件上显示它的输出。但是,尽管我没有看到任何错误消息,但该过程并未按预期工作。我检查了ps -aux,它显示 openOCD 进程已失效。进程状态为“1”,根据文档,这意味着进程崩溃。我哪里错了?

0 投票
1 回答
576 浏览

gdb - 在代码块 IDE 上使用 openocd 进行 gdb 调试

我最近开始在 Codeblocks IDE 上使用 openOCD 为 ARM 开发开发 Gdb。gdb 中有两个命令,例如“ load ./bin/Debug/ledtest.elf”、“file ./bin/Debug/ledtest.elf”,将导致将程序写入闪存并进行调试。

我的问题是每当我使用这些命令时,它都不会写入闪存。我不知道如何让我的生态系统做到这一点?我是否必须在 gdb 或 openocd 中进行相关更改?但是,当我尝试从openocd进行flash_write 时,它​​工作正常。任何想法?任何相关文件都会有所帮助。

0 投票
2 回答
1377 浏览

microcontroller - 无法在 openOCD 中启用 stlink

我正在尝试通过配置 openOCD 来启用 stlink。它说它找不到我的 libusb-1.x 文件,即使它是通过安装 openOCD 安装的,因为它是一个依赖项。我不知道该怎么办

这是错误:

这是我的输入:

我能做些什么来解决这个问题?

谢谢

0 投票
2 回答
2857 浏览

linux - OpenOCD 无法与皮质处理器连接

我正在尝试从 Raspberry Pi 3 计算模块 GPIO 闪存基于 cortex m0 的 SoC,但它一直失败并出现相同的错误。

错误:无法初始化调试端口

我正在关注此https://learn.adafruit.com/programming-microcontrollers-using-openocd-on-raspberry-pi?view=all和本教程https://movr0.com/2016/09/02/use -raspberry-pi-23-as-a-jtagswd-adapter/。编译和安装没有问题。

cortex m0 SoC是Nordic Semiconductor nRF51822蓝牙芯片封装在ISP1302模块中。

根据教程,模块 GND 和 3.3V 直接连接到计算模块 dev-kit,SWDCLK 和 SWDIO 连接到 GPIO 25、24。SRST 或 TRST 没有连接。

配置文件如下:

(我bcm2835gpio_srst_num 18从 raspberrypi2-native.cfg 中删除)

执行与sudo openocd -f config.cfg

树莓派 CM3 正在运行该选项core_freq=250/boot/config.txt我需要此选项才能可靠地访问 UART1。我认为这可能与时钟有关,但不确定如何更改/修复。

我已经尝试了几种reset_config没有改变错误的组合。完整的初始化堆栈如下:

无论我尝试什么,我总是得到这个“错误:无法初始化调试端口”。

有趣的是,使用连接到 PI USB 的 ST-Link/V2 适配器并修改interface配置,它可以正常工作。

有什么建议么?我究竟做错了什么?需要对 GPIO 进行一些初始化吗?

编辑:

我注意到有人投票以“不清楚在问什么”来结束这个问题。

我在问:如何使用 GPIO 将 Raspberry Pi 连接到 nRF51 SoC?请参阅我尝试过的所有内容。