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 bought STM32H743VGT6 and want to make bootloader and application. The issue is that its memory layout is confusing. In documentation and generated application I see/assume flash memory is:0x8000000 size 0x80000 (512kb bank1?) // bootloader 0x8100000 size 0x80000 (512kb bank2?) // applicationBut when I try to write to 0x8100000 I get "Error occured during memory writing!". Instead I can write to0x8000000 size 0x100000 (1024kb)Does this mean I have only Bank1, but no Bank2? Can I still do bootloader which is on Bank1 and writes to flash on same Bank in different sector? How can it be that I have only one Bank?..
Hi all,Hoping this is this right subsection to post the following question...I'm reading the STPD01 datasheet and it states its available I2C addresses : 4, 5, 6, and 7.Reading to general I2C documentation, it seems that these addresses are reserved to I2C HS-Mode. So, is STPD01 an HS-Mode controller or a regular (100kHz) device? Links:- https://www.ti.com/content/dam/videos/external-videos/en-us/8/3816841626001/6241024036001.mp4/subassets/adcs-introduction-to-i2c-reserved-addresses-presentation.pdf- https://i2cdevices.org/addresses- https://en.wikipedia.org/wiki/I2C- https://learn.adafruit.com/i2c-addresses/the-list
I am currently using TouchGFX to develop a project. How can I independently control GPU2D to draw graphics on a dynamic bitmap without affecting the TouchGFX display? I have already obtained the NeoChromSDK, but the examples in the NeoChromSDK all use GPU2D independently as well. I can draw with GPU2D if touchgfx not in use,But once I display them both, screen got glitched.
Hello everyone, I am new to STM32 development and I am working with the STM32H7A3ZIT6 microcontroller. I need to interface it with a BiSS-C encoder/sensor. I would like to know: Is there any ready-made or full BiSS-C communication library available for STM32? Does STM32CubeMX / HAL provide any support for BiSS-C? If no full library is available, what is the recommended way to implement BiSS-C on STM32H7A3ZIT6? Can BiSS-C be implemented using SPI, timer, DMA, or GPIO bit-banging on this MCU? Any example code, application note, or guidance would be very helpful. Thank you.
If I have only 5V input. what to do with the FB pin?
Is there a standard list of SB's? I cannot for the life of me figure out the SB's on the STM32F723E-DISCO, and none of the manuals mention anything about them other than if open is on or off. I am specifically trying to use the debugger for my custom PCB based off the same MCU. Any help would be greatly appreciated!
Hello Everyone,During the operation of my program, there will be an issue of address inversion on stm32f030c8.It occurs approximately every 4 hours, and then it transitions to a "hard fault".For example, I was trying to read from address 0x20000940, the register R0 returns 0x20400940, 1 bit was flipped, and it is out of the range of ram address(0x20000000-0x20002000), runs into hardfault in the end.I measured the surface temperature of the chip, and when the problem occurred, the surface temperature of the chip was 65 degrees.I suspect it's a problem caused by excessive temperature, so I used a fan to blow on it. It has been running for a whole day and is still functioning normally.The vcc of the MCU is 3.3V. I used external crystal oscillator 8M, the PLL Clock is 48MHZ, configuration like follow: RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;/** 使用外部晶振(8mhz) */ RCC_OscInitStruct.HSEState= RCC_HSE_ON;/** 打开高速外部时钟 */ RCC_OscI
Why, oh why have you separated IDE and MX such that .ioc files can no longer be opened in IDE?I cannot imagine any benefits and it makes the IDE significantly worse, such that I've felt compelled to revert to version 1.19.0 ( go to Help -> About STM32CubeIDE -> Installation Details -> Installation History -> select version -> Revert)I couldn't find any other means of feeding back my strong dislike of this change other than a post like this. I hope version 2.1.0 comes out soon and re-integrates MX and IDE!
Above image you can see in toolchain option STM32IDE is disable . also i am facimng issure i =n import examples which stm32 provided for reference . you can also refer my shared video.
Hello ST team,we are trying to evaluate the simple GPIO pinouts on STM32N6 Nucelo & in our custom board,we noticed that Port P & O pinouts are not functioning as expected. we just configured as simple GPIO output and tested the pin state always low. other GPIO ports look normal, but we will come to know when we do the complete testing. We've cross checked this Port P &O functionality in the Nucleo EVK as well in custom board, but No luck, it is not working in both, could you please suggest, is there any special configurations required to make port P& O functional?Regards,Madhu S
Hi Technical Support team,Platform: STM32H7B3I-EVAL board (MB1331-H7B3LIQ-D04)I want to understand memory and flash usage when we build and run any application using TouchGFX Designer on STM32H7B3I-EVAL board. How to choose memory size and type for customized board based on STM32H7 Platform. ? How to choose specific SOC form STM32H7 family suitable for project requirements? Please refer below details. On‑Chip (SoC: STM32H7B3LIH6Q)Flash: 2 MB internal FlashRAM (SRAM): 1.4 MB internal SRAM (split across multiple banks: DTCM, AXI SRAM, SRAM1/2/3):package: On‑Board External MemoriesOcto‑SPI NOR Flash: 512 Mbit (64 MB)SDRAM: 8 Mbit × 32‑bit = 32 MBSRAM: 1 Mbit × 16‑bit = 2 MBNOR Flash: 8 Mbit × 16‑bit = 16 MBmicroSD card slots: 2 × (expandable storage)Memory used as per blow log while compiling and flashing code from Touch GFX. :desktop_computer:️ On‑Chip (STM32H7B3
I'm debugging an STM32N647 on a custom board and running into a strange issue: the target silently drops the debug connection every time a breakpoint is hit or a single-step lands inside HAL_Delay(). Environment - MCU: STM32N647X0HXQ (Cortex-M55) - Debugger: ST-Link V2 - Debug mode: LRUN (code in AXI SRAM 0x34000000, running with XSPI/Flash boot) - Toolchain: VSCode + Cortex-Debug + ST-Link GDB Server - SWD freq: tried 400 kHz / 1 MHz / 4 MHz — same result - D-Cache: disabled (SCB_DisableDCache()) - Optimization: -O0 Symptoms 1. Download & run works fine — the firmware executes normally. 2. Setting a breakpoint → when the breakpoint hits, VSCode shows "Target disconnected" / "Lost debug connection". 3. Single-stepping into HAL_Delay() causes the same disconnect. 4. Reset via ST-Link sometimes recovers, sometimes requires power cycle. What I've checked / tried - Power supply is stable (measured with scope). - BOOT0/BOOT1 jumpers are correct for LRUN mode. - Tried lowering SWD freque
I set ETH to be working on RMII_PTP_SYNCHRO, However HAL_ETH_USE_PTP is still not defined by default.
I was running a project in STM32CubeIDE (1.19.0) with 4 Tasks and it ran fine. Now I wanted to add a fifth task and after adding it and the oly thing I had changed was the Name (Task05 instead of myTask05) I got an alert box when saving the .ioc file:I went with this into the FreeRTOS forum, but they say it's an STMicro issue. So I'm coming up with it here now.
HelloI have custom PCB with STM32G491KE connected to an LSM6SV80X IMU directly via SPI. I'm having an issue with not being able to receive any data from the IMU, the the read value is always 0xFF which I've read is usually an issue with the slave/subnode/agent device not responding. Here's how the SPI interface is configured (via CubeMX with X-CUBE-MEMS1)__weak HAL_StatusTypeDef MX_SPI1_Init(SPI_HandleTypeDef* hspi) { HAL_StatusTypeDef ret = HAL_OK; hspi->Instance = SPI1; hspi->Init.Mode = SPI_MODE_MASTER; hspi->Init.Direction = SPI_DIRECTION_2LINES; hspi->Init.DataSize = SPI_DATASIZE_8BIT; hspi->Init.CLKPolarity = SPI_POLARITY_LOW; hspi->Init.CLKPhase = SPI_PHASE_1EDGE; hspi->Init.NSS = SPI_NSS_SOFT; hspi->Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2; hspi->Init.FirstBit = SPI_FIRSTBIT_MSB; hspi->Init.TIMode = SPI_TIMODE_DISABLE; hspi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; hspi->Init.CRCPolynomial = 7; hspi->In
I created simple project using STMCubeMX2 for MCU STM32C552. I configured the clock by choosing HSIS on System MUX. When I compile and run generated code it ends in HardFault_Handler. When using PSIS option - the same result. HSISDiv3 clock works well. When I divide HSIS or PSIS clock by 2 on AHB prescaler it also works. Any idea? Thank you
So I'd been merrily using STM32CubeIDE all morning, doing the usual code-download-debug cycle with no problems at all.Then, after some code updates & successful build, it suddenly can't reach the GDB server: STMicroelectronics ST-LINK GDB server. Version 7.4.0Copyright (c) 2023, 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 : EnabledFailed to bind to port 61234, error code -1: No errorFailure starting GDB server: TCP port 61234 not available.Shutting down...Exit. Several people seem to have had this recently; eg,https://community.st.com/t5/stm32cubeide-mcus/cubeide-1-18-cannot-detect-st-link-anymore/m-p/784313?search-action-id=49992011530&search-result-uid=784313https://community.st.com/t5/stm32cubeide-mcus/st-link-error-failed-to-bind-to-port-61235-failure-starting-swv/m-p/784642
This might be my misunderstanding of how OVERRIDES work, but I'm building with the recently-released "wrynose_v26.02.18" branch of meta-st-stm32mp and, for the purpose of debugging, I wanted to set:ST_OPTEE_CORE_DEBUG = "y"so I did that in my local.conf file, but after I set it, it still had the value of "n" for the build, so I dumped the value to see how it was (or was not) being set:bitbake-getvar -r optee-os-stm32mp ST_OPTEE_CORE_DEBUG... snip ...# $ST_OPTEE_CORE_DEBUG [3 operations]# set /home/rpjday/BOARDS/nexus/wrynose/build/conf/local.conf:13# "y"# set /home/rpjday/Layers/wrynose/st/meta-st-stm32mp/recipes-security/optee/optee-os-stm32mp-common.inc:37# [_defaultval] "y"# override[stm32mp15common]:set? /home/rpjday/Layers/wrynose/st/meta-st-stm32mp/recipes-security/optee/optee-os-stm32mp-common.inc:38# "n"# pre-expansion value:# "n"ST_OPTEE_CORE_DEBUG="n"You can see how the first line seems to show that I am explicitly setting it in my local.conf, then the processing continues th
G4 ref man says there is 1 (one) FDCAN peripheral:Yet when editing the IOC file I see 2 (two) FDCAN peripherals:I believe the ref man. What's with the IOC file editor?
Moved from MPUs forum.Hello,I have made a custom PCB with a STM32F756 and I'm trying to program this MPU through STlink. My main workstation runs Linux and I use stlink tools.To flash this MPU, I have connected ST-Linkv2 to my PCB (NRST, SWCLK, SWDIO, SWO, GND) and I can obtain a answer from MPU:hilbert:[~/zephyros/zephyr/samples/basic/blinky/src] > st-info --probe Found 1 stlink programmers version: V2J29S7 serial: 49FF69065050825521491967 flash: 1048576 (pagesize: 2048) sram: 327680 chipid: 0x449 dev-type: STM32F74x_F75x But I unable to flash a test program... I have tested with standard user or root.hilbert:[/usr/local/bin] > ./st-flash --debug --connect-under-reset write ~/cvs/firmware-europulse/build/zephyr/zephyr.bin 0x08000000 st-flash 1.8.0-121-g8c34a4e 2026-05-22T15:44:31 DEBUG common.c: *** looking up stlink version *** 2026-05-22T15:44:31 DEBUG common.c: st vid = 0x0483 (expect 0x0483) 2026-05-22T15:44:31 DEBUG common.c: stlink pid = 0x3748 2026-05-22T15:44:
I am using the Analog Devices EVAL-ADE9430 Evaluation board for testing one of their devices. The Evaluation board uses the NUCLEO-144 STM32F413ZH processor. I am using the Keil uVision development setup to run and debug code. I am specifically concentrating on the SPI Bus Driver and the timing. I have no previous experience with STM Devices and how the SPI transfers happen in the processor. While walking through the code and following it on my scope to see the SPI Bus timing I am seeing something that does not make sense. The AFERead32BitBuffer() function is called when you read a 32-bit register from the SPI Device which is an Analog Devices ADE9430 Chip (see Below). The code calls HAL_SPI_Transmit() with the number of bytes it needs to transmit (see line 9 below). In this case it is transmitting a two byte command header where bits [15:04] are the register address and bits [3:0] is the R/W command, see example timing below. When
Hey,I have my images stored compressed (ARGB8888) on NAND flash accessed via FileX. Not memory mapped, so I need to cache everything before starting the GUI.I noticed this in the Bitmap API docs:Bitmap::decompress — "This method is called by Bitmap::cache when required."So does that mean I just implement BlockCopy with FileX, call Bitmap::cache(), and it handles the decompression automatically? Does it allocate for the uncompressed size and deal with the temp buffers internally?Would save me a lot of headache if that's the case;Thanks!
Hello, I hope you are doing well.I am currently working on benchmarking the Ethernet communication interface on an STM32H753 Nucleo board.My setup involves sending data from a Python script to the STM32, where the data is encrypted, and then sent back. This allows me to measure the RTT and overall throughput.I initially used Mongoose, but I encountered several issues:With UDP, I cannot reliably send more than ~1500 bytes, since larger packets get fragmented or dropped.TCP works correctly, but the throughput varies significantly depending on payload size. For example:~2.7 MiB/s for 1400-byte payloads~7 MiB/s for 10240-byte payloadsI would like to know:What is the best networking stack or library for STM32 to achieve better performance and properly handle UDP large payloads?Given that Ethernet is 100 Mbps in my case, I am not reaching near-theoretical throughput even without encryption. Is this because I am measuring not only transmission time but also packet handling, buffering, and pro
Hi all,Hardware: Custom PCB, STM32H563ZGT6, USB powered.It was working fine but now gives me :Error: Cannot connect to access port 1!If you are trying to connect to a device with TrustZone enabled please try to connect with HotPlug mode. If you are trying to connect to a device which supports Debug Authentication with certificate or password, please open your device using it.Symptoms:- MCU gets hot to the touch within ~5–10 s of USB connect; cools instantly on unplug- VDD measures 3.29 V at the MCU pin- Chip is still functional: enumerates as STM32 Bootloader in DFU, ST-Link HotPlug connect succeeds, full erase + program + verify works- "Connect Under Reset" / normal connect frequently fails with Cannot connect to access port 1 or DEV_TARGET_NOT_HALTEDAlready tried:- Full chip erase via HotPlug → heat persists with empty flash- BOOT0 tied to VCC to force system memory bootloaderCan someone please assist me in resolving this issue?Thank You.
Hello Community,I am working on a custom board using the STM32 MCU (STM32WLE5JCI6). I am configuring the ADC with two channels:PB1 → ADC_IN5PB3 → ADC_IN2I performed the following test cases and observed unexpected ADC behavior.Test Case 1Applied VDD+ to Channel 2 (ADC_IN2)Channel 5 (ADC_IN5) connected to GNDObservation:Both ADC channels are reading 4095, even though Channel 5 is tied to GND.Test Case 2Applied VDD+ to Channel 5 (ADC_IN5)Observation:Instead of getting 4095 on Channel 5, both channels are reading approximately 1500.I am also facing the same issue with another MCU: STM32L071KBT6TR.Development tools being used:STM32CubeIDE Version 2.1.0STM32CubeMX Version 6.8.0I have attached the main source file containing the ADC configuration for reference.Could anyone please help identify what might be causing this issue?Awaiting your valuable suggestions.Thanks.
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.