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
TouchGFX version 4.25.0 CubeMX version 6.17.4* STMCubeIDE version 2.0.0*edited versionI created a development environment starting with TouchGFX and used Generate Under Root in CubeMX. This did a great job of setting up the directory structure without links so that it is easier to navigate in the STM32CubeIDE application.Part of this process automagically moves the middleware and driver directories from the STM32CubeIDE directory to the root directory.When the .project file is created by the TouchGFX code generation it handles the movement of all these files and include directories like a champ, except the Properties=>C/C++ Build=>Settings=>MCU/MPU G++ Linker=>Libraries=>Library search path for the libtouchgfx-float-abi-hard.a library.It sets the path to "${workspace_loc:/STMCubeIDE/Middlewares/ST/touchgfx/lib/core/cortex_m7/gcc}" instead of "${workspace_loc:/${ProjName}/Middlewares/ST/touchgfx/lib/core/cortex_m7/gcc}"It's a quick fix to edit it to
Hi,I'm developing a composite USB device on STM32N6 with:- 2x CDC ACM interfaces (Dual Virtual COM Port)- 1x UVC (USB Video Class) interface for camera streamingThe CDC ports work correctly. The UVC class enumerates successfully and the camera application opens without errors. However, the video stream shows a black screen - no actual frame datais being transmitted. What Works1. USB Composite device enumeration succeeds2. Both CDC ACM ports work (LOG port sends heartbeat, DATA port echoes)3. UVC class registers correctly with USBX4. Host can open camera application (VLC, Cheese, etc.)5. UVC GET_DEF(PROBE) requests are handled correctly6. SET_CUR(PROBE/COMMIT) requests are handled correctly7. StreamChange callback fires when host starts streaming (alt=1)8. Packets are queued via ux_device_class_video_write_payload_get() (returns success)9. ux_device_class_video_transmission_start() returns UX_SUCCESSWhat Doesn't Work→ PayloadDone callback is never triggered→ No video data reaches the ho
Hello,I'm working with the STM32H7S7L8 -DK and I need for final product to program the external OCTOSPI flash via usb DFU.So using V2.20.0 Cube programmer i'm able to use external memory loader to read and program the flash using SWDBut using the USB i see the DFU and before i select the good external memory laoder but when i click to connect i can only programm the internal flash of the STM32 when i try to read or program the OCTOSPI flash i have error.Do you have any ideasThanks
Dear,Is it possible for execution within HDPL_x to use SAES (Secure AES) with a DHUK (Derived Hardware Unique Key) from HDPL_y where x > y?For example:Execution within HDPL2 makes use of SAES to encrypt plaintext p using its DHUK, this results in ciphertext cAfterwards, upon reset, execution within HDPL1 needs to be able to read plaintext p (e.g., by decrypting the stored ciphertext c using HDPL2's DHUK) without changing the HDPL.Is this possible with SAES, and if yes, how?Thanks a lot!
Just got a new chip — does it come with factory firmware preloaded? If yes, what version is it? And will I need to re-flash the firmware before it can work properly?
Hi,I have build a custom model based on st yolox model.This model have an input of 480x480. Intput int8 and output float.Five classes for vehicles detectionQuantized and tested on stm32N6570-DK.Now i'm trying to add my model on this st examplehttps://github.com/STMicroelectronics/STM32N6-GettingStarted-ObjectDetection/tree/mainI'm following this tutorial to deploy my modelhttps://github.com/STMicroelectronics/STM32N6-GettingStarted-ObjectDetection/blob/main/README.md#application-build-and-run---dev-modeI'm using stm32cubdeIDE to program the cardAfter i programmed the network_data.hex, i'm trying to deploy and debug the application.But i have this error at this step : app_postprocess_initThe parameters Do you have en idea how i can resolve this ?
I’m trying to use the FMC and SDRAM (IS42S16400J) to expand the H7’s running memory. I have the FMC configured in SystemInit and the linker setup to put all readwrite into SDRAM. I’ve verified that I can create variables normally, they’re placed in SDRAM, and can be read and manipulated normally.Now that I have minimal functionality, I’m starting to add more peripherals and functionality.int main(void){ /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_SDMMC2_SD_Init(); MX_USB_OTG_HS_PCD_Init(); MX_FATFS_Init(); /* USER CODE BEGIN 2 */ MX_USB_DEVICE_Init(); /* USER CODE END 2 *
Hi,after starting with Nucleo-L432KC development board I need to switch to a variant with more I/Os, and thus I’m creating a stand-alone development board with STM32L462CET in LQFP48 package.I purchased a STLink-V3MINIE for programming/debugging but, like others, was confused on how to properly connect the STLink to the MCU. Since various answers are given in lots of threads I summarized in a simplified sketch what I consider as correct.Please have a look on attached schematic and configuration of MCU done in CubeMX. To keep it as simple as possible I removed everything but the MCU, the STDC14 connector of the V3MINIE and just an LED to apply the minimum blink-example.Please, focus on the connection of STDC14 connector and BOOT0. I think, with this, it is possible to download the blink-software and run the debugger. Am I correct?RegardsSebastian
Hello,Does someone have footprint, symbol and 3D model for this STM32F407ZGT6 board?Best regards and thanks in advance,Toby
Hi everyone,I am working with the STM32C071 and experiencing problems with USB enumeration after my bootloader execution.I wrote a custom bootloader that performs checks (like CRC, metadata, etc.) and can also trigger the embedded STM32 DFU bootloader in System Memory using this method:void boot_jump_to_bootloader(void){ uint32_t i = 0; void (*SysMemBootJump)(void); uint32_t BootAddrC0 = 0x1FFF0000; __disable_irq(); SysTick->CTRL = 0; HAL_RCC_DeInit(); for (i = 0; i < 8; i++) { if (i < (sizeof(NVIC->ICER) / sizeof(NVIC->ICER[0]))) { NVIC->ICER[i] = 0xFFFFFFFF; NVIC->ICPR[i] = 0xFFFFFFFF; } } __enable_irq(); SysMemBootJump = (void (*)(void)) (*((uint32_t*) ((BootAddrC0 + 4)))); __set_MSP(*(uint32_t*) BootAddrC0); SysMemBootJump(); while (1) { /* Code should never reach this loop */ }}After performing my bootloader-specific instructions, I jump to the main firmware application using this f
There seems to be a recurring error in the HAL documentation (e.g. UM2570, but also in others STM32L5?) UM2570 - Rev 2 page 60/2926The description of the flag does not match the flag nameHAL_FDCAN_ERROR_FIFO_EMPTYPut element in full FIFOHAL_FDCAN_ERROR_FIFO_FULLGet element from empty FIFO
Hi,after Update to v6.18.0 we get the following warning: Our configuration: Mouse hover: Obviously, you don't have a single source. Otherwise, it wouldn't be possible for the “240 MHz” label below the text field and for the “225 MHz” label to appear when hover over that same text field.Please, ST, conduct more integration tests! Attached our .ioc file.
Hi Everybody,I posted a comment here https://community.st.com/t5/stm32-online-courses/stm32h5-secure-manager-course/bc-p/824487/highlight/true#M27 yesterday because I am trying following the online course and what is written in the wiki to start developing an application on the STM32H573VI using the secure manager.At the moment I am starting the development by using the nucleo board for H573 however, by following the wiki, the only project that could be used for deploying the solution is an handswritten example that does not use the CubeMx.If I try to follow the old documentation on the youtube videos, as explained in the link provided, I am unable to set the boot path correctly.At the moment I am a bit lost, should I build my project without the use of CubeMx in case of secure manager? Will it be added in the future? I am missing something straightforward? thank you in advanceAndrea
Dear community and STMicroelectronics representativesI'm having strange problem in both STMCubeProg v2.22.0 and v2.23.0. I tried many older versions (even pretty ancient ones) and these works without problem. Problem is that in v2.22.0 and v2.23.0 when I select a file to be programmed to device (device uses custom DFU implementation - inspired by DFU example code), then I set address and click “Start programming”, almost nothing happens (only progress bar resets to 0% so click is “handled”). No “Opening and parsing file”, no “erase sector command” comes to my device, no error in console or GUI, no timeout - just nothing. I would typically suspect that my DFU implementation on my STM32L452RE MCU is no longer compatible with current versions of STMCubeProg, but as there is not even this “Opening and parsing file” message (it is displayed by older versions of STMCubeProg) nor any error or timeout is reported, I'm suspecting that something even before attempting to communicate over DFU pro
My MCU is STM32H753 on custom PCB. It is running at 480 Mhz. I use USB USB_OTG_FS it is clocked by RC48.On “Middleware and Software packs” I have enabled “FATFS”, “FREERTOS” and “USB_HOST”I generated project by using CubeMX 6.17 with “STM32Cube_FW_H7_V1.13.0”.For more details see attached pictures with configurations. I use FreeRTOS function uxTaskGetSystemState to get info about CPU time per task.In my project I have FatFS test module that performs some read write tests. When I check CPU usage I get this numbers for tasks: “fatfs_test” CPU: 43% “USBH_Queue” CPU: 46% left 11% are utilized by GUI.I ran tests with USB DMA enabled and disabled - there is no difference. So, the question is: Is it OK for “USBH_Queue” task to utilize that much CPU when read/write operations in progress??? For example I have similar test for SD-card, and I get this numbers for tasks: “fatfs_test” CPU: 51% “IDLE” CPU: 35% GUI and other tasks CPU: 14%USB OTG FS pinsUSB OTG FS parametersUSB OTG FS NVIC SettingsU
Hi there, I found several issues in the STM32CubeMP2 CMSIS headers as follows:1. Missing opening parenthesis in bitmask macrosIn stm32mp21*xx.h, _Msk macro definitions were missing the opening parenthesis, leaving a dangling closing parenthesis with no matching open:// Before #define USB_OTG_GCCFG_FSVMINUS_Msk 0x1UL << USB_OTG_GCCFG_FSVMINUS_Pos) // After #define USB_OTG_GCCFG_FSVMINUS_Msk (0x1UL << USB_OTG_GCCFG_FSVMINUS_Pos)While the C preprocessor performs simple text substitution and the shift operation may still evaluate correctly at the call site depending on context, the unbalanced parentheses break static analyzers, automated code-generation tools, and linters that parse these headers. Adding the opening parenthesis also makes operator precedence explicit and unambiguous.2. Malformed comment delimitersAll of header files involves inline comments used *!< instead of the correct /*!< Doxygen-style comment opener, missing the l
JW
While looking at STM32U3C5 and STM32H503 datasheets I found incorrect information on ICACHE. Quote:Hit ratio improved by two-ways set-associative architecture and pLRU-treplacement policy (pseudo-least-recently-used, based on binary tree), algorithmwith best complexity/performance balance The problem is: pseudoLRU may only be applied to 3- (or more) way set-associative caches. With 2-way set-associative, the single flip-flop per set provides true LRU and there is no such thing like “pseudoLRU” for 2 ways. You can’t do binary tree with a single flip-flop. PseudoLRU is normally used with 4 or more ways, since for 4 ways pseudoLRU requires 3 flip-flops organized as 2-level tree, with simple state transition logic while true LRU - 4 flip-flops and 12 states with much more complex state transition logic.I suspect the same error might be present in all the STM32 documents describing MCU caches which are 2-way set-associative.
I am using the ST67W611M1A6UTR Wi-Fi NCP with an STM32H563ZIT6 MCU on a custom board.The ST67W611 is flashed with st67w611m_mission_t02_v2.0.89.bin, and I am running LwIP on the STM32H563ZIT6 host MCU. I am using the ST67W6X_CLI_LWIP example as a reference to implement a custom TCP stack for my board.Below is my current initialization and Wi-Fi/TCP connection sequence:void network_task(void *argument) { W6X_Status_t ret = 0; W6X_WiFi_Connect_t connectData = {0}; W6X_WiFi_StaStateType_e state = W6X_WIFI_STATE_STA_OFF; wifi_init(); network_log_init(); W6X_App_Cb_t App_cb = {0}; App_cb.APP_wifi_cb = APP_wifi_cb; App_cb.APP_net_cb = NULL; App_cb.APP_ble_cb = NULL; App_cb.APP_mqtt_cb = NULL; App_cb.APP_error_cb = NULL; W6X_RegisterAppCb(&App_cb); app_evt_current = xEventGroupCreate(); /* Initialize the ST67W6X Driver */ ret = W6X_Init(); if (ret != W6X_STATUS_OK) { // TODO: Handle this error appropriately, maybe log it or retry // initialization } vTaskDelay(pdM
Hello,We are experiencing an intermittent CAN-FD issue in our system and would appreciate any advice from the community. We have developed seven new I/O modules based on the STM32G491VETx with an external 20 MHz crystal.All have the same CAN configuration using ISO1042BDWVR. The CANopenNode stack with the CANopenNodeSTM32 driver is implemented on all electronic units.See https://github.com/CANopenNode/CanOpenSTM32 The CAN bus operates at 250 and 500 kbit. All electronic units occasionally experience the problem that the NodeGuarding or heartbeat (set to 3s!!!) stops responding after 24 hours to 5 days. SDOs do not respond either, whilst TPDOs continue to operate. We have set up over 10 networks, each with 4 different nodes (all G491), and all exhibit the same behaviour sporadically. We can rule out hardware faults.The electronic runs for about 48 hours with no Problem on 500k an low bus load (about 2%, Nodeguarding and some TPDO/RPDO).Suddenly FIXFDCAN RF0 FIFO FULL and RX NEW MESSAGE
HI, I am using stm32wba65i_dk1 board to develop my ble audio application. I choose zephyr as my software platform and tmap as ble audio profile. However, when the TMAP application initiates advertising, the Pixel 9 cannot detect the device name broadcast by the TMAP peripheral. I also captured over-the-air packets using the professional BLE sniffer X240, which confirmed that no BLE advertising packets were transmitted from the STM32WBA65I_DK1 board.I enabled logging for all HCI commands sent by the HCI Core and all received HCI events, yet no obvious anomalies were observed in the HCI logs. I am unable to identify the root cause of this issue. # 1. LE Set Extended Advertising Parameters [v1]Send Command:[00:00:03.106,000] <dbg> bt_hci_core: bt_hci_cmd_send_sync: buf 0x20010c18 opcode 0x2036 len 25[00:00:03.110,000] <dbg> bt_hci_core: bt_hci_cmd_send_sync: cmd params 00 01 00 20 00 00 30 00 00 07 01 00 00 00 00 00
Hi,STM32H533 datasheet (DS14539 Rev 2) in table 88 says that RDY input setup and hold time are both 0.5ns. From my naive point of view it looks like superb value (RDY have to be stable only +-0.5ns around CLK edge). Isn't that a typo ? (STM32H7 PSSIs hold time is about 5.5ns)Thanks,Michal Dudka
Dear Team,I hope this email finds you well. I am writing to seek your expert clarification on a critical hardware design decision we are currently evaluating for our STM32MP257-based custom board. --- Current Memory Configuration --- • SoC : STM32MP257• Memory Part : Micron MT53E1G32D2FW-046 WT:C• Type : LPDDR4• Density : 32 Gbit (4 GB)• Organization: 1 x32 (Dual Channel — Channel A + Channel B) --- Our Understanding from ST Documentation --- Based on our research of the following official ST documents: 1. AN5723 (Rev 3, Aug 2024) : "Interface width is 32-bit when full-populated, or 16-bit when half-populated." 2. AN5724 — DDR Routing Guide: "For the 16-bit LPDDR4 interface, one 16-bit LPDDR4 is used in point-to-point connection. With this configuration it can drive up to 2 Gbyte memory." 3. AN5489 (Rev 6, Sep 2025) : STM32MP257 supports both 16-bit (half-populated) and 32-bit (full-populated) LPDDR4 configurations. Our understanding is:• If using a native x1
I have activated spread spectrum on two of the three PLLs I’m using in an STM32H7S7 via codeLL_PLL_SpreadSpectrumTypeDef sspr2;LL_PLL_SpreadSpectrumTypeDef sspr3;// in SystemClock_Config LL_RCC_PLL2_EnableSpreadSpectrum(); LL_RCC_PLL3_EnableSpreadSpectrum(); sspr2.DitheringRPDFN = 1; sspr2.DitheringTPDFN = 0; sspr2.IncrementStep = 1200; sspr2.ModulationPeriod = 10; sspr2.SpreadMode = LL_RCC_PLL_SPREAD_CENTER; LL_RCC_PLL2_ConfigSpreadSpectrum(&sspr2); sspr3.DitheringRPDFN = 0; sspr3.DitheringTPDFN = 0; sspr3.IncrementStep = 214; sspr3.ModulationPeriod = 60; sspr3.SpreadMode = LL_RCC_PLL_SPREAD_CENTER; LL_RCC_PLL3_ConfigSpreadSpectrum(&sspr3);Is there a way in CubeMX to activate it to make the settings generated automatically, as everything else I’m using?I’ve checked the RCC section in System Core as well as the Clock Configuration tab, but I can’t see anything regarding spread spectrum
Hello everyone,I am facing a flashing/debugging issue with the STEVAL-SPIN3202 Rev 3.1 board.Board:STEVAL-SPIN3202 Rev 3.1Software Used:STM32CubeIDESTM32CubeProgrammerProblem:While trying to flash or debug the board from STM32CubeIDE, I get the following error:"Failed to start GDB server""Error in initializing ST-LINK device""Failed to connect to device"Also, in STM32CubeProgrammer:Read data operation failsTarget connection sometimes not detectedAdditional Observations:ST-LINK USB is detected intermittentlyBoard LED becomes dim/slow ON sometimesReinstalled STM32CubeIDE and driversInstalled ST-LINK driversTried different USB cables and USB portsTried lower SWD frequencyTried Hot Plug modeTried BOOT0 methodStill unable to flash or read targetI would appreciate guidance on:Correct jumper settings for STEVAL-SPIN3202 Rev 3.1Whether onboard ST-LINK firmware may be corruptedPossible hardware protection/reset issueCorrect power supply requirements during flashingThank you.
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.