问题标签 [stm32cubeide]
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.
stm32 - STM32调试问题
我正在使用 Nucleo F303RE 板。每当我尝试在 STM32cubemxIDE 中进行调试时。它总是显示启动 GDB 错误失败的错误。我附上了截图
我已经更新了 ST-Link 固件并检查了我的设备管理器。
我也试过禁用我的 Windows Defender。
我还尝试在调试配置下更改频率、接口、自动连接。
如果有人可以帮助我,那就太好了。我在工作中遇到了一个重要的演示。
我也在 Atollic TrueStudio 上尝试过,但仍然没有运气。在此处输入图像描述
谢谢
Atollic TrueStudio 上的详细错误:STMicroelectronics ST-LINK GDB 服务器。版本 5.1.0 版权所有 (c) 2018,意法半导体。版权所有。
使用以下选项启动服务器:持久模式:禁用日志记录级别:1 侦听端口号:61234 状态刷新延迟:15 秒详细模式:禁用 SWD 调试:启用
目标未找到设备
初始化 ST-LINK 设备时出错。原因:在目标上找不到设备。
eclipse - 无法将插件导入 stm32cubeide (Eclipse IDE)
我正在尝试将插件Columns for eclipse导入到 stm32cubeide。
我尝试了几种方法,但没有运气。
首先,我尝试了帮助 > 安装新软件的官方方式。向导显示以下错误:“找不到 jar”
经过一些谷歌研究后,我尝试将 .jar 及其提取的内容粘贴到新创建的文件夹stm32cubeide_home/dropins。这也不起作用。
我对这个问题的最后一个想法是将提取的 .jar 直接插入到stm32cubeide_home/plugins但同样没有运气。
有没有办法将不在官方市场上的 Eclipse 插件导入到 stm32cubeide 中?
该插件适用于 C/C++ V4.16 的 Eclipse IDE。
debugging - 如何在使用 Cubeide 运行代码时更改/修改变量的值?
我正在使用 Keil IDE 对 stm32 微控制器进行编程,Keil IDE 允许在没有断点的情况下“在代码运行时”更改变量的值。
我想使用 Cubeide 而不是 Keil。
我可以使用实时表达式工具在“代码运行时”查看值,但不能在“代码运行时”更改值,我购买了 Stlink 和 Segger,但无法在“代码运行时”更改值。
如何使用 Cubeide “在代码运行时”更改/修改变量的值?
c - 由于此错误,无法使用 HAL 库
我目前正在学习在 STM32CubeIDE 中编写 STM32F446RE Nucleo 代码。我试图使用来自 github 的完整库。HAL 库似乎很有用,但我陷入了包含错误。我修复了一个,另一个产生了。最近一直在买这个。每当我尝试在应用程序中使用 HAL 库时,我都会不断收到来自编译器的错误。有谁知道我该如何解决?
stm32f4xx_hal_conf.h : 没有这样的文件或目录
我在主“inc”文件夹中找到了这个头文件,但我无法包含它,因为我的驱动程序头文件在另一个文件中。
c - 如何在STM32 Cube IDE中使用另一个全局变量Array中声明的全局变量而不会出现任何错误?
我正在为我开发的 PCB 开发固件。我使用的微控制器是STM32f401rct6。
我正在使用 SWD 接口和 Stlink 来刷新程序。
我已经声明了一个常量全局变量(TOTAL_IC),但是当我尝试在另一个全局变量数组(cell_asic bms_ic[TOTAL_IC];)中再次使用该变量时,它会抛出错误,但如果我在任何函数中使用它,它不是。但我不想在某个特定函数中使用它,因为该变量(TOTAL_IC)在整个程序中都使用。
如何消除此错误。我是初学者?
代码:
git - 多种软件配置以及与 STM32CubeIDE/MX、.ioc 和 git 的持续集成工作流程
概述:本节描述了我们的工作流程。
- IDE:STM32CubeIDE
- 版本控制:git
在 git 中,我们跟踪:以及我们的 Src 的其他文件夹
- .c项目
- 。项目
- 调试.cfg
- 调试启动
- 我的项目.ioc
- STM32H743ZITX_FLASH.ld
- STM32H743ZITX_RAM.ld
- 核心(文件夹)
使用 CubeIDE 和 git,我们能够成功克隆、生成 .ioc 并成功构建我们的项目。生成正确地引入了 Drivers 文件夹,并生成了核心内容。这也使对 .cproject 的任何手动更改保持不变。我们更喜欢遵循 git 工作流程来不跟踪生成的文件,因为它们可以很好地生成。
问题:
1:我们需要在我们的软件中进行多种配置,以支持我们拥有的硬件的各种版本/需求。这样,我们就有了一个代码库,用于我们拥有的产品的多个类似软件/硬件版本。这将包括使用#define 或类似标签在构建中包含/删除的软件功能,以支持不同的产品功能/执行。在我看来,这似乎相当简单。
2:变得更加困难的部分是处理 .ioc/project 差异和生成。某些版本可能不使用我们正在使用的外围设备的完整列表,我们希望禁用这些外围设备生成/构建项目。
3:在尝试解决这个问题时,我想到了持续集成 (CI),比如 Jenkins 之类的工具。这将使我们能够自动化多个构建,以确认一个项目的更改确实会破坏另一个项目。有没有人成功使用 Jenkins 的 STM32CubeIDE 工具链?我发现了一些关于该主题的帖子寻求帮助,但几乎没有任何有用的结果。更多信息会有所帮助。
注意:我尝试了 CubeMX 命令行生成(ST 文档 UM1718 V31 Dec19),但发现项目生成命令会覆盖 .cproject 手动设置,IDE 在我们当前的设置中没有这样做。
4:我们正在寻找有关如何修改我们的工作流程、git repo 或工具链的意见,以更好地实现这一目标。
潜在的解决方案:
A:使用当前 git repo 跟踪文件生成构建所需的代码,使用构建选项配置软件选项。 优点:
- 在 IDE 中工作
缺点:
如果不重写我们所做的手动 .cproject 更改,我们无法让 CubeMx cli 正常工作,因此 Jenkins 不容易实现。
不支持基于产品版本的 .ioc 配置(至少据我所知)
B:使用当前的 git repo 跟踪文件,但包括一个公共源文件夹和一个项目文件夹,其中每个版本的产品都有单独的项目文件夹。
优点:
- 应该与IDE一起使用
- 允许多个 .ioc 配置能够从不使用它的产品中删除某些外围设备。
缺点:
- 跟踪项目和版本的 git 复杂性更高。
- 构建仍然是手动的(无 CI/Jenkins),因此常见的源更改需要用户手动构建多个项目以确认稳定性。
- 如果不重写我们所做的手动 .cproject 更改,我们无法让 CubeMx cli 正常工作,因此 Jenkins 不容易实现。
关于工作流/工具链限制和改进或其他工作流/工具链的建议会有所帮助。
stm32 - NUCLEO STM32F334R8 上的 STMCubeIDE,新项目:FreeRTOS 硬故障
我想试验 32 位微控制器和 FreeRTOS。我正在 STM32CubeIDE 中为我的 Nucleo 板创建一个新项目,并启用了 FreeRTOS。我切换了 HAL 使用的计时器(我基本上是在关注这个视频,但使用另一个核板https://www.youtube.com/watch?v=OPrcpbKNSjU)。当我启动调试模式时,它会在通过执行 osKernelStart(); 启动任务调度程序时立即调用 Hardfaulthandler;我不知道为什么。我现在唯一要做的就是切换 LED 引脚 A5 ......
c - STM32CUBEIDE“未定义引用”问题
我正在尝试将 StemWin 添加到我的项目中以驱动显示器。我可以将 LCD 低级硬件集成到微控制器中。但是当我想使用 GUI 函数时,它会为每个函数返回一个错误“未定义的引用”。另外,我正在使用第三方库。为什么编译器不允许使用包含库中的函数?
stm32 - 使用 STM32_WPAN 中间件时,STM32 SWO 跟踪禁用/设置被覆盖
使用 STM32WB55 蓝牙板,我按照本指南通过 SWV ITM 数据控制台视图直接在 STM32CubeIDE 中启用日志记录,效果非常好。必须定义我自己的 _write 函数来覆盖 printf 发送其输出的位置。但是,当我启用 STM32_WPAN 中间件(其中包含我绝对想利用的蓝牙功能)时,它包含自己的 _write 函数,导致重复声明。
有没有办法重新配置中间件以排除它自己的调试配置或告诉它使用我当前使用的相同的基于 SWO 的调试?还是我必须手动覆盖该功能?