问题标签 [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.
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 驱动程序,或者其他原因可能导致问题?
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 行中断,但它没有。
当我停止执行并尝试继续执行时,它不会继续:
发生了什么事,我该如何解决?
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
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 一起使用。是工具的问题吗?还是因为挂在处理程序中?
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 以及适配器速度正在切换的事实。我究竟做错了什么?
pyqt - PyQt 中 QProcess 失败的原因
我正在编写一个使用 openOCD 的 GUI。该代码片段应该启动一个 openOCD 服务器并在 textEdit 小部件上显示它的输出。但是,尽管我没有看到任何错误消息,但该过程并未按预期工作。我检查了ps -aux
,它显示 openOCD 进程已失效。进程状态为“1”,根据文档,这意味着进程崩溃。我哪里错了?
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 时,它工作正常。任何想法?任何相关文件都会有所帮助。
microcontroller - 无法在 openOCD 中启用 stlink
我正在尝试通过配置 openOCD 来启用 stlink。它说它找不到我的 libusb-1.x 文件,即使它是通过安装 openOCD 安装的,因为它是一个依赖项。我不知道该怎么办
这是错误:
这是我的输入:
我能做些什么来解决这个问题?
谢谢
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?请参阅我尝试过的所有内容。