Get ready for the STM32 Summit 2026 | Online, November 3
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 have a system with 11 STM32 in a single JTAG chain. I’m trying to debug device with JTAG address 10,45 (JTAG device position 10, IR -pre-length of 45) and I’m getting this error message when running my launch configuration:This is my entry in launch.json, my probe is a J-link:{ "type": "jlinkgdbtarget", "request": "launch", "name": "JTAG Launch Dev 10", "origin": "snippet", "cwd": "${workspaceFolder}", "preBuild": "${command:st-stm32-ide-debug-launch.build}", "runEntry": "main", "serverInterface": "JTAG", "serverJtagCfg": "45,10", "imagesAndSymbols": [ { "imageFileName": "${command:st-stm32-ide-debug-launch.get-projects-binary-from-context1}" } ] }, Debugging device 0,0 on the same chain works (has similar firmware written on STM32Cube extension for VSCode) from STM32CubeIDE extension for VS
I would like to implement a secure firmware update solution that will work in both an STM32G4A1 and an STM32U0 83. Different applications, but I would like to use the same basic bootloader and PC update application. Both would updated over USB. They have basically the same security features and both have the AES-GCM accelerators.I've been watching the MOOC - Security series to learn how to do this. I got to the end of "Security Part4 - STM32 security in practice - 15 Secure firmware update" and had some questions since there isn't any lab video for this module like there are for the modules that came before it. I've also looked at the Silicon Labs AN0060: Bootloader with AES Encryption app note, which is similar in implementation to what I am thinking of doing. The link for the slides for the MOOK module is at the bottom of this page:https://www.st.com/content/st_com/en/support/learning/stm32-education/stm32-moocs/STM32_secur
Hi Community, We are exploring the migration of our FreeRTOS-based firmware to Zephyr. Our current design heavily relies on TouchGFX (provided by ST) for controlling an 800×480 touch display. Here are some key details of our setup: TouchGFX with external SDRAM for a double frame buffer using the FMC peripheral Images, fonts, and text stored in external QSPI Flash LTDC controller in use DMA2D accelerator enabled RGB image compression utilized Is there any sample application or detailed documentation available for achieving this on Zephyr? I have already briefly reviewed the following resources: Abstraction Layer Architecture | TouchGFX Documentation and https://support.touchgfx.com/docs/basic-concepts/operating-system#touchgfx-os-wrappers However, I need more guidance, specifically: Examples or reference projects for TouchGFX on Zephyr Detailed documentation on integration steps We have a tig
I’m having an issue with throughput on the STLINK-V3MODS VCP when used with the second BRIDGE UART. If I set both the VCP and 2nd VCP for 115200 baud, I am only able to simultaneously send 5.76 KiB/s through each (half throughput). If I use only the VCP at 115200, I’m able to send 11.52 KiB/s (full throughput).I saw no mention of any such limitation in the documentation. Am I doing something wrong?STLINK-V3MODS firmware 3.17.11Windows 11 version 25H2 (OS Build 26200.8875)
Hi, everyone,I'm trying to implement USB CDC on an STM32H5E5 board using the classic USB device middleware. I followed another community thread that provides the steps to do this: How to Use STMicroelectronics’ Classic USB Device Middleware with the New STM32 Families: When compiling the code, I encountered some errors at this point in the library: USBD_StatusTypeDef USBD_LL_Init(USBD_HandleTypeDef *pdev){pdev->pData = &hpcd_USB_DRD_FS; HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x00 , PCD_SNG_BUF, 0x40);HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x80 , PCD_SNG_BUF, 0x80);HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , CDC_IN_EP , PCD_SNG_BUF, 0xC0);HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , CDC_OUT_EP , PCD_SNG_BUF, 0x100);HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , CDC_CMD_EP , PCD_SNG_BUF, 0x140); return USBD_OK;}The error messages are as follows Description Resource Path Location Type'PCD_SNG_BUF' u
The new version of CubeIDE is truly terrible.With a new project, there's no way to tell if it was created via the IDE or MX.On top of that, they don't synchronize with each other—an issue that never occurred with the unified versions up to 1.19.
Hi ST Community,I am currently working on an analog sensor acquisition project using the NUCLEO-N657X0-Q (STM32N657X0) board on STM32CubeIDE (version 1.19.0). I am attempting to read a Keyes pressure sensor via ADC1 on PA1 (ADC1_INP1).Physical Wiring & Setup Sensor Connections: The pressure sensor is physically wired to: VCC -> Board 3.3V GND -> Board GND Signal Out -> PA1 (bridged with a 1/2 resistor divider to ground to ensure the voltage never exceeds 1.8V). CN12 Jumpers Connected: Pin 13 / Pin 14 (VDDA1V8) is connected with a jumper cap to supply 1.8V to VDDA. Pin 11 / Pin 12 (VDDIO) is connected with a jumper cap. STM32CubeMX Configurations VREFBUF: Configured as Disable (since the NUCLEO board provides an external 1.8V reference to VREF+). Security & RIF (RIFSC Panel): ADC1: Configured as Non-Secure, Unprivileged (unchecked), Unlock (unchecked), and assigned to the Application context. GPIOA: Configured as Non-Secure, Unprivileg
There seems to be a documentation error between DS14053 Rev 4 and RM0492 Rev 3. In the data sheet, section 3.17, table 3, "ADC Features" we see a different set of features compared to the reference manual, section 19.3, table 107. The data sheet claims oversampling up to x1024, a data register of 32 bits and gain compensation is supported. The reference manual claims oversampling up to x256, a data register of 16 bits and no gain compensation.The register set description only has oversampling fields with values up to 256. It would be helpful if ST could correct whichever document is wrong, and if the reference manual is wrong and oversampling up to x1024 is supported, then please also correct the register definitions.Thanks,TG
I have two STM32G474 on a custom PCB, in which I want to use a SOM to program the microcontrollers via UART (USART1 or USART2).While most PCBs work fine (toggle BOOT0 + NRST and program via UART), some PCBs have intermittent access on the UART. It is not always the same microcontroller that fails on the boards.Tests I have done:Programming via USB DFU always works, even when toggling BOOT0 and NRST with the SOM, so it seems it is going into bootloader mode correctly. In the SOM I am using stm32flash. I have checked that no other signals are triggering the bootloader on another interface (e.g. I2C, other USART). I have checked that the 0x7F command is being sent correctly (timing, clean edges, amplitude) There is no reply at all from the micro I have tested with pull-ups and/or series resistors on RX line and better decoupling on power supply, nothing made a difference The same UART lines work fine during runtime, they only fail when in bootloader mode The good PCBs are always good and
I am trying the NUCLEO545RE-Q. I created a project, imported it to STM32CubeIDE 2.2.0. The build button is grayed out. I found several videos for version 2.0.0 where is easy and straight forward. With this version is not and I couldn’t find any help. What am I doing wrong?
Hi everyone,I'm planning to develop a VoIP/IP intercom application using FreeRTOS, LwIP, SIP, RTP, UDP/TCP, and an audio codec (SAI/I2S). I'm trying to decide between the STM32F7 and STM32H7 series (e.g., STM32F769I-DISCO vs STM32H750B-DK).From real-world experience, what are the main differences between the F7 and H7 beyond the datasheet specifications? Is the H7 worth choosing for a new networking/audio project, or is the F7 sufficient? Are there any practical drawbacks of the H7, such as cache or DMA complexity?I'd appreciate any recommendations or experiences from developers who have worked with both series.
I have the nucleo board connected to the STLINK-V3PWR via JP2 and ground connections. Flashed onto the device I have a mioty evaluation stack from LZE. I am taking readings of the current drawn and getting a consistent value of 3mA. I was trying to evaluate the deepstop current so wanted to know if the fact is that I have got my measurements/ connections wrong or that the firmware is preventing me from entering the mode.
I previously got CDC via USBX and FreeRTOS working on a custom C542 design, using the examples since CubeMX2 did not support the USBX middleware at that time.I am now trying to port that code to the C562 since I need more memory. This does not work at the moment since I used CubeMX2 for the USBX configuration and setup.So I thought, lets have a look into the examples and see what I am doing wrong.Unfortunately that did not work, or rather the USBX-CDC-FreeRTOS example for the Nucleo-C562RE board using the CMake toolchain does not work.I got "example_usbx_device_cdc_acm_uart_freertos" from "https://dev.st.com/stm32-example-library" for the CMake toolchain.I extracted the ZIP and imported the project in the latest CubeIDE (version 2.2.0; Silicon MAC) and build the project in "release" and "debug" config without errors.However, both version do not setup the USB stack correctly. The user-LED stays on, so everything should run without errors.If I look at the USB communication with a Total P
Dear Team,Could you please provide the internal RTC accuracy for the STM32H7 microcontroller?Additionally, I clarify the following point: 'Digital calibration circuit with 0.95 ppm resolution, to compensate for quartz crystal inaccuracy. Regards,TEMC - Efftronics systems Pvt Ltd
Hi everyone,I am currently facing a persistent issue with the STM32U385RGT6Q where the MCU becomes undetectable after the first successful programming cycle.Setup OverviewMCU: STM32U385RGT6Q Programmer: STLINK-V3MINIE IDE: STM32CubeProgrammer OS used: Windows (initial attempts also on macOS) External protection: ESDALC6V1W5 on data linesSchematics: MCUProgramming COnnector for ST LinkObserved BehaviorInitially, the STM32 was not detected by STM32CubeProgrammer → Root cause: faulty USB cable + macOS security restrictions After switching to a proper data USB cable and Windows: → MCU detected and programmed successfully → Firmware runs (RGB LED turns green) After reinstalling the ESD protection diode (ESDALC6V1W5): → MCU can still be programmed once successfully After first programming cycle: MCU becomes undetectable by ST-Link RGB LED no longer functions No signal observed on LED data line Reprogramming is no longer possible Replacing the MCU: → Same behavior repeats exactly → Works
When adding the VectU2F function to a processing list, it defaults to creating three buffers: pDst (float32_t), pSrc (float32_t), and pSrcuint32_t (uint32_t), instead of just pDst and pSrcuint32_t.There seems to be no way to select a different uint32_t input in the GUI. There is a field pSrcuint32_t, but this only allows me to select a float32_t buffer. I believe the type checking in the GUI for this buffer is incorrectly set to float32_t instead of uint32_t, and as a result it both creates the extra unused float32_t buffer (pSrc), and won’t let me change the actual pSrcuint32_t buffer it uses. This is supported by the VectItoF function which correctly checks that pSrcInt32_t is an Int32_t, and creates only two buffers. This results in extra memory used in the BRAM section, and means I can only ever have one buffer that converts uint32_t into float32_t. I suspect I will be forced to bypass the GUI to create this processing list as a result. (As an aside, the function naming in the Vect
This covers two separate problems.unsafe relocation. This is coupled with a “cannot find routine xxx”. The cannot find xxx is explained by a changed #ifdef that did not include a routine. The problem that also cropped up was an “unsafe relocation” which doesn’t seem to mean all that much (I know the explanation) in the way of solving the problem. This is “fixed” by going back to 13.3.rel1. and changing the #ifdef. Interrupts not working FreeRTOS latest primask register goes to 0x80 when default task is created. taskEXIT_CRITICAL() does not change that mask Timer, systick, and any other interrupts remain disabled after the first task. If no tasks are created, then primask may or may not be properly set, but the interrupts do not work FREERTOS insists that interrupts should be disabled (read the documents!) and will be re-enabled when the scheduler runs. with 14.3.rel1 interrupts are not enabled. resetting GNU tools to 13.3.rel1 seems to make it all work (and it had been wo
When using the ISP IQTune application to generate ISP parameters for the STM32N6 DCMIPP, the Auto White Balance expresses an error that I believe is incorrect. The error claims that AWB cannot start becase the R/B ratios for white balance must decrease, as the color temperature increases. The ratio IS decreasing, as shown in the image below.When the temperature is 5100K, the R/B ratio is 2.1/1.9 = 1.105When the temperature is 3800K, the R/B ratio is 2.3/1.9 = 1.210Thus, as the temperature increases, the R/B ratio decreases. Either this is wrong, or I’m missing a key component of this calibration process.
Hello,I would like to evaluate IIS2MDC mounted on MKI185V1 evaluation board using MEMS Studio. in the “Save to File” section I can choose Timestamp, Magnetometer, Magnetometer [LSB}, and Interrupt 1, but not Temperature, although the device has an internal temperature sensor. my setup:STEVAL-MKI185V1 on STEVAL-MKI109V3, FW: 3.79.1. MEMS Studio ver. 2.4.0 on Windows 11.Please advise,Shmulik
Hello, we are planning to use LSM6DSO in Mode 1, but PCB is fixed and pins 10 and 11 are connected to GND. This conflicts with LSM6DSO datasheet but I was wondering if it is still OK to connect them to GND. Can you clarify on this?
Is it possible to install STM32CubeIDE and STM32CubeIDE for VS Code on one PC (Windows)? If so, can I run both versions simultaneously? If so, can I program two microcontrollers simultaneously with two programmers?
Following this issue, and the advice from @Didier HERROUIN, we have implemented the SYN and SCS initialisation,(see schematic) , and are still finding that our STPM32 chips are resetting their UART config during operation.For context, the firmware first pulses SYN 3 times, then SCK, and configures the STPM32 UART to 115200 baud. This runs fine for a few minutes, and then we detect a failure because the chip resets to 9600 baud for no reason, leading to a timeout on the microcontroller.The voltage supply to this device is perfectly stable at 3.3V.We have followed all advice regarding isolation and ground planes, as you can see in the attached PCB design.I desperately require assistance with this problem. My only solution now is to re-configure the STPM32 every time it resets, but this will definitely lead to inaccuracies as some energy measurements will be lost during configuration and timeout detection. The only common thread I can piece together is a hint from one Mark Germagian, who
We are experiencing issues on STM32MP13 when using TF-A with OP-TEE due to an "Undefined instruction" exception during low-power entry.When TF-A is built with a standard arm-*-gnueabihf toolchain, the compiler is allowed to generate NEON instructions because the STM32MP1 platform enables:ARM_WITH_NEON := yesIn our case, GCC generates NEON instructions when compiling lib/compiler-rt/builtins/udivmoddi4.c, which is reached from udelay() during the low-power sequence. At that point, however, the VFP/NEON unit is disabled, so execution aborts with an "Undefined instruction" exception.Relevant TF-A build settings:ARM_CORTEX_A7 := yes (from STM32MP1 platform settings) ARM_WITH_NEON := yes (from STM32MP1 platform settings) AARCH32_SP := optee CTX_INCLUDE_FPREGS=0Relevant compiler options:-mcpu=cortex-a7 (generated by TF-A from ARM_CORTEX_A7 := yes) -mfpu=neon (generated by TF-A from ARM_WITH_NEON := yes) -ffreestanding -fno-builtin -OsWe have verified that replacing udelay() with a simple
Even when running stm32cubemx2-1.0.1-X64-Windows-installer.exe as Admin: Failed to add cube-wrapper to PATH: Could not create / read registry 'HKEY_LOCAL_MACHINE\Environment': The parameter is incorrect. (0x80070057) On Windows 11 Pro Installing to C:\Program Files\STMicroelectronics\STM32Cube\MX2\1.0.1
Helloi’m using USBX 6.4.0 with CUBEMX to make a custom id device on a stm32H5 everything work fine BUT my report descriptor have four report ID i wanto to use :hid_event.ux_device_class_hid_event_report_id = 3;// some data in the bufferux_device_class_hid_event_set(hid_custom, &hid_event); and in order to do that i have to change custom_hid_parameter.ux_device_class_hid_parameter_report_id = UX_FALSE;to custom_hid_parameter.ux_device_class_hid_parameter_report_id = UX_TRUE;in the function: UINT MX_USBX_Device_Stack_Init(void) i can’t find in cube MX the property to change.. where is it?? thank you in advancebest reguards
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.