问题标签 [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.

0 投票
0 回答
166 浏览

stm32 - SWV 异常跟踪在 Atollic Studio 中不起作用

我想使用 Atollic Studio 中的 STM32L4xx SWV Exception Trace LogSWV Trace Log. 我使用 SEGGER J-Link 并在Debugger我已正确将接口设置为 SWD 并将核心时钟设置为 80 MHz。同样在 Serial Wire Viewer 设置中,我设置了EXETRCand Enable Prescaler。按,我在控制台中Start Trace收到以下验证错误:

你知道可能会出现什么问题吗?

0 投票
1 回答
2106 浏览

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 设备时出错。原因:在目标上找不到设备。

0 投票
0 回答
100 浏览

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 文件(可能是因为我无法包含此文件):

0 投票
0 回答
675 浏览

c - 由于此错误,无法使用 HAL 库

我目前正在学习在 STM32CubeIDE 中编写 STM32F446RE Nucleo 代码。我试图使用来自 github 的完整库。HAL 库似乎很有用,但我陷入了包含错误。我修复了一个,另一个产生了。最近一直在买这个。每当我尝试在应用程序中使用 HAL 库时,我都会不断收到来自编译器的错误。有谁知道我该如何解决?

stm32f4xx_hal_conf.h : 没有这样的文件或目录

我在主“inc”文件夹中找到了这个头文件,但我无法包含它,因为我的驱动程序头文件在另一个文件中。

0 投票
0 回答
476 浏览

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 不容易实现。

关于工作流/工具链限制和改进或其他工作流/工具链的建议会有所帮助。

0 投票
1 回答
416 浏览

stm32 - STM32 HAL 从 main.c 以外的另一个文件调用 HAL_UART_Transmit

我试图从我的自定义 SA145.c 文件中调用 HAL_UART_Transmit(),这会导致错误:标识符 huart1 我们未定义。huart1 在 main.c 中被声明为 extern。如何从 main.c 以外的文件调用 HAL_UART_Transmit()

0 投票
0 回答
78 浏览

timer - STM32F103CB 定时器不准确

我是 stm32 的新手,我最近创建了一个项目,每秒在 GPIO 引脚上产生一个快速脉冲,只是为了确定逻辑分析仪的时间精度,但是,我总是得到大约 0.999,935 秒而不是一秒的时间,我尝试了我在互联网上搜索的所有内容,但没有任何效果,请提供帮助。

我的代码主要是由 STM32CubeMX 生成的,这些是 CubeMX 的配置

NVIC

TIM2

时钟配置

逻辑分析仪

2 到 3 之间的时间始终在 0.999935s 左右,我怎样才能将这个错误修复到恰好一秒???

0 投票
2 回答
939 浏览

stm32 - stm32和外置闪存W25q16

我正在使用 W25Q16 研究 STM32L432KC。每次我得到0xFF. 根据数据表,要获得芯片制造商代码,我需要发送0x903 个虚拟字节。芯片应该返回0xEF0x17。但是,出于某种原因,我收到了 2 个字节的0xFF.

我该如何解决?

示意图

0 投票
1 回答
48 浏览

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 老实说,我不擅长直接操作寄存器,所以我可能做错了什么。

任何帮助,将不胜感激!

0 投票
2 回答
306 浏览

c - SDRAM 与 STM32F429BI 接口存在闪烁问题

我正在使用 800x600 分辨率的 12.1" TFT 显示器并将其与 STM32F429BI 微控制器和 IS42S16400J SDRAM 连接。我的显示器出现闪烁问题。当我绕过 SDRAM 时它工作正常,没有闪烁,但通过连接SDRAM 它开始出现闪烁问题。