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
Hi,I'm having an issue with the WBA6_LinkLayer_BLE_Basic_lib.a library on zephyr.The library is found in zephyrproject/modules/hal/stm32/zephyr/blobs/stm32wba/lib directory in zephyr 4.2 (tag v4.2.0 in https://github.com/zephyrproject-rtos/zephyr/tags).The issue is with function llhwc_conn_evnt_done in object llhwc.o inside the library:On occasions, this function generates a Usage Fault (unaligned memory access) when run on nucleo_wba65ri board.The offending instruction is 'ldrh r3, [r2, #0]' at address 0x0000359c (function assembly code below).The registers at the time of the fault are:R0: 0x00008F10R1: 0x00008208R2: 0x4802FFFFR3: 0x0000FFFFR4: 0x2000CBB0R5: 0x4802000CR6: 0x0000FFFFR7: 0x48020000R8: 0x2000DD34R9: 0x0000923CR10: 0x20005A48R11: 0x48028238R12: 0x00000000R13: 0x20018318R14: 0x0803C65CR15: 0x0803D070PSP: 0x200184A8R2 holds the address 0x4802FFFF, which causes the hard fault.My nucleo_wba65ri is running a central BLE application, sending data to another
Hello ST Community,I'm working on an STM32H753VIT6 project and need to upgrade FreeRTOS from v10.3.1 to v11.2.0 due to cybersecurity requirements. I've encountered several integration challenges that I'd like to share and seek guidance on.BackgroundCurrent Setup:Working on an STM32H753VIT6 microcontrollerFreeRTOS v10.3.1 with CMSIS-RTOS v2 wrapper automatically generated using CubeMX which works seamlessly out of the boxTarget:Using the newest FreeRTOS v11.2.0 from official repository (preferably without the CMSIS wrapper so future upgrading will be easier): https://github.com/FreeRTOS/FreeRTOS-Kernel/releases/tag/V11.2.0The process:So I followed some guides from the FreeRTOS forums and the ST community forums.Like this one: https://community.st.com/t5/stm32cubemx-mcus/is-there-a-way-to-disable-the-automatic-default-task-creation-when-c-2560/td-p/256903where I've been told there is no other way of upgrading (at least for my STM32H753VIT6) than deactivating the FreeRTOS from within the
Hello ST Community,I am encountering an issue with X-CUBE-AI v10.2.0 (embedded in STM32CubeMX 6.14.0) when trying to deploy a PyTorch model with a custom layer to an STM32H7.I have enabled "Custom layer support" in the X-CUBE-AI settings. I am required to provide a JSON configuration file to map my custom ONNX node to my C implementation. However, I am unable to pass the Analyze step due to a JSON schema validation error.Environment:STM32CubeMX: 6.14.0X-CUBE-AI: 10.2.0Target: STM32H7Backend: ST Edge AI Core v2.2.0-20266My Goal: I need to map the following custom operator to a C function prefix:Operator Name: SpectralConvDomain: MyCustomImplementation Prefix: spectral_convHeader: custom_spectral_conv.hThe Issue: I keep receiving the error E010(InvalidCustomLayerImplementation) from stedgeai.exe. It appears the JSON format I am using is incorrect for this specific version of the core.Attempts:1. Using the "prefix" key (Standard Key-Value format):JSON { "MyCustom::SpectralConv": {
Hi All,I am quite new to bootloaders and I wanted to understand best approach to upgrade the firmware. I will get the firmware from a 4g module and store it in external flash. We are based on STM32U5A5 mcu and it will always use the application present in the internal flash. External flash will have two copies/slots. Current one for rollback and new downloaded one.I am thinking about the following approach. I was wondering if there is anything build-in to do this? I suppose almost everybody must be using the same approach.Is there any stm32 bootloader that can do the same? If custom bootloader is needed is there any template I can follow?Thanks,Sandeep
I have a new STM32H757I-EVAL board. The examples that can programmed on it ran perfectly. I want to compile and debug the TouchGFX example myself but I only managed to kill the app that is running on it. I've created the TouchGFX example from within STMCube32IDE by selecting the evaluation board, and then the example. It builds without errors. In Debug Configuration, on Debug tab under External Loaders, I've added MT25TL01G_STM32H747I-DISCO.stldr with Enabled set to true and Initialised set to false. When I select debug, it starts to program but fails after a while. Below is the output from Console. What is wrong, and how can I fix it? STMicroelectronics ST-LINK GDB server. Version 7.10.0 Copyright (c) 2025, STMicroelectronics. All rights reserved. Starting server with the following options: Persistent Mode : Disabled Logging Level : 1 Listen Port Number : 61234 Status Refresh Delay : 15s Verbose Mode : Disabled SWD Debug : Enabled InitWhile : Enabled Info :
It seems there's a bug in the HAL library causing data bytes to be mixed with memory address bytes when sending data using HAL_I2C_Mem_Write_IT function. The issue was observed on STM32L162VET6 while using I2C as master at 300kHz speed. It is caused by the condition in HAL_I2C_EV_IRQHandler (stm32l1xx_hal_i2c.c) on line 4808.The issue happens after TXE interrupt occurs (DR is waiting for another byte of data) and your interrupt routine is not fast enough to provide DR with another byte of data, before all bits from SHIFT register are sent out. In that case, a BTF interrupt occurs, causing the code of the HAL_I2C_EV_IRQHandler to go for I2C_MasterTransmit_BTF instead of I2C_MasterTransmit_TXE function. The problem is, that I2C_MasterTransmit_BTF doesn't handle memory address. It only copies another byte of data from data buffer. The issue is invisible when the situation happens while sending out the data buffer. But if it happens during sending out the memory address it causes
Hello,First, I would like to express my deepest gratitude for your assistance.I intend to update the firmware using STM32CubeProgrammer with the following hardware configuration Additionally, I have set the Boot0 pin to High using a jumper.However, my PC is not detecting DFU mode.Additionally, the programmer is not recognizing the USB connection. Did I miss anything? PS. The board has undergone a full chip erase.
Hi,I got a NUCLEO-WB55RG board and was trying to program it as a HID device. I have configured the STM32CubeIDE and have uploaded the code to the board. Yet, when I tried connecting the User USB, it unfortunately didn't work. My computer did not recognize it as an HID device. I have switched to USB MCU on JP1. Please help!!! Great Thanks!
The CubeMX 6.16.0 is able to generate a CMake-project for an STM32H7 - great. A small conflict currently exists in the following two generated files [for a "basic" STM32H7 project]:- CM7/CMakeLists.txt:69# Add linked libraries target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE # Add user defined libraries )- CM7/mx-generated.cmake:81# Add libraries to the project target_link_libraries(${CMAKE_PROJECT_NAME} ${MX_LINK_LIBS}) The first specifies PRIVATEwhile the second does not - which is incompatible as per CMake. Can someone confirm this observation? Can this be made consistent in the future? If so, I would prefer the one with the scope keyword - but could also live without it here.
Hi everyone,I am working on a custom board based on STM32F407VGTX to control a BLDC motor, and I am looking for some guidance. My goal is to implement sensorless control (FOC or 6‑step) using this MCU, and I would really appreciate any example projects, application notes, or configuration tips (timers, ADC sampling, current sensing, etc.) that you can share.If someone has already done a similar BLDC project with STM32F4, pointers to code repositories or project structures would be very helpful. Thank you in advance for your support!Ashish
Hi everyone,I’m working with an STM32H7S3 microcontroller and an external Octo-SPI NOR flash IS25WX064 from ISSI (datasheet: https://www.issi.com/WW/pdf/25LX-WX032-064.pdf)My goal is to get this memory working with ExtMemLoader (including XIP support). I’ve gone through all the available tutorials and many of the forum threads related to ISSI 25LX/WX devices, but after many hours I still haven’t been able to generate even a single .stldr that doesn’t crash in the STM32CubeProgrammer.A few important points:This does not seem to be a hardware issue. I can successfully communicate with the flash and read the manufacturer configuration/registers via the XSPI peripheral.I have been following the ST tutorials for this MCU family (the ones that use the Macronix flash on the official demo board).In my case, when I try to adapt the code for the IS25WX064, the driver fails in the last check of step 9 of the EXTMEM_NOR_SFDP driver (the final verification step):After a lot of iterations,
I am trying to use the BlueNRG-M2SP module on a custom PCB, connected over a UART interface to my main processor, STM32G431KBT6, as a network coprocessor. Ideally, I'd like my main processor to collect data, process, etc, and then communicate with a mobile app over the M2SP via UART (data / flow control on DIO pins 4, 5, 6, 7, reset pin pin 19 nRESET). However, I can't figure out how to enable UART communication in the BLE2 SDK on CubeIDE.When I enable "Wireless BlueNRG-2", under the HCI_TL_INTERFACE" options, the only "BUS IO Driver" shown is SPI Full-Duplex, which I am not able to use. Thanks for any help possible.
I’m using the X-NUCLEO-BNRG2A1 in network coprocessor mode (UART), but I’m stuck trying to run the BLE_Beacon example.Here is what I have done so far:I followed the AN5651 guide using a NUCLEO-L433RC-P.Since BlueNRG-1ST-LINK does not work on Windows 11, I used RF-Flasher Utility to flash the DTM_UART.hex file onto the X-NUCLEO. I took this hex file from the STSW-BLUENRG1-DK packageThis part worked correctly, and the X-NUCLEO is now configured as a network coprocessor through UART.The problem appears on the STM32 side.The STSW-BLUENRG1-DK package includes several applications such as BLE_Beacon, but they are written for EWARM (IAR) and are not integrated into CubeIDE.I tried flashing BLE_Beacon_NWK_UART.hex to my NUCLEO STM32 board using CubeProgrammer, but after it configured, the communication with the module doesn't work. I assume this is because the application is configured for the NUCLEO-L476RG, not the L433, so the pins or hardware settings do not match.As a result, I’m stuck and
Hello,I'm slightly confused about the options in the STM32CUBE VSCode extension Project setup window.From the left dropdown i can select the Project, where i have options x, x_AppliSecure, x_AppliNonSecure and x_FSBL, for each of the left options, i can select Secure, Secure-only and Non-secure from the right dropdown for the Security model. I haven't found documentation which describes what do these options mean.For example, if i select x_AppliSecure from the left dropdown and Non-secure from the right drop down, which sounds like a conflict, what happens? In which scenario should i choose which of the 12 available Project-Security model combinations? Also, I assume that Secure means Secure + Non-secure, as Secure-only must mean secure only and Non-secure probably means Non-secure only?In the same window, multiple rows can be added to the list from the + button in the bottom right, what do the rows represent?Thanks!
Hello! I need help. STM32L073RZT6 MCU.How can I write, for example, 2 times 8 Bytes into any second half-page of flash memory?Every first page is recorded successfully and read successfully. For example, I write 8 Bytes of data to the beginning of the _writeBuf buffer (half page size) (fill the rest with zeros), erase the entire page of interest (*(__IO uint32_t *)_write_address = 0;), write _writeBuf to the first half page, the recording is successful. Write a next 8 bytes of data to _writeBuf after current 8 Bytes of data and I write it down in the first half page in the same way, it also goes well. With a similar operation, the first 8 Bytes are written to any second half page successfully, but when the next 8 Bytes are written to any second half page, the NOTZEROERR error occurs.
Both in the manual and in CubeMX, it is shown that my microcontroller, has the ability to configure the FMC, for an asynchronous muxed PSRAM interface.However, in the manual I can only find the timing description for the asynchronous NOR Flash and for synchronous NOR/PSRAM.Am I missing something here, or is it missing in the manual itself?
When enabling 2 ADCs , ADC1 and ADC2 of STM32U5A5 ,both in Independent mode . The RCC enabling in MspInit called only for ADC1 and not for ADC2. What causes , that If one decide disable generataion of call to MX_ADC1_Init() in CubeMx , in order to call it somwhere else , but still enable generation to call to MX_ADC2_Init() in CubeMx , ADC2 won't work untill MX_ADC1_Init() is called.
Hi.I am trying to test out a fault handler for our STM32G (right now, the fault handler just tries to determine the location of the code that caused the fault).If I force a fault (divide by zero) in "normal" non-interrupt handler code, I can easily read the stack frame, find the PC and determine the location of the fault (stack frame is located in the process stack).If I force a fault in an interrupt handler (USART1, using HAL code), the stack frame on the main stack does not make sense to me (what I think the PC is, does not point to a location in flash memory). If I add 0x50 to the address in the MSP, then I can see a stack frame with the correct PC.Is there a section in PM0214 that can explain what I'm seeing?I attached a few screenshots from the debugger in STM32CubeIDE that show the call stack and memory.In my example, the MSP in the fault handler points to 0x2001fde8, and the LR is 0xfffffff1. The stack frame I'm expecting to see is at 0x2001fe38.Thank you!
Hello ST Community team,on the MB2046 schematic, there is a button called B3 or Boot mode pin:But the UM3353 (chapter 7.9) mention only B1 and B2:Could you please correct this on the coming doc revisions.Best Regards.II
Hello, the values of my accelerometer axes are affected by temperature changes and require calibration at each temperature. What method should be used for compensation? How can Bias Drift and Scale Factor Drift be determined each time the temperature changes?
I am developing a TouchGFX user interface on a STM32U5G9 with a 24bit RGB LCD screen. I have developed the user interface on the STM32U5G9J-DK2 development board, where it works fine. I imported the TouchGFX project on my custom board the framework stops after the first full screen is displayed.As a test I have added a start-up screen with two colored boxes and a image in internal flash. I have configured interactions to jump to the main screen after 3 seconds. When I set a breakpoint inside model.tick(), it triggers before 25 ~30 times before it stops triggering. The other threads of the application run as intended (ThreadX). If I look at the thread list in CubeIDE, the TouchGFX thread has state ready, and it's run count stops increasing after the first frame is displayed on the screen. I compared both projects of the devboard and my projects in cubeMX, and I can't find any differences. I compared both IDE projects with winmerge, but also nothing found which could cause
Hello ST Community,Custom STM32MP2 board with STM32MP257FAK fails rootfs mounting from eMMC in HS200 (CRC errors), works at 52MHz DDR.In the device tree side only difference is removing HS200 property and added Max frequency to 52Mhz.&sdmmc2 { pinctrl-names = "default", "opendrain", "sleep"; pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>; pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_a>; pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_a>; non-removable; no-sd; no-sdio; st,neg-edge; bus-width = <8>; vmmc-supply = <&scmi_vdd_emmc>; vqmmc-supply = <&scmi_vddio2>; mmc-ddr-1_8v; max-frequency = <52000000>; status = "okay"; };Attached hs200 issue Log How to debug further to work with hs200?
Hi,I'm searching for a MCU with one or two advanced motor control timers to control 1 or 2 bldc motors.For this purpose I use the MCU selection tool from here: STM32 family of 32-bit microcontrollers (MCUs) - STMicroelectronicsWhen I use the filter for one or two advanced motor control timers the MCUs from the STM32G series are never displayed and I don't understand why? How should I search for all MCUs with motor control functionalities?Thanks for every hint!Best regards,Roger
I am experiencing an issue when trying to use STOP3 mode on an STM32U575VIT6Q device mounted on a custom PCB. In fact, the MCU never seems to actually enter STOP3, even though I explicitly call:HAL_SuspendTick(); HAL_PWREx_EnterSTOP3Mode(PWR_STOPENTRY_WFI); HAL_ResumeTick();The observed behavior is as follows:With Low-Power debugging enabled, STM32CubeIDE halts execution on the internal low-level _WFI() instruction.Without the debugger attached (free-running mode after BOR and JTAG detached), the MCU does not appear to enter STOP3 at all and continues normal execution after the call.From code inspection and debugging, it looks like the core is effectively ignoring the WFI instruction or is prevented from transitioning into STOP3 by some system or external condition.At the moment, it is unclear what might be blocking STOP3 entry. Possible areas I am investigating include:Pending or enabled interrupts/events that could immediately wake the core after WFIDebug-related side effects,
Hi,still pretty, pretty new to STM32CubeIDE, I'm trying to understand how it works by doing little things. So right now I'm trying to combine both debugger with a terminal both running in STM32CubeIDE.To include terminal in STM32CubeIDE I have followed instruction given here:How to use the STM32CubeIDE terminal to send and receive data (Knowledge Base) So far, running a little test program, I was succesfull doing it at least for very first debug session (i.e. after power cycling the Nucleo-Board). I quit the debug session with the indicated button shown on attached figure belowHowever, when I start a debug session a second time, I get always(!) the same error message (see below)The only way I found so far is to make a hard power cycle to the Nucleo-Board to make it connected in the STM32CubeIDE again.Well, in STM32CubeIDE, because I also installed Tera Term and here everything is working fine. But actually I'm a fan of having thing in one application that can be in one.So my quest
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.