gpt4 book ai didi

c++ - 从 STM32CubeIDE 启动 QEMU 模拟器的问题

转载 作者:行者123 更新时间:2023-12-02 10:10:14 24 4
gpt4 key购买 nike

我正在试用 STM32CubeIDE,并且一直试图让它与 GDB QEMU 调试插件一起工作,该插件是 Eclipse CDT 包的一部分。我已经能够为我的 STM32F4-Discovery 板创建项目和调试配置,并且调试器部分启动,但是,就在模拟器启动时,它创建的 GUI 窗口突然崩溃,我收到此错误:

Error in final launch sequence
Failed to execute MI command:
-target-select remote localhost:1234
Error message from debugger back end:
Truncated register 18 in remote 'g' packet
Failed to execute MI command:
-target-select remote localhost:1234
Error message from debugger back end:
Truncated register 18 in remote 'g' packet
Truncated register 18 in remote 'g' packet
我认为这是由于我安装的 CDT 插件与我安装的 Ubuntu 20.04 附带的 GCC 工具链之间的某些不匹配造成的。但是,我不确定如何解决此问题。
有什么我想解决这个问题的吗?

最佳答案

所以看起来有几个因素可以解释为什么这不起作用。首先,我在 GUI 调试器终止后立即收到的错误消息是由于 arm-none-eabi-gdb 包的安装不正确。为了解决这个问题,我从 ARM 站点下载了这个包,并按照详细的说明进行操作 here .再次安装 arm-none-eabi-gdb 包后,我进入项目调试配置设置,导航到此窗口中的“调试器”选项卡,然后将 GDB 可执行路径从 IDE 为我设置的变量更改为实际的 GDB 可执行路径(在本例中为 /usr/bin/arm-none-eabi-gdb )。
完成后,调试器将不再立即终止,但在它启动后不久我仍然在控制台中收到一些错误(见下文)。此外,调试器 GUI 不会产生任何有意义的输出,并且 Ubuntu 会警告该进程已卡住。

NVIC: Bad read offset 0xd88
qemu-system-gnuarmeclipse: Attempt to set CP10/11 in SCB->CPACR, but FP is not supported yet.
为了解决这个问题,我在 IDE 的项目资源管理器面板中右键单击该项目,然后转到 C/C++ 构建部分,然后转到其下的设置部分,最后转到此菜单的“工具设置”部分。在“MCU设置”下,有“Floating point unit”和“Floating point ABI”两个选项,我分别改为“None”和“Software implementation”。保存这些配置更改后,我转到项目 src/目录下的 system_stm32f4xx.c 文件,并将这些行注释掉:
  /* FPU settings ------------------------------------------------------------*/
#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */
#endif
之后,我清理了项目,重建了它,并重新启动了调试器。然后它正常运行。

关于c++ - 从 STM32CubeIDE 启动 QEMU 模拟器的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63894136/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com