Join discussions in the Product Forums. Ask questions, learn from your peers, and share insights on ST solutions to accelerate your design journey.
Most recent activity
Hello.I installed a new version of the IDE, exactly this:st-stm32cubeide_2.1.1_28236_20260312_0043_x86_64The problem is that the menu option "Manage embedded packages" is missing:I checked this on two computers with Windows 10.During the installation, there were no error messages.What can be done about this?
EVLSpin32G0B1 bord Program &Tools.
Hi,I am going to use PSSI interface to communicate with FPGA (unidirectional interface from FPGA to MPU). Is there some kernel driver example for PSSI available? Thanks!Alexey.
As in attached image, the build hammer icon is greyed out after importing project made in STM32CubeMX version -- 6.17.0 to CubeIDE version -- 2.1.1.I have selected tool chain as STM32CubeIDE in the Project Manager in CubeMX and after generating the code, i tried by opening the project from CubeMX as well as importing project to CubeIDE.MCU : STM32G474 series. Thanks for the help in advance.
Hi,I have a DMA2D issue with a STM32N6 Nucleo-144 board. I can use the DMA2D to blend two framebuffers if the inputs are in the AXISRAM1. However, when one of the framebuffers is in AXISRAM3 (NPU RAM), the DMA2D doesn't copy from the relevant framebuffer. There is no error, but the output is invalid.I can copy to the AXISRAM3 using HPDMA without any issue. I have configured the RISAF4/5/6; otherwise, I am unable to copy to AXISRAM3. This is the code to configure RISAF4/5/6 (NPU RAMs): __HAL_RCC_RISAF_CLK_ENABLE(); RISAF4->REG[0].CFGR = 0x00000000; RISAF4->REG[1].CFGR = 0x00000000; RISAF4->REG[0].CIDCFGR = 0x000F000F; /* RW for everyone */ RISAF4->REG[0].ENDR = 0xFFFFFFFF; /* all-encompassing */ RISAF4->REG[0].CFGR = 0x00000101; /* enabled, secure, unprivileged for everyone */ RISAF4->REG[1].CIDCFGR = 0x00FF00FF; /* RW for everyone */ RISAF4->REG[1].ENDR = 0xFFFFFFFF; /* all-encompassing */ RISAF4->REG[1].CFGR = 0x00000001; /* enabled, non-secu
Hello, I am using a B-G431-ESC1 board to power some BLDC motors. I have alrady used it succesfully to spin some 2 pole pairs BLDC using Hall sensors for speed control. I even managed to implement some code to stop the motor at every half rotation of the shaft. It worked flawlessly with this type of motor. Now, I tried connecting a different type of BLDC, still 2 pole pairs but thats all I know since I don't have the datasheet. The motor profiling part went as expected and it managed to calculate all the relevant properties of the motor. I saved it and implemented the Hall sensors as aux speed control for Hall profiling. The difference from the other type of motor is that this one has a 6-wire Hall connection. Using an oscilloscope, I found that the extra cable was likely for temperature, so I left it unconnected. However, I keep getting Pin not connected on the pin wher the same cable is plugged (the blue cable). Whether I put the blue cable on H1, H2 or H3, the board doesnt recognize
Hi, On STM32F746G-DISCO board I have a problem with USART1 (ST-Link VCP): - TX (PA9) works fine – I can send messages- RX (PB7) doesn't receive any characters and I think the board is not waiting for commands Tested both polling (HAL_UART_Receive) and interrupt mode (HAL_UART_Receive_IT). Pins are configured correctly. Did anyone have similar issue on this board? Any ideas what can block RX? Thanks! /* USER CODE BEGIN 2 */ HAL_UART_Transmit(&huart1, (uint8_t*)"Connected\r\n", 11, 100); HAL_Delay(100); HAL_UART_Receive_IT(&huart1, &rxByte, 1); /* USER CODE END 2 *//* USER CODE BEGIN 4 */ void ProcessCommand(char *cmd); void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { if (huart->Instance == USART1) { if (rxByte == '\n' || rxByte == '\r') { if (rxIndex > 0) { rxBuffer[rxIndex] = '\0'; // zakończenie stringa ProcessCommand((char*)rxBuffer); rxIndex = 0; } } else { if (rxIndex < 15) // zabezpieczenie przed przepełnieniem { rxBuffer[rxI
I have been working on porting a custom board using the STM32MP255F-AK.I performed the following tasks:- Used STMCubeMX to configure pins and other settings- Manually added the custom board-specific sections to the DeviceTree- Added the DeviceTree to the Distribution Package's meta-st/meta-stm32mp-addons/mx directory- Created a custom board configuration file and performed the build- Wrote the resulting TF-A and FIP images to an SD card and booted the system- Before performing this work, I verified the operation of STOpenLinux, which was created by modifying the STM32MP257F-DK Device TreeThe TF-A boots, but just before U-Boot starts, a register dump occurs repeatedly and the system stops progressingJudging by the error details, it appears to be a security-related error.Based on the address where the error occurred and the error ID,I tried making various changes to the .ioc and DT files, but the issue persisted.I suspect it’s a simple configuration mistake...What specific areas should I
Hi all,What is the recommended way to not crush our repository and dynamically pull/generate the project's Drivers and Middleware folders? For instance, our repository has both Bootloader + Application code projects in a repo (and other MCU projects/layouts for the same board).Is there something similar to Platform.IO (or C#'s NuGet packages) where the platform maintains those 3rd-party files in a volatile location and pulls them if they don't exist on your machine? Especially for the sake of not checking into the repo duplication of +15 MB worth of files for each project.Please excuse me if this was already asked. I didn't quite find a solid answer.I'm ok with making a command line script that auto-pulls them too, if that's a possibility.
We have a custom `STM32WL33CCV6` (`VFQFPN32`) board that should reach about `4 µA` in Deepstop, similar to the NUCLEO-WL33, but instead it drops only to roughly `450–500 µA` and appears to restart on Deepstop entry. `NRST` does not glitch low, and the behavior is unchanged with only `3.3V` and `GND` connected. We also tested direct `HAL_PWR_EnterDEEPSTOPMode()` with wake sources disabled, and it still appears to reboot rather than stay in Deepstop. We reviewed ST errata `ES0612` and applied the documented `VFQFPN32` workaround from section `2.2.9` for nonbonded GPIOs causing increased Run-mode current by forcing the listed nonbonded pins to pulldown at startup. That workaround had no effect on the Deepstop issue. The custom board’s `VFBSD / VLXSD / VDDSD / VDDRF` schematic and BOM appear close to the ST reference, so we are asking whether there are known WL33 low-power / SMPS / Deepstop pitfalls beyond errata `2.2.9` that could explain a persistent `~500 µA` floor or an apparent reset/
Hi all,I am trying to develop a bootloader software for STM32F765.I requires two features in it.1) jumping from Bootloader to Application2) jumping from Application to BootloaderI could make jump from Bootloader to Application very easily.But I am suffering with jumping from Application to Bootloader for 4-5 days now.The final code I tried is given below:void Bootloader_JumpToBootloader_Program(void) { void (*app_reset_handler)(void); __disable_irq(); SysTick->CTRL = 0 ; SysTick->LOAD = 0; SysTick->VAL = 0; HAL_RCC_DeInit(); HAL_DeInit(); /* 2) disable all enabled interrupts */ NVIC->ICER[ 0 ] = 0xFFFFFFFF ; NVIC->ICER[ 1 ] = 0xFFFFFFFF ; NVIC->ICER[ 2 ] = 0xFFFFFFFF ; NVIC->ICER[ 3 ] = 0xFFFFFFFF ; NVIC->ICER[ 4 ] = 0xFFFFFFFF ; NVIC->ICER[ 5 ] = 0xFFFFFFFF ; NVIC->ICER[ 6 ] = 0xFFFFFFFF ; NVIC->ICER[ 7 ] = 0xFFFFFFFF ; NVIC->ICPR[ 0 ] = 0xFFFFFFFF ; NVIC->ICPR[ 1 ] = 0xFFFFFFFF ; NVIC->ICPR[ 2 ] = 0xFFFFFFFF ; NVIC->ICPR[ 3 ]
Hello everyone,I'm using STM32CubeIDE 1.17.0 on Ubuntu 24.04.4 LTS.Sometimes when I build or open a project, the IDE crashes and I get the following error message:JVM terminated. Exit code=143 /opt/st/stm32cubeide_1.17.0//plugins/com.st.stm32cube.ide.jre.linux64_3.4.0.202409160955/jre/bin/java -Dosgi.requiredJavaVersion=1.8 -Dosgi.instance.area.default=@user.home/STM32CubeIDE/workspace_1.17.0 -Declipse.buildId=Version 1.17.0 -DproductMaturityGrade=mm -Djdk.http.auth.tunneling.disabledSchemes= -XX:+UseG1GC -XX:+UseStringDeduplication -Xms256m -Xmx1024m -jar /opt/st/stm32cubeide_1.17.0//plugins/org.eclipse.equinox.launcher_1.6.600.v20231106-1826.jar -os linux -ws gtk -arch x86_64 -showsplash -launcher /opt/st/stm32cubeide_1.17.0/stm32cubeide -name Stm32cubeide --launcher.library /opt/st/stm32cubeide_1.17.0//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.2.800.v20231003-1442/eclipse_11802.so -startup /opt/st/stm32cubeide_1.17.0//plugins/org.eclipse.equinox.launcher_1.6.600.v20231
Hello, I'm updating an ST25R3916B project to use the ST25R300 due to the obsolescence of the Murata variable capacitor. This project is read/write of ISO15693 tags only, no card emulation or anything fancy. It uses one IC which is then multiplexed with relays to 20 different antennae, each about 2cm square. The tag that we're reading is about 2cm by 1cm, and has been working reliably. So for this update I start by finding all the reference designs, and I saw this little gem, the STEVAL-ALOCKCB. It looks like it has an antenna the same size - how do I get more information about it? Can you please post the dimensions, or even better just send me the Altium files and I can get it out of there cleanly. Reference designator on there is ANT700.Also one question on that design - on PDF page 8 of the schematic it has the filter and antenna match but it looks like it's duplicated on both sides of the connector - why? Is that in case someone wants to use a different antenna at t
Hello,I am using STM32CubeAI Studio with the NUCLEO-N657X0-Q board.Board:STM32N657X0H3QNUCLEO-N657X0-QTools:STM32CubeIDE 2.1.1STM32CubeMX 6.17.0STM32CubeProgrammer 2.22.0STM32CubeAI StudioI generated a project from STM32CubeAI Studio and tried to run/debug it, but flashing always fails.Main error:Error finishing flash operation failed to erase memory Load failedDetailed log:Erasing external memory sectors [16 19] Error: failed to erase memoryAdditional information:ST-LINK FW : V3J17M10 Board : NUCLEO-N657X0-Q Device name : STM32N657 SWD freq : 8000 KHz Connect mode: Hot Plug Reset mode : Software resetI already tried:Full chip erase using STM32CubeProgrammerUnder Reset modeLower SWD frequency (4000 / 2000)Regenerating projectRebuilding FSBL and ApplicationReconnecting USB powerCreating a new CubeAI Studio projectHowever, the same error still occurs.Could this be related to:external XSPI flash loader,STM32CubeIDE version compatibility,CubeAI Studio generated partition layout,or ST
I don't know id this is normal, but I got one of those cheap Chinese ST-Link clones. It worked at first when I plugged it into my PC and installed the drivers and STM32 Utility.I tried connecting my MCU to STM32 Utility, but at the time I didn’t realize my MCU is an Artery one, not STM32. It still connected though, and when I tried to program it, I got an error saying “ELF loader not available.” I didn’t really know what that meant since I’m still pretty new to this stuff.After that I started messing around with the option bytes settings, and I might’ve changed something I shouldn’t have. I don’t remember exactly what I did, but after that my ST-Link stopped working.Now the LED on it is red, while I’ve seen other people say theirs is blue. From what I read it might be a driver issue, but I’m not sure. I even bought another ST-Link clone and it does the same thing, just red light and no connection.When I try to connect in STM32 Utility, I get an error, whether the target is connected or
IN short, it's not working. I normally use the standard (not x-cube) and L5 processors. I'm going to the U5 processors for a larger project. I've gone to Cube MX 6.17.0 and CubeMXIDE 2.1.1. Starting with a blank project, I configure the pins as usual and enable xcube-FreeRTOS. Go to CubeIDE, and without FreeRTOS, everything compiles properly. With FreeRTOS, I get 237 errors, some understandable, and some of the following: ./Middlewares/Third_Party/FreeRTOS/Source/include/task.h:34:6: error: #error "include FreeRTOS.h must appear in source files before include task.h" 34 | #error "include FreeRTOS.h must appear in source files before include task.h" | ^~~~~ In file included from ../Middlewares/Third_Party/FreeRTOS/Source/include/task.h:37: ../Middlewares/Third_Party/FreeRTOS/Source/include/list.h:62:6: error: #error "FreeRTOS.h must be included before list.h" 62 | #error "FreeRTOS.h must be included before list.h" | ^~~~~ ../Middlewares/Third_Party/FreeRTOS/S
Hi i have a board with STM32F4 and an EMMC. And I am using FATFS. I managed to enable the STM32 RTC and added the necessary code in get_fattime(); There is one problem stil: under windows "created" and "modified" date are shown corerctly. But "accessed" date is wrong. See attached image. Any clue what is going wrong? Thx
Dear all,I think I have discovered a bug in the CMSIS headers supplied for the STM32H7RSx and STM32H7x MCUs.In "Drivers/CMSIS/Device/ST/STM32H7RSxx/Include/stm32h7rsxx.h", there are definitions for ATOMIC_SET_BIT() and ATOMIC_CLEAR_BIT() among others, see https://github.com/STMicroelectronics/cmsis-device-h7rs/blob/7e6e213ddc397c76622a0aca2f623ccc3b34c010/Include/stm32h7rsxx.h#L162:/* Use of CMSIS compiler intrinsics for register exclusive access */ /* Atomic 32-bit register access macro to set one or several bits */ #define ATOMIC_SET_BIT(REG, BIT) \ do { \ uint32_t val; \ do { \ val = __LDREXW((__IO uint32_t *)&(REG)) | (BIT); \ } while ((__STREXW(val,(__IO uint32_t *)&(REG))) != 0U); \ } while(0)and the "register" in the description and the '__IO' qualifier in the code hint that this can be used for peripheral registers. This suspicion is correct, e.g., see https://github.com/STMicroelectronics/stm32h7rsxx-hal-driver/blob/1bde483bc7ab4883c2ef643e5a16ad6b303a631f/S
I'm trying to install the ST-Link USB Drivers following the instructions here. However, the STM32Cube Resources section does not include ST-Link USB Drivers.I'm running the latest versions on VS Code and STM32CodeIDE extension.
I'm writing firmware for a development board based on the STM32H743 MCU, and I want to use an external GPIO input as the trigger or synchronization signal of DMAMUX to initiate DMA transactions. However, it seems that very little information is available on using GPIOs to start DMAs. In the reference manual, "Table 127. DMAMUX2: assignment of trigger inputs to resources" and "Table 128. DMAMUX2: assignment of synchronization inputs to resources", it shows two trigger input signals: "Syscfg_exti0_mux" (number 20), and "Syscfg_exti2_mux" (number 21). So it seems to suggest that the EXTI trigger sources can indeed be used to trigger the DMA, but these two signals are not mentioned anywhere in the entire reference manual, there's no block diagram showing exactly what GPIO pins are connected. It says "SYSCFG" and "MUX", so they're probably the outputs controlled by programming SYSCFG_EXTICR1, SYSCFG_EXTICR2, SYSCFG_EXTICR3, SYSCFG_EXTICR4. But there are 4 EXTICRx and only two "exti_sys
I am currently working with the LoRa-E5 Mini module based on the STM32WLE5JC microcontroller, and I am using STM32CubeIDE version 2.1.0 for development. I have successfully tested basic GPIO functionality (LED blinking), and I am now trying to implement LoRa-based communication (transmission and reception) using the integrated SubGHz radio. However, I am facing challenges in properly configuring and utilizing the SubGHz_Phy middleware and radio drivers within STM32CubeIDE. Specifically, I need guidance on the following: The correct procedure to enable and configure the SubGHz radio peripheral in STM32CubeIDE for STM32WLE5JC. How to properly include and use the SubGHz_Phy middleware for basic LoRa communication. Availability of any official example projects (such as Ping-Pong or Tx/Rx) compatible with STM32CubeIDE 2.1.0 for the LoRa-E5 Mini module. Proper configuration of radio parameters (frequency, spreading factor, bandwidth) for reliable communication. Any recommended steps to ensu
Hi, there is a way to found the spice model for the IC: SG3525AN?
Board / SoCBoard: NUCLEO-WB09KESoC: STM32WB09SoftwareZephyr version: v4.4.0-rc2-41-g149c8b1758a8Toolchain / build system: West + Zephyr standard build flowIssue summaryWhen building a very small Zephyr application for NUCLEO-WB09KE, simply enabling:CONFIG_BT=ycan cause intermittent boot failure.The failure happens very early in boot:no UART outputno boot bannerno application printk()main() appears to never run in failed bootsThis happens even when the application does not call any Bluetooth API.Minimal applicationmain.c#include <zephyr/kernel.h> #include <zephyr/sys/printk.h> int main(void) { while (1) { printk("M\n"); k_busy_wait(100000); } return 0; }Minimal project configurationprj.confCONFIG_BT=y CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y CONFIG_EARLY_CONSOLE=y CONFIG_PRINTK=y CONFIG_ASSERT=y CONFIG_ASSERT_VERBOSE=y CONFIG_LOG=n CONFIG_PM=nObserved behaviorWith Bluetooth disabled, the board boots and repeatedly prints:M M M ...With CONFIG_BT=y enabled, boot becomes
I have a STM32H730 Project, using CubeIDE V1.17.0. Code executing from the internal Flash.I have located some functions into ITCM,added a new .itcram section to the linker LD fileadded __attribute__((section(".itcram"))) to my functions I want in ITCMat startup I copy from FLASH to ITCM This builds and runs okay, the functions in ITCM execute as expected.But, I can't Debug Step into any function located in ITCM, it just steps over the function.I can set a breakpoint in a ITCM function, but it never halts there, just ignores the breakpoint. How can I step into functions located in ITCM?Do I need to tell GDB that I have instruction code in ITCM? Thanks.
Hi, I'm getting an error when uploading an image downloaded from the STM32 OpenSTlinux website via STM32Programmer. I'm uploading the STM32MP157F-DK2 version. The OTG cable is connected, and the DIP switches are also in the correct positions. what could be the problem?
ST Community highlights – April to June 2026
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.