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

0 投票
4 回答
492 浏览

c - log2 在 C 中导致 STM32F4 MCU 出现故障

为什么这段代码会导致硬故障并跳入无限循环?

当我用val硬编码的 1 替换 evil 行时,代码有效。所以问题只有在我传递val给时才会发生log2(如代码所示)。为什么会这样?

我正在使用 STM32CubeIDE(基于 Eclipse)和 STM32F429ZI MCU。

更新:

在反汇编窗口中检查异常表明这是发生了异常:

fffffff9:无法执行 MI 命令:-data-disassemble -s 4294967289 -e 4294967429 -- 3 来自调试器后端的错误消息:无法访问地址 0xfffffffe 的内存

任何人都知道为什么会这样?

更新 2:

在汇编指令中调试:

重点线有 d0=0, r7=0x2002ffcc

执行此行后,反汇编程序跳转到WWDG_IRQHandler.

更新 3:

GCC 汇编器选项(不确定这是做什么的):

GCC 编译器选项:

GCC 链接器选项:

更新4:

这个问题似乎发生在许多功能上math.h,例如fmin

0 投票
3 回答
3380 浏览

stm32 - 在 DMA 模式下无法从 UART 接收数据

我试图在我的 NUCLEO F446RE stm32 板上从我的电脑接收 8 个字节。传输到电脑工作。问题是,我无法使用 DMA 接收数据。我看到了一个代码几乎相同的例子,它对这个人有用。如果我使用中断模式(只需将 HAL_UART_Receive_DMA 更改为 HAL_UART_Receive_IT,它就可以工作,并且正在调用 RX Complete 回调。

这是完整的 main.c。DMA 处于循环模式。

https://pastebin.com/1W4BCjxB

0 投票
1 回答
437 浏览

stm32 - ESP8266-01 和 NUCLEO-F030R8 之间的通信

我的任务是弄清楚如何让移动应用程序与 MCU 通信,然后控制步进电机。现在我正在尝试让 WiFi 模块 (ESP8266-01) 和 MCU (NUCLEO-F030R8) 相互配合。问题是我在这个领域几乎没有经验,也没有受过教育。我最接近的经验是多年前的简单 Arduino 草图(IE 光敏电阻值驱动步进电机)并使用 C# 制作桌面应用程序。我正在使用 STM32CubeIDE,但如果有更好的选择,我可以切换到它。

我非常需要帮助的是通过 WiFi 模块在智能手机和 MCU 之间发送和接收简单数据。我已经阅读了文档和其他问题,但仍然不知道从哪里开始。

我知道这本身可能是一个很大的话题,互联网上的简短宣传不会做到这一点(无疑是它的多个子类别)。但我也不妨问问。

对不起,如果这太多了,提前谢谢你。

0 投票
0 回答
833 浏览

c++ - arm-none-eabi-g++ 中的 C++20 模块

我正在使用STM32CubeIDE,其中包括

arm-none-eabi-g++(STM32 的 GNU 工具7-2018-q2-update.20190328-1800)7.3.1 20180622(发布)[ARM/embedded-7-branch 修订版 261907]

有没有办法使用C++20 模块?C++2a 语言功能在“在 GCC 中可用?”下声明“否”,但也许我只是忽略了一些东西?

在此处输入图像描述

0 投票
2 回答
4286 浏览

stm32cubeide - How can I remove error like 'Waiting for debugger connection... Debugger connected Debugger connection lost. Shutting down...'

I am generating code using STM32CubeIDE, but when I start to debug getting error like-
STMicroelectronics ST-LINK GDB server. Version 5.2.3

I am using latest version of st-link USB driver(en.stsw link009). Also I am using USB to TTL converter. Initially everything working very well, near about ten code executed successfully. But now facing the above error. So how can I solve it?

Thanks in advance.

0 投票
0 回答
1619 浏览

stm32 - STM32CubeIDE 删除文件

我对 STM(版本 1.1.0)的 CubeIDE 有疑问。我生成了一个 Cube 项目,使用了 2 个月,对其进行了编辑,……没有大问题。但突然 IDE 删除了我的 main.cpp 之类的文件,.. 我只是做了一些调整,比如添加另一个 AD 通道并使用 MX-Editor 生成了 .ioc 文件。

幸运的是,我在 Bitbucket 上有备份,但我无法处理这个项目,因为我真的需要我所做的调整。

这是一个错误还是我太愚蠢而无法在不删除所需文件的情况下进行一些调整?

有人也有这个问题吗?还是解决方案?我会很感激的。

0 投票
0 回答
79 浏览

c - 在中断例程中使用创建的 LCD 实例

我正在研究一个使用STM32F103C8T6HD44780 LCD (2x16)产生可变频率的项目PWM。我使用"4ilo HD44780 LCD library"并在 main.c 中创建了一个 LCD 实例,名为"&lcd".

问题是当尝试在中断例程中使用 print something to LCD 时,我收到了一些关于取消声明 &lcd 的错误,因为 LCD 的声明在main.c文件 notSTM32F1xx_it.h中。我试图放置中断处理程序main.c但没有成功。任何帮助,将不胜感激

这是STM32F1xx_it.h

和 main.c

0 投票
0 回答
168 浏览

c++ - STM32 I2C NFC 芯片问题

我用STM32F207ZET6创建了一个 PCB ,它有一个通过 I2C 连接的NXP NFC芯片。我遇到的问题是我无法与 NFC 芯片通信。

我已经验证了 ARM 芯片和 NFC 之间的 I2C 连接。我已经验证了两个芯片都获得了正确的功率。
我正在使用带有 stlink-v3 的 stm32cube IDE。我配置了 I2C1 引脚并编写了以下代码。

我试过的

  • 我试过用HAL_I2C_IsDeviceReady()看NFC是否连接。这会返回 true,但它也会在我输入的每个地址上返回 true。
  • 我试图发送命令并将它们读回缓冲区数组。返回的都是0。

任何帮助将不胜感激,谢谢。

完整代码

0 投票
1 回答
1167 浏览

graphics - IAR 和 CubeIDE 的 STM32F746G 和 touchGFX 问题

我想试试 TouchGFX。我创建了一个简单的示例。我使用 CubeMX 并选择 X-Cube-TouchGFX 4.13.0 作为附加软件。我配置一切都很好,使用示例和网络研讨会。然后,我使用 TouchGFX 设计器为我的示例插入了一个简单的 UI,所有这些都运行良好。

我使用 CubeIDE 使用 Application 结构生成了一个 IAR 项目:Advanced and linker Settings : Heap = 200 ; Stack = 800;

现在,如果我编译该项目,我没有问题,但如果我Make是该项目,我会看到此错误:

后来我为STM32CubeIDE生成项目,看到这个错误:

c:\st\stm32cubeide_1.2.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.0.0.201904181610\tools\arm -none-eabi\bin\ld.exe:区域“FLASH”溢出 596908 字节

0 投票
0 回答
445 浏览

stm32 - STM32Cube IDE 相同的代码最终运行或出现硬故障...俄罗斯轮盘赌

我遇到了一个问题,我的 IDE 正在控制我。

我有一个简单的项目,我通过 ITM (SWO) 从 mcu 追溯,基本上发生的事情是当我启动 STlink 调试器时,它连接到设备闪存程序,然后 IDE 忽略所有断点。我手动停止它以发现我从重置处理程序转到默认处理程序,我将所有处理程序别名为它,除了硬故障。

于是奇怪的事情开始发生。我检查了我的代码...没有犯罪。在所有..检查内存,一切都在它应该在的地方。检查向量表的内存......再次堆栈指针首先是,然后是复位处理程序的地址(拇指模式)。一切都很好。我再次启动调试器,它运行起来就像一个魅力。

所以我决定再次重新启动调试器而不更改代码中的任何内容,我最终陷入了硬故障......然后我再次启动它,没有硬故障,但我在默认处理程序中。它随机出现故障或运行。我花了 2-3 个小时检查每一位和指令,看看可能出了什么问题。但看起来它随机选择去哪里 - 硬故障,正常运行或决定它想要一个默认处理程序。

根据这个记忆,它至少应该尝试去重置处理程序 在此处输入图像描述

0x20010000 堆栈指针 - 地址是合法的,检查它。

0x080001D5 指向 0x080001D4 处的重置处理程序。

0x080001C9 默认handler地址,下一个是hardfault。

现在更奇怪的东西......我将调试器切换到OPENOCD并......

它显然会努力从 RAM 启动,不知道为什么或发生了什么我的重置处理程序清楚地告诉它寻找其他东西。然后在调试器重新启动几次后,它运行正常。

更新:

我现在 100% 确定这是 IDE 的时髦行为。我在独立的 openOCD 客户端中逐步完成了整个程序,它运行起来就像一个魅力。没有硬故障或其他意外跳转到处理程序。