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 think a have found a bug in CubeMX for STM32MP257F processor.If you go to RIF - RISAB - VDERAM. You will find that the region size can only be 0x21000. That's more than 128 kB, according to the data sheet.SYSRAM1, SYSRAM2, SRAM1, SRAM2, RETRAM have 0x20000 as maximum region size.Question: If this is a bug, then I want to send a PR to the Github ST repository of the MP2 firmware. Can you guide me where the code is so I can make a PR?
We have a G474 with a 12 MHz oscillator feeding into PF0/OSC_IN and have the device configured in bypass mode. We’re trying to use PF1/OSC_OUT as an ADC input, however we’re seeing a 300mV peak-peak square wave on the pin when our 2 kohm signal is connected to it.Our layout really doesn’t leave enough room for this to be crosstalk, especially since we’re seeing a clean square wave. Is there something internally that could be leaving some clock circuitry connected?For our purposes we can work around the extra noise in software; however, if we do we’d like to ensure that we won’t have any long-term reliability issues from feeding a signal into the clock circuitry.
in “usbd_msc_scsi.c” at function “SCSI_ModeSense6”/* Check If media is write-protected */ if (((USBD_StorageTypeDef *)pdev->pUserData[pdev->classId])->IsWriteProtected(lun) != 0) { MSC_Mode_Sense6_data[2] |= (0x1U << 7); /* Set the WP (write protection) bit */ } else { MSC_Mode_Sense10_data[2] &= ~(0x1U << 7); /* Clear the WP (write protection) bit */ }is writing to the wrong place !!! Change it to:MSC_Mode_Sense6_data[2] &= ~(0x1U << 7); /* Clear the WP (write protection) bit */Note:The wrong write mainly cause the write protection to stay on if its once set and never be able to unset without reseting the scsi device.Took me days to track down this bug !! best regards,Labmaster
We need to develop the offline tool to program the device ST72UD05, it is seems similar with L9805E.But we could not find the definition of the programming interface or the programming protocal.It contain the EPROM/OTP, it is very different with other ST72 family devices which programmed with ICC.So we need the programming document about programming the device.
I was attempting to follow the STM32H563ZI video but I cannot get the current repository for the STM32H5.See Problem1.jpgI want it to upload it but ti comes back with a failureSee Problem2.jpgWhat steps do I need to take to fix this?
Dear all,I'm implementing Over-the-air firmware updates for a board using the STM32N657 MCU.In the Appli, I download the new firmware binary over Wifi and store it to RAM at a fixed location in AXISRAM5 and 6. In order to flash the new binary to the OctoSPI Flash I prepend a "magic" header to the new firmware binary (still in RAM) and then restart the MCU using `HAL_NVIC_SystemReset`. Then, after this reset the FSBL checks the fixed location in RAM for the "magic" header. If present, it should flash the OctoSPI Flash with the new firmware binary using the ExtMem Manager (I cannot just flash directly from Appli because I use XIP and hence the Appli is running from OctoSPI in memory-mapped mode, preventing writes). I've done similar things with other MCUs and it worked perfectly fine.However, it looks like on the STM32N6, the contents of AXISRAM5 and 6 are not preserved across software resets. At least, checking the "magic" header in FSBL always produces randomly looking results that are
Dear all,I am facing some compiling issue on STM32CUBEIDE 2.2.0 with STM32G071KBI was trying to use st25r3916B NFC library and i have added ST/RFAL/Include & sources and relevant middleware into path & symbol of project.However during build,../Debug/../Core/Src/stm32g0xx_it.c:161:(.text.EXTI4_15_IRQHandler+0x14): undefined reference to `st25r3916Isr'C:/ST/STM32CubeIDE_1.16.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (st25r3916Isr): Unknown destination type (ARM/Thumb) in ./Core/Src/stm32g0xx_it.o../Debug/../Core/Src/stm32g0xx_it.c:161:(.text.EXTI4_15_IRQHandler+0x14): dangerous relocation: unsupported relocationcollect2.exe: error: ld returned 1 exit statusmake: *** [makefile:64: MCU_STM32G071KBU6.elf] Error 1 Need advice please! Thanks.My code is reference from the ST25NFC_Embedded_Lib_ST25R3916(B)_1.8.0 and the reference co
Environment - Device: STM32H562ZI- Reference manual: RM0481 Rev 5- HAL: STM32Cube H5 HAL Driver V1.5.0- Peripherals: GPDMA used for SPI slave Tx/Rx. SPI in slave mode, normal (non-circular) transfers, no linked-list. Summary On our SPI slave DMA path, the DMA channel becomes permanently stuck after an SPI error, and SPI communication never recovers until the device is power-cycled. The cause is that `GPDMA_CxCR.SUSP` gets written to a channel that has **already completed its transfer and stopped** (EN=0, IDLEF=1). In that state `GPDMA_CxSR.SUSPF` is never set, so `GPDMA_CxCR.RESET` is never written and **SUSP stays set**. Setting `EN=1` afterwards suspends the channel immediately after start, and the driver can no longer escape that state. Observed register sequence (Tx channel, real measurements) ```1) Block transfer completes. Hardware clears EN.CxCR = 0x00805D00 (EN=0, SUSP=0, SUSPIE=0)CxSR = 0x00000001 (IDLEF=1) 2) An SPI error occurs right after this point.SPI ErrorCode = 0x84 (UD
The installer denies installation in the existing directory. But it also does not offer an option to abort. So you can kill ithe installer only from the starting console or rom windows frame allows. An abort option in the installer would be fine. And maybe an option to refresh an existing version that was perhaps screwed up somehow. Moved from: MX2 rant: Installation starts with bad size to display Continue button and is not resizeable
Hello everyone. Hi everyone.Please forgive any inaccuracies in this post—it’s my first one.For my new project, I used the STM32C552KET6 microcontroller.The chip is mounted on a custom PCB I designed.One of the board's functions is to communicate with a PC via a virtual COM port (over USB).I’ve successfully used this type of communication in other projects before on G4, L4 microcotrolers, but this time I can't get it working and have no idea where I might be making a mistake.The electrical connections are definitely correct; I can connect to the microcontroller using STM32CubeProgrammer and read/write to Flash memory via USB.I used the STM32CubeMX2 tool (version 1.1.1) for configuration.The clock configuration is default, and the USB clock frequency is 48 MHz.In the Connectivity section, I selected: USB_DRD_FS – DEVICE (device mode); all advanced features are disabled; the USB_DP and USB_DM pins are assigned to PA12 and PA11, respectively.Global interrupts and IRQ handling are enabled.I
Hardware used:STM32L152 Custom board I've been using a STM32U585 Discovery kit for a few days and have succesfully run several programs on it. However today I suddenly got this error in STM32CubeIDE when trying to run a new program:---------------------------------------------------------------------------------------------------------------Error: Data mismatch found at address 0x0800899C (byte = 0x31 instead of 0x33)Error: Download verification failed---------------------------------------------------------------------------------------------------------------Trying to upload different programs gave the same result, but with the mismatch at different addresses.First time the code programmed successfully in the memory. After whenever I tried to program it using stmcube ide or stmcube programmer, it gives the verification failed error in the stmcube programmer and failed to erase memory in stmcube ide. I have no option bytes enabled. I can erase the memory using stmcube programmer but s
Hello,I am debugging SPI3 communication between two STM32H755 boards: UC1 = SPI master UC2 = SPI slave SPI3, full-duplex DMA used for TX/RX FreeRTOS STM32H755 The problem is that the first SPI transaction can be completed correctly, but the following transaction does not behave as expected.Before starting the SPI data exchange, I also perform a handshake/synchronization sequence between the two boards to ensure that both sides are ready. The handshake itself is implemented before the SPI test, but adding this synchronization does not resolve the issue.The intended sequence is:UC1 (Master) UC2 (Slave)SYNC ----------------> receive SYNC <---------------- OKPING ----------------> receive PING <---------------- PONGPING ----------------> receive PING <---------------- PONGIn the actual test, the first exchange can be received correctly, but the slave does not continue responding correctly on
Hello,I am using an STM32H7S3 with STM32CubeH7RS HAL [V1.2.1]. SPI5 drives a display over 3-wire SPI with 9-bit frames (the 9th bit carries D/C).With USE_FULL_ASSERT enabled, HAL_SPI_Init() triggers an assert in stm32h7rsxx_hal_spi.c (line 259 in the current GitHub version):if (IS_SPI_LIMITED_INSTANCE(hspi->Instance)){ assert_param(IS_SPI_LIMITED_DATASIZE(hspi->Init.DataSize)); assert_param(IS_SPI_LIMITED_FIFOTHRESHOLD(hspi->Init.FifoThreshold));}In stm32h7rsxx_hal_spi.h, the macro only accepts 8-bit and 16-bit:#define IS_SPI_LIMITED_DATASIZE(DATASIZE) (((DATASIZE) == SPI_DATASIZE_16BIT) || \ ((DATASIZE) == SPI_DATASIZE_8BIT))However:1. RM0477 [rev 10], section 55.3, Table 578 states that for SPI4 and SPI5 the data and CRC size is "configurable from 4 to 16 bits".2. The HAL itself is inconsistent. A few lines below the assert, the runtime check in HAL_SPI_Init() only rejects sizes above 16 bits for limited instances:if ((IS_SPI_LIM
I am using an STM32H755, and attempting to send 35 bytes of data over SPI.The data is copied into the TXDR, one byte at a time, but then only the first two bytes are send. The TSIZE is set to 35 and the CTSIZE counts down from 35 to 33, and then the TXDR bit goes high and no further data is sent. Could anyone suggest any reason why this may be happenning? Thanks
Hi ST team,I am using the ST VD66GY image sensor connected to a Rockchip RV1106 processor with the Rockchip hardware ISP.I have successfully enabled the camera pipeline and can capture images, but the image quality has a strong greenish color cast and the colors look desaturated, even under a bright indoor room with white LED lighting.Current setup Sensor: ST VD66GY Processor: Rockchip RV1106 ISP: Rockchip RKISP (hardware ISP) Capture: RAW from VD66GY → RKISP → Image output Observed issue Strong green tint across the entire image Skin tones appear gray/green Low color saturation Indoor lighting is much brighter than what the captured image suggests I have attached three sample images captured with the current ISP settings.Questions Does ST provide an IQ tuning file or reference tuning parameters for VD66GY when used with a third-party ISP such as Rockchip RKISP? Are there recommended AWB calibration, Color Correction Matrix (CCM), or Lens Shading Correction (LSC) values
I got an issue with a STM32L432 project, were the MCU doesn't seem to behave according to the reference manual.This is the first time I deal with an L4xx variant, so I lack the experience with the clock tree of this devices.The sample code is a minimal Segger Embedded Studio application, with some printf() calls and an endless loop.The code works so far, I can flash and debug it.What doesn't work are my modifications to the clock configuration.Hardware is the L432 Nucleo-32 I got recently, just to mention it.The clock tree setup is basically the standard code, leaving MSI enabled in the default configuration (MSI, MSIRANGE=6, 4MHz), via functions SystemInit() and SystemCoreClockUpdate() in system_stm32l4xx.c.As modification, I tried to set a higher clock frequency, as MSI can be set in a range from 100kHz to 48MHz.However, I am not able to set a frequency higher than 8MHz (RCC->CR [MSIRANGE] = 7), writes to higher values are simply ignored.The code basically works (MSION = 1, MSIRGS
Hello ST team, I am trying to run an ONNX model on a NUCLEO-U545RE-Q board using STM32Cube AI Studio I first tried with a model of about 281.75 KiB weights, and the generated project failed at build/link stage with an undefined UART symbol. To check whether the issue was related to memory size, I also tried a smaller model: - Model: model_seqlen20.onnx- Input: f32(1x20x25)- Output: f32(1x1)- Parameters: 32,129- Weights: 128,516 B / 125.50 KiB- Activations: 2,256 B / 2.20 KiB- Total AI flash reported: 130,190 B- Target: stm32u5- Board: NUCLEO-U545RE-Q- Firmware package: STM32Cube_FW_U5_V1.9.0- ST Edge AI Core: v4.0.1-20581- Toolchain: STM32CubeIDE The model generation step completes successfully. The reported memory footprint is small enough for the board. However, during the Run flow, STM32Cube AI Studio the build fails with: undefined reference to `UartHandle` The errors are: Middlewares/ST/AI/Misc/Src/aiTestUtility.c:- _put_c_driver: undefined reference to `UartHandle`- ioRawWriteBuf
Hi everyone,I’m developing an open-source project called Embedded Power Audit, a lightweight shell-based tool for inspecting power-management and thermal information on embedded Linux devices.The project has already been tested on several platforms, including: NXP i.MX6 NXP i.MX8M Plus NXP i.MX93 Raspberry Pi AMD/Xilinx Zynq I would now like to add support for STM32MP25.If anyone here has access to an STM32MP25-based board running OpenSTLinux, Yocto, or another embedded Linux distribution, I would really appreciate a very simple test:run the script and share the generated output with me.The tool is read-only and mainly inspects Linux interfaces such as: CPU frequencies and governors cpuidle states thermal zones memory information interrupts device runtime power-management settings other power-related sysfs/procfs interfaces Repository:https://github.com/br1pastore/Embedded-Power-AuditAt this stage I’m mainly interested in understanding which power-management interfa
Section 51.4.15 of the current (RM0433 Rev 8) reference manual for STM32H753 states the order of disabling the SAI master and slave sub-blocks.Is this true when using multiple SAI blocks on an MCU?For example:My SAI configuration is as follows:SAI 2A - Master TXSAI 2B - Slave RXSAI 3A - Slave TXSAI 3B - Slave RXWould the correct order of disabling be:SAI 2A SAI 2B SAI 3A SAI 3B?Since the master provides the clocks for the slave SAI blocks, I find it strange that the master should be disabled first, since the slave blocks may be halted during a transaction.
Hi ST Team,In our design, the USB pin pairs from PA11, PA12 our failing short multiple times during hot plug in of type C port to power the board. The USB pin pairs does not directly go to type C port rather it goes through this chip PCMF3USB3S (ESD + EMI filter) from Nexperia. Currently we do not have any ESD protection on VBUS pin. The VBUS +5V currently generates 3.3VDD to power the STM32H56V3G on our board. There is also a diode as connected reverse b/w VBUS +5V and 3.3Vdd output as recommended in AN4899.Can you please give us some insights on why this could be happening and what would be the possible solution
I am using the STM32CubeProgrammer v2.2.3 with MX66UW1G45G_STM32N6570-DK external loader for the STM32N6570-DK.After reloading the STM32N6570-DK demo that came with the kit, I get the following error message (see below). Most of the demo runs normally except the AI demo won’t run at all now (nothing on the display). LEDs LD3 and LD4 turn red only when the AI demo is selected from the menu. NOTE: I can download a new GUI from TouchGFX with no issues at all. Here is the log...09:05:48 : Disconnected from device.09:05:59 : UR connection mode is defined with the SWrst reset mode09:06:00 : Warning: Device changed, refreshing...09:06:00 : UR connection mode is defined with the SWrst reset mode09:06:00 : ST-LINK SN : 002700193235510E3836373009:06:00 : ST-LINK FW : V3J15M609:06:00 : Board : STM32N6570-DK09:06:00 : Voltage : 3.29V09:06:00 : SWD freq : 8000 KHz09:06:00 : Connect mode: Hot Plug09:06:00 : Reset mode : Software reset09:06:00 : Device ID : 0x48609:06:00 : Revision
Hi,Unable to set the Product state to OPEN using the Provisioning script in the STiROT_OEMuROT example.Getting the below error: But,when i’m trying to set the Product state as CLOSED it is getting Success.Note: Ensured to connect the CN7/pin5 to CN7/pin7. Also,Below is the obkey_provisioning.log content:C:\My_New_Stuff\GIT\STM32H5\Projects\NUCLEO-H533RE\ROT_Provisioning\STiROT_OEMuROT>call ../env.bat Provisionning the .obk files ... ------------------------------------------------------------------- STM32CubeProgrammer v2.20.0 -------------------------------------------------------------------ST-LINK SN : 000E00264142501820353451ST-LINK FW : V3J13M4Board : NUCLEO-H533REVoltage : 3.29VSWD freq : 8000 KHzConnect mode: Hot PlugReset mode : Software resetDevice ID : 0x478Revision ID : --Error: Fail to read Flash SizeDevice name : STM32H533/523Flash size : 512 KBytes (default)Device type : MCUDevice CPU : Cortex-M33BL
Hello,I need to confirm the top marking for the IC ST232EBDR, on the datasheet there is an information that I think that it might be a little confusing.The datasheet indicates that the marking for ST202EBDR and ST232EBDR are both “ST202EB”. but I believe that the mark for ST232EBDR should be “ST232EB” at least it is that is written on the components that I bought.Can someone confirm this information?
Hello,ST announced the STM32V8 series some time ago (https://www.st.com/content/st_com/en/campaigns/stm32v8-high-performance-cortex-m85-mcu-z11.html), but there haven’t been any updates since then.I have a couple of questions:How can we download the datasheet for the STM32V8 series?When will the Nucleo or evaluation boards for this series be available for order?Thank you in advance for your help.
I have tried to programme and reset stm32F103C8T6 (Blue Pill) via different st-links, uart serial bridge via arduino uno with switching the bootloaders boot0 to 1 and also boot1 to 0. But still it cannot connect the the stm32cubprogrammer gives an error "activating device Ko”. Is it a driver issue like the esp8266 has, that worked with the previous version of driver that I hads to install manually. Is it the problem with blue pill or something else?Can anyone suggest me the solution ?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.