Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hi all,I have been trying to set up an ethernet connection to stream camera output for my own project (using the STM32N6 Discovery Kit with a different IMX image sensor). Before working on this, I uploaded and ran the VENC RTSP Server application, and it was working correctly. I then returned back to my own firmware implementation for a day or two and I could not get the ethernet to work.Then, when reuploading the VENC RTSP Server application, I found that it was no longer working. The issue is essentially the same as what occurs in these posts, the difference being this is not custom hardware:https://community.st.com/t5/stm32-mcus-products/ethernet-sw-reset-timeout/td-p/703469https://community.st.com/t5/stm32-mcus-products/ethernet-sw-reset-timeout/td-p/703469What's happening is that the code continuously fails in stm32n6xx_hal_eth.c in HAL_ETH_Init while waiting for the SW reset to complete after setting the SR bit in the DMABMR register. I have noticed
I am trying to initialise SDRAM on STM32H757I-EVAL.I created a new demo project in STM32CubeIDE using the specified evaluation board. I disabled the other memory peripherals like MMC, etc. It calls MX_FMC_Init() but after that, when looking at memory at 0xD0000000 I only get ????? and accessing it gives hardfault.In this support post it is suggested that the commands must still be sent to controller while in this one it is suggested that BSP_SDRAM_Initialization_Sequence() is called. The latter function is not available in my BSP.How can I create a simple application to initialise the SDRAM?
Hi all, I am working on an STM32H755 project using external QSPI NOR Flash.I intend to use the QSPI Flash in two different ways: 1. Memory-mapped mode for read-only resources (UI assets, fonts, images, etc.)2. Indirect mode for file system operations (writing dynamic parameters) RTOS: RT-Thread (preemptive, priority-based scheduler) My current design is as follows: - All dynamic parameters are read from QSPI Flash at boot and cached in RAM.- During runtime, all parameter access is done from RAM only.- QSPI indirect access (erase/write) is performed only by a dedicated file system thread.- When a write is needed:- The file system thread enters a critical section- QSPI memory-mapped mode is disabled- Flash write/erase is performed in indirect mode- Memory-mapped mode is re-enabled- The thread then exits the critical section and yields CPU The idea is to prevent context switches while memory-mapped mode is disabled, so that no other thread can access QSPI via memory-mapped addresses durin
We purchased 1,200 STM32WB55VGY6TR chips from the STmicroelectronics eStore for production. We encountered several firmware programming issues during the manufacturing process, and while investigating the cause, we noticed that the device marking was printed as WB55VEY. The chips that were successfully programmed appear to be OK. The device marking is printed as WB55VEY6, but the actual flash memory capacity is 1MB and the contents appear to be WB55VGY. Can we assume that the chip in the attached photo is an STM32WB55VGY6TR and use it without any problems? By the way, the lot number is listed as:WB55VEY6A5 011 9RTW 4 48 Xe1We've contacted the eStore, but haven't received a reply."Case# 00247962"What should we do? Can you help us?
Hi, I am trying to implement DA on an stm32H563, I have created the .obk file, and was selected in the Stm32Programmer. I have changed the product_state to provisioning and I got the message "Do you want to use the default?"I clicked YES and I got the default DA, located in ..\STM32CubeProgrammer\bin\DA_Default_Config\STM32H5I was able to perform a full regression and then I tried again to flash and secure the chip, and this time I did choose "NO" to the default. Now I have tried my DA password and the default and none of them works. Also, I did at first tried to provision the mcu with my obk file, but was complaining about the OB not in provisioning. So after the provisioning I got locked out.Can the board be saved in any way or I have just bricked an mcu?I am using the STM32H563 NucleoThanksAle
We have used STM32H743VIT6 in our project. To calculate product life cycle we required below details,MTBFFITUsage temp (°C)Confidence Level (%)Activation energy (eV)Test temp (°C)Test duration (hours)Sample sizeFails
1. Please suggest the pin for programming interface or documents 2. Programme example for tick timer, two external interrupts? library
I am reporting a compilation error that occurs when using the STM32F1xx Standard Peripheral Library (SPL) in Keil MDK v6 (specifically using the RTE pack downloaded via Arm Keil Studio for VS Code). This issue is caused by a naming mismatch in the NVIC structure between the legacy SPL and the latest CMSIS core headers.In the latest CMSIS core headers, the Interrupt Priority Register in the NVIC structure is defined as IPR. However, the misc.c file in the Standard Peripheral Library still refers to it as IP.Error Message: ~/.cache/arm/packs/Keil/STM32F1xx_DFP/2.4.1/Device/StdPeriph_Driver/src/misc.c:131:11: error: no member named 'IP' in 'NVIC_Type'Technical Details & Suggested Fix: The bug is located in the STM32F1xx_DFP/2.4.1/Device/StdPeriph_Driver/src/misc.c file, specifically around line 131 within the NVIC_Init function.To ensure out-of-the-box compatibility for MDK v6 users, I propose updating the current code:NVIC->IP[NVIC_InitStruct->NVIC_IRQChannel] = tmppriority;to
Hi, I have stm32l4ri-eval how do i configure the octospi interface to use the issi hyperam which is onboard.
Hello I am having an weird issue and was hoping if someone could provide some guidance. Hardware : Two Stm32 H7 with CAN Transciever Nvidia Orin Can Adapter/Sniffer (Canable) What works : Stm32H7 to Stm32H7 Nucleo Board Can Bus works. Nviia Orin < - > Canable Adapter Can bus works. Issue : Can bus communication from stm32 H7 to Canable Adapter are not coming through. neither Tx nor Rx. What have i done to troubleshoot Checked wirings for High to High and Low to Low and Tx and Rx as well. Checked voltages for Rx pins at 3.3v( using level shifters wit h transciever) Checked termination resistance and have tested the connections in isolation with both ends terminated with 120ohms ie (stm32- > stm32, Stm32-> adapter, Stm32 -> Orin) I have tested with different baud baud rate like 250, 444, 450, 440, 500k. Tried different Bit Timing Parameters but to no avail. Below are my FDCan Parmeters from ioc file. FDCAN1.AutoRetransmission=ENABLE FDCAN1.CalculateBaudRateNo
Hi guys i have a nucleo h7A3Zi-q dev board . i am trying to receive CAN messges sent from ESP32 borads . esp is sending can frame by using SN65HVD232D. and i configured the FDCAN to receive the can messages . esp can is set at 500 kbits , and my stm configurations is like this static void MX_FDCAN1_Init(void) { /* USER CODE BEGIN FDCAN1_Init 0 */ /* USER CODE END FDCAN1_Init 0 */ FDCAN_ClkCalUnitTypeDef sCcuConfig = {0}; /* USER CODE BEGIN FDCAN1_Init 1 */ /* USER CODE END FDCAN1_Init 1 */ hfdcan1.Instance = FDCAN1; hfdcan1.Init.FrameFormat = FDCAN_FRAME_CLASSIC; hfdcan1.Init.Mode = FDCAN_MODE_NORMAL; hfdcan1.Init.AutoRetransmission = DISABLE; hfdcan1.Init.TransmitPause = DISABLE; hfdcan1.Init.ProtocolException = DISABLE; hfdcan1.Init.NominalPrescaler = 8; hfdcan1.Init.NominalSyncJumpWidth = 1; hfdcan1.Init.NominalTimeSeg1 = 13; hfdcan1.Init.NominalTimeSeg2 = 2; hfdcan1.Init.DataPrescaler = 1; hfdcan1.Init.DataSyncJumpWidth = 1; hfdcan1.Init.Data
Hi everyone,I’m currently trying to bring up an external RAM (HyperRAM over the HyperBus protocol) on the STM32L4R9I-EVAL board. While going through the documentation, I’m finding that information related to OCTOSPI and HyperBus on this family is quite scattered, and it’s been difficult to form a clear picture.From ST forums and discussions, I’ve come across mentions of a silicon/errata limitation on the STM32L4R9 family that affects HyperBus support on OCTOSPI. Some posts even suggest that PSRAM/HyperRAM is not reliably supported despite the presence of the IP, which has left me a bit confused about the actual capabilities and intended use.My goal is to use the external HyperRAM in memory-mapped mode (for example, as a framebuffer). In parallel, the board also has an external NOR flash connected over OCTOSPI (non-HyperBus), for which ST provides example projects. However, in those examples the flash is configured on OCTOSPI2, while the schematics show it connected to OCTOSPI1, which a
Hi,I am experiencing a core freeze issue on STM32H7S3L8 MCU, as described below.UPDATE 1: Most probably Data Cache is the main culprit, closing Data Cache in bootloader solves the problem. Application code Enables Data Cache and we have never observed any freeze errors in application code. Relocating the HASH code changes the behaviour but same error observed for both HW and SW Hash functions so Hash is probably irrelevant! (see the comment section.)In the bootloader, I compute a HASH over the application image stored in external XSPI flash (memory-mapped XIP). After this process, "we believe", the core occasionally freezes and becomes inaccessible through the debug probe.In the first scenario bootloader firmware remains unchanged; only the application binary varies. The freeze depends on the application binary. Some application images consistently trigger the issue on every power cycle, while others run without problems.In the second scenario when using an application image that trigg
Hello, we have device with very old TFT display which is dying. New one is unable to obtain. It has similar interface as DCMI: vsync, hsync, pixclk, D0-D8.I have connected these clock/data lines to DCMI port, but interrupts was not triggered.Here are my clock lines (from top: vsync, hsync, pix):I suspect that timing of clock signals is not correct - compared with image I have found:clock signal is continuous, hsync/vsync falling at the same time... Can somebody confirm this, or can somebody point me to document with detailed dcmi clock format/timing?Thank you.mm
Hello,I am working on a hobby project with https://www.st.com/en/microcontrollers-microprocessors/stm32f767zi.html.I have my own build and development environment based on arm-gcc-none-eabi and CMake and all HAL Drivers and Libraries from STM.The board starts properly up and I have started to work with GPIOs. Most of my initialization routines are copied from Example Projects. I think, that they are very similar, but I´m not 100% sure yet. While initializing the LEDs, the MCU produces a HardFault (and sometimes a Memory Fault) from within the HAL Code. Currently HardFault occurs very consistently. First I want to take care about the HardFault and if MemFault is still occuring, I want to take care of this as well. The error is thrown exactly at this line:https://github.com/STMicroelectronics/stm32f7xx-hal-driver/blob/e1446fa12ffda80ea1016faf349e45b2047fff12/Src/stm32f7xx_hal_gpio.c#L191 Configurable Fault Status Register has:precise error bit setbfarvalid bit setThe value
As the subject says. I am not able to connect and re-program or debug my STM32C011 ICs after I set up SWCLK and SWDATA as ADC on my firmware.NRST pin is connected and it still doen't workI know this is expected behaviour, but I should be able to re-program it by connecting the NRST pin to the debugger, however, this is still not fixing the problem.
Powerstep01 has a beautiful function to zero the position of the counter that works in conjunction of an external switch SW. It sets the slowest speed and direction of a movement automatically and waits until a rising edge is detected on from the switch input pin and finishes performing with hard stop and setting zero. The question is how to define the pin address to be monitored.Using Poonor library, is there another library that you recommend?Regards
Hello,Trying to do precise GPIO pulses with assembly code - on any STM Nucleo board - shows jitter and fluctuating frequency. I was told by a super user to do it via PWMI would like to add some comment that may be interesting for others :- trying to do precise pulses with PWM on the Nucleo H723 for example, still shows jitter and fluctuating frequency around the desire value. Same using HSE or HSI. Same with Nucleo-F411. Same with Nucleo-N667. I understand the reasons now.But playing around the Nucleo-N657, I got some success : if you feed your CPU_clock directly with HSE (48MHz on board), and feed the other peripherals, including timer_clock with HSE+PLL (400MHz for example), then the resulting PWM is quite accurate and stable !Regards,
Hello,I'm using the STM32H723 (at 550MHz) to generate pulses on a GPIO output at a certain frequency (around 4KHz)I'm generating the pulses with assembly code. I've stopped systick and interrupts. However, looking at the signal with a scope, I'm discovering that the frequency is not fixed, moving around the desire frequency. I've tried both with external cristal or internal HSI. Same result.What is the reason ? Is there a possibility to stabilise the output signal ?Thanks for your help,Laurent
I am getting a issue with simulating touchgfx projects. These are the steps I followed.Create a working touchgfx project from cubeide. (This one works/simulate without an issue)Push the project to git.Clone the project to another locationOpen touchgfx and try to simulate.I am getting this error when i try to simulate.Run Simulator Generate Done Generate Assets make -f simulator/gcc/Makefile assets -j8 generated/simulator/gcc/Makefile:215: recipe for target 'images' failed process_begin: CreateProcess(NULL, ../Middlewares/ST/touchgfx/framework/tools/imageconvert/build/win/imageconvert.out -r assets/images -w generated/images, ...) failed. make (e=2): The system cannot find the file specified. make[1]: *** [images] Error 2 simulator/gcc/Makefile:32: recipe for target 'assets' fa
I'm trying to ping my NUCLEO-H723ZG board and I've failed with every attempt over many hours; Nucleo board is connected to my MacBook over USB + ethernet cable with an ethernet adapter I'm using STM32CubeMX with VSC extension (this setup works, I am able to program the board and debug it) My goal: Ping the STM32 over ethernet Results: Request timeout for icmp_seq 301 ping: sendto: Host is down Or it will hardfault Code: /* USER CODE BEGIN PV */ extern struct netif gnetif; /* USER CODE END PV */ ... /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ ethernetif_input(&gnetif); sys_check_timeouts(); } /* USER CODE END 3 */ Config: These config files are based from .ioc files from this thread: https://community.st.com/t5/stm32-mcus-embedded-software/h723-ethernet-lwip-ping-problem/m-p/758419#M58561 (No help from linked topic helped here) I've also tried this tutorial with the same
Hello,I'm having trouble with our BLE app where our code gets stuck in an infinite loop in `stm_list.c`, specifically in the `passPendingToActive()` function.When I expand the `AmmPendingCallback` variable in CubeIDE, I see this:And following the logic through of the passPendingToActive() it seems like we'll never recover from this. The application becomes unresponsive.Some relevant details:Our application is running in ThreadXWe are abusing the BLE thread (HCI Async Event Task) currently (doing a Flash Erase) - this obviously will be moved off into an application thread, but currently it is in the BLE thread: I suspect the fact that we're abusing the BLE thread is what's causing this, but in any case it seems like incorrect behavior. The LST_is_empty (&AmmPendingCallback) check is never TRUE, so the while loop never exits.Any thoughts on what could be causing this?Cheers,Jonathan
Hello. I have developed a firmware using FREEROTS and FatFS. I have setted FREERTOS with : - one thread (osPriorityNormal, 24) that perform massive read on uSD file (100MByte) to search a string (the search takes at least 40secs) - a software timer (priority 2) that, in a certain moment, write a string in certain position in another file. What I observe is that that FatFS f_lseek API called in software timer returns FS_TIMEOUT when the thread is performing massive read. I'm tempted to augment FS_TIMEOUT to 100 secs or augment software timer priority to a number greather than 24 (osPriorityNormal) but have you another suggestion ? Is it the right way ? Thankyou in advance.
Hello,I need the TCP Server with static IP address. I chose the Nx_TCP_Echo_Echo_Server example and NUCLEO-H723ZG board as a starting point. I use the STM32CubeIDE 1.19 with latest x-cube-azrtos-h7-v3-4-0 sample files. So I imported the Nx_TCP_Echo_Echo_Server example project and compiled it without problems. But after that I disabled DHCP and set the static IP address:After that project can't be build and it is necessary to edit app_netxduo.c file as in it still there are some code related to DHCP. But even after successful compilation I can't connect to the server from the client. Also I can't ping it too. It seems that this is a global problem with NetXDuo as there are plenty of posts with similar problems. E.g.:https://community.st.com/t5/stm32-mcus-embedded-software/stm32h563-netxduo-tcp-echo-server-only-working-in-debug-mode/m-p/663727 https://community.st.com/t5/stm32-mcus-embedded-software/netxduo-not-working-with-a-static-ip-addresss/td-
Hello,While rapidly powering the MCU on and off to simulate the vehicle’s internal power conditions, I have observed that the MCU occasionally ends up in this error state.Has anyone experienced a similar issue or can provide insight into what might be causing this behavior and how it can be resolved?
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.