问题标签 [stm32cubemx]
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 - SWV 异常跟踪在 Atollic Studio 中不起作用
我想使用 Atollic Studio 中的 STM32L4xx SWV Exception Trace Log
和SWV Trace Log
. 我使用 SEGGER J-Link 并在Debugger
我已正确将接口设置为 SWD 并将核心时钟设置为 80 MHz。同样在 Serial Wire Viewer 设置中,我设置了EXETRC
and Enable Prescaler
。按,我在控制台中Start Trace
收到以下验证错误:
你知道可能会出现什么问题吗?
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 设备时出错。原因:在目标上找不到设备。
c++ - STM32F - 立方体程序突然结束
我试图让我的 STM32F446RE Nucleo 板上的 LED 闪烁。板载 LED 位于端口 5th PIN 上。程序给了我以下错误,也不包括我的驱动程序(gpio_drive.c)文件。这是错误。致命错误:stm32f4xx_gpio_driver.c:没有这样的文件或目录
当我删除该目录并在没有该目录的情况下进行调试时,出现以下错误:
WWDG_IRQHandler() at startup_stm32f446retx.s:116 0x80002bc
Infinite_Loop: b Infinite_Loop .size Default_Handler, .-Default_Handler
这是主要代码:
这是我的 gpio.h 文件
这是我无法包含的 gpiao.c 文件(可能是因为我无法包含此文件):
c - 由于此错误,无法使用 HAL 库
我目前正在学习在 STM32CubeIDE 中编写 STM32F446RE Nucleo 代码。我试图使用来自 github 的完整库。HAL 库似乎很有用,但我陷入了包含错误。我修复了一个,另一个产生了。最近一直在买这个。每当我尝试在应用程序中使用 HAL 库时,我都会不断收到来自编译器的错误。有谁知道我该如何解决?
stm32f4xx_hal_conf.h : 没有这样的文件或目录
我在主“inc”文件夹中找到了这个头文件,但我无法包含它,因为我的驱动程序头文件在另一个文件中。
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 - STM32 HAL 从 main.c 以外的另一个文件调用 HAL_UART_Transmit
我试图从我的自定义 SA145.c 文件中调用 HAL_UART_Transmit(),这会导致错误:标识符 huart1 我们未定义。huart1 在 main.c 中被声明为 extern。如何从 main.c 以外的文件调用 HAL_UART_Transmit()
timer - STM32F103CB 定时器不准确
我是 stm32 的新手,我最近创建了一个项目,每秒在 GPIO 引脚上产生一个快速脉冲,只是为了确定逻辑分析仪的时间精度,但是,我总是得到大约 0.999,935 秒而不是一秒的时间,我尝试了我在互联网上搜索的所有内容,但没有任何效果,请提供帮助。
我的代码主要是由 STM32CubeMX 生成的,这些是 CubeMX 的配置
2 到 3 之间的时间始终在 0.999935s 左右,我怎样才能将这个错误修复到恰好一秒???
stm32 - stm32和外置闪存W25q16
我正在使用 W25Q16 研究 STM32L432KC。每次我得到0xFF
. 根据数据表,要获得芯片制造商代码,我需要发送0x90
3 个虚拟字节。芯片应该返回0xEF
,0x17
。但是,出于某种原因,我收到了 2 个字节的0xFF
.
我该如何解决?
c - 无法更改 LCD_CR 寄存器的值
我目前正在使用 L152C Discovery board 并尝试制作简单的时钟,该时钟将使用 STM32 内置的 RTC 和板载 Glass LCD 以及通过CubeMX配置的 LCD HAL 库。但我目前面临一个我无法理解的问题:CubeMX 没有在LCD_CR
寄存器中启用段多路复用器的选项。我想启用它,因为它会使段映射更容易。
所以我想,好吧,我将直接进行寄存器操作,启用多路复用器(中的第 7 位LCD_CR
)。我使用了命令LCD->CR |= LCD_CR_MUX_SEG;
但是即使在执行命令之后,该MUX_SEG
位仍然为零。(我在调试会话中检查了命令步进和 SFR 内存映射)我做错了什么吗?或者是否有另一种方法来更改 CubeMX 配置但没有此设置选项的图形实现的初始化参数?
该应用程序正在使用 FreeRTOS,我LCD->CR |= LCD_CR_MUX_SEG;
在之后执行,HAL_LCD_Init(&hlcd);
所以我认为 LCD 外围时钟正在运行(并且段正在更新)。
我录制了一个显示此问题的短视频: https ://youtu.be/0X6Zu5EPudU 老实说,我不擅长直接操作寄存器,所以我可能做错了什么。
任何帮助,将不胜感激!
c - SDRAM 与 STM32F429BI 接口存在闪烁问题
我正在使用 800x600 分辨率的 12.1" TFT 显示器并将其与 STM32F429BI 微控制器和 IS42S16400J SDRAM 连接。我的显示器出现闪烁问题。当我绕过 SDRAM 时它工作正常,没有闪烁,但通过连接SDRAM 它开始出现闪烁问题。