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
Hey there, I have run into an issue while trying to using the new edge AI-studio software. I try to make a run such that I am able to the reach the generate project page.However, currently, I am stack at the point where the pipe running in the EDGE AI studio tries to use the STM32 cube programmer, I think to run the binary and verify it works before proceeding to provide the generated project page.My set up includes a custom made board, set in DEV boot, and an st-link v3 pwr connected to the custom board. I can confirm that I am able to program the board using cube programmer. I am also able to debug the code programed to this board using XIP paradigm , there for I think the connection there is okay,The custom boards OCTO XSPI is very similar to that of the stm32n6570.DK as I am able to use the default bootloader for the dev board to be able to program it.How ever the logs from running the cube AI studio say Run failed: Error: STM32CubeProgrammer exited with code 1I attached
Hello,For the ASM330LHH, it's not clear which registers are covered by the BDU setting. Although the datasheet and application notes list some registers that are covered, they are presented more as examples than an exhaustive list.In my testing, it appears the BDU register doesn't protect the temperature (non-FIFO) registers at all. With BDU enabled, I would still get ~1 degC temperature spikes when the sensor was operating at the rollover boundary (LSB near 0x00 or near 0xFF), due to the slight time skew between the two registers. I was able to work around this by using the FIFO.I also need to be able to sample the TIMESTAMP registers (TIMESTAMP1, TIMESTAMP2, TIMESTAMP3, TIMESTAMP4), from outside of the FIFO. This is important because I need to periodically correlate the ASM330LHH's internal timestamp to an external time/clock; using the FIFO would introduce a large skew and a lot of complexity.Are the timestamp registers protected by the BDU feature? Can
Hello, I have implemented a DDS sine wave generator where I use a timer interrupt to update DDS phase word and also use the same timer triggering a SPI transmission via DMA to an external DAC using a nucleo-g431rb. I am now doing the same thing with a nucleoh723zg on a different pcb, but cannot achieve the same performance. I've only uploaded 1 spectrum image of the H7 output but the problem is the image I uploaded is not the constant spectrum, it's center frequency changes -20 to 20 Hz every sweep. I am using ~16MHz SPI speed and I have checked hardware of both pcbs, there is no problem with the communication and DAC CS jitter is very low (or none) for both MCUs. I also checked the phase word variables on the run via uart in H7 and saw that there are reoccurring (not periodic though) jumps in phase word. But I use uart so cannot be exactly sure about that. I'm sure there are no missing interrupts which I'm controlling by flipping a GPIO pin. I can use a direct write to SPI data regist
I need to implement a protocol using 11110000 as preamble. The protocol is 2-FSK 868.1 MHz, +/-35kHz, 25kbps. According to RM0511 STM32WL33 only supports 01010101 or 10101010 as preamble for 2-FSK. Is it feasible to use the STM32WL33? I am planning to use direct buffer mode.
Hi ST Support Team,I am working with the STM32L476RCT6 on a custom-designed board for an NFC reader project.I am facing a critical issue during basic bring-up:Issue DescriptionThe MCU appears to hang when using HAL_Delay() and HAL_UART functionsThe code runs only during debug (step-over execution), but not in normal run modeIn normal execution:HAL_Delay() blocks indefinitelyUART transmit functions also get stuckIn debug mode:Code executes correctly step-by-stepGPIO (LED toggle) works as expectedWhat I Have VerifiedFirmware is successfully flashedMinimal project (only GPIO toggle, no complex logic)Using default CubeMX-generated initializationSystem clock configured to HSI (no external crystal)Issue persists even in a very simple projectObservationsBehavior suggests a possible issue with:SysTick / time base not runningInterrupts not functioning correctlyOr clock configuration problemRequestCould you please help identify:Why HAL_Delay() is blocking in normal execution but works during deb
Hi everyone,I’m relatively new to embedded systems, so apologies if this has already been discussed elsewhere. I’ve tried searching, but haven’t been able to find a clear solution.I’m currently developing a system based on the STM32F746G Discovery board using TouchGFX for the touchscreen UI. In addition, I’m interfacing with a distance sensor over I2C. My goal is to log data (timestamp + sensor value, already formatted) to an SD card.The issue I’m facing is the following:When I enable only SDMMC and FatFS in CubeMX, I can successfully open a file and write data to it.However, when I integrate this functionality into my full project (which includes TouchGFX, FreeRTOS, and I2C), the SD card logging no longer works.I’d really appreciate any guidance or suggestions on what might be causing this or how to approach debugging it.Thanks in advance!
The board I am using is NUCLEO-H7S3 and I have encountered the following issuesI want to perform continuous and large data sampling using ADC+DMA, but when the collected value reaches 10000, the subsequent values become 0. When I modify the number of collected values to 50000, it stops at 17231 and the subsequent values remain 0. At this point, I am connecting the ADC pin to the 3.3V on the board. I'm not sure where the settings went wrong, please help me.Thank you.
"I am currently working on implementing Ethernet communication using a NUCLEO-H753 board. As a first step, I attempted to perform a ping test. I followed the official tutorial videos provided by STMicroelectronics step-by-step, but unfortunately, I am not getting the expected results (the ping is failing). I would appreciate any guidance or advice on what might be causing this issue or which specific configurations I should double-check." "Let me share my CubeMX configuration with you first so we can review the setup." 1. System Core - CORTEX_M7 2. Connectivity - ETH 3. LwIP 4. Clock I will also share the modified source code with you. STM32H753ZITX_FLASH.ld /* Modification start */ .lwip_sec (NOLOAD) : { . = ABSOLUTE(0x30040000); *(.RxDecripSection) . = ABSOLUTE(0x30040100); *(.TxDecripSection) . = ABSOLUTE(0x30040200); *(.Rx_PoolSection) } >RAM_D2 /* Modification end */ ethernetif.c /* USER CODE BEGIN 2 */ #if defined ( __ICC
Hello, I've recently managed to modify the SBSFU example for the STM32F413H-Discovery board and adapt it for my STM32F419 mcu, building it and executing it successfully.Now the issue is, i need to modify the loading mode from serial ymodem to downloading the firmware image from a file inside of an USB stick To do this, im using the ST driver that is present already in other projects, which requires interrupts (specifically OTG_HS_IRQn and possibly others) but when the code tries to setup the interrupt and its priority with HAL_NVIC_SetPriority(OTG_HS_IRQn, NVIC_PRIORITYGROUP_4, 0); HAL_NVIC_EnableIRQ(OTG_HS_IRQn); There's a reset of the MCU, so how do i make it so that the SBSFU project can use interrupts?I stumbled upon the AN5056 document where at page 38 talks about interrupt support in the SBSFU, but for the STM32L496 which has a Firewall feature i do not have. Is that still the correct way of proceeding? If so, how?Best regards
Hello, I'm using a NUCLEO-C5A3ZG. Not sure it's the right place to write but my goal is to setup the debugger using the STM32CubeCLT_1.21.0 Package under a VSCode environment (already using cortex-debug extension for other projects).I am able to reach the target using the embedded stlink for example with a reading of the flash : /c/Program Files (x86)/ST/STM32CubeCLT_1.21.0/STM32CubeProgrammer $ ./bin/STM32_Programmer_CLI.exe -c port=SWD freq=1000 mode=UR -r32 0x08000000 10 ------------------------------------------------------------------- STM32CubeProgrammer v2.22.0 ------------------------------------------------------------------- ST-LINK SN : 005100353235511237333439 ST-LINK FW : V3J17M10 Board : NUCLEO-C5A3ZG Voltage : 3.29V SWD freq : 1000 KHz Connect mode: Under Reset Reset mode : Hardware reset Device ID : 0x45A Revision ID : Rev Z Device name : STM32C59x/5A3 NVM size : 1 MBytes Device type : MCU Device CPU : Cortex-M33 BL Version : 0x100 Debug in Low Power mode enabl
Hello,I am working on a project where I need to both read and write regularly into the STM32 flash memory. I have some concerns and questions regarding its endurance.First off, I posted a question not long ago about writing to FLASH using ST EEPROM library. I was wondering why upon writing to a variable, it did not effectively write it into flash. This is essentially due to how the library itself works. Hence why I can not really use it to manage flash wearing, because I need the writing to happen precisely when I call a write function due to the fact that my product can be power off at any moment.So going back to the reference manual RM0456, I came upon section 7.3.8 which states:"Each flash memory page can be written and erased 10 000 or 100 000 times. A maximum of32 pages (256 Kbytes) per bank feature this increased endurance of 100 kcycles. Thisenhanced endurance can be used for data storage that usually needs more intensivecycling capability than code storage.Any flash page can be
Hi all, I’m debugging a reproducible SPI6 slave issue on STM32H753ZI and would like feedback from anyone familiar with H7 SPI v2 behaviour. Setup MCU: STM32H753ZI Peripheral: SPI6 slave Master: Raspberry Pi 5 (spidev) Pins: PA5 SCK PG8 NSS PG12 MISO PG14 MOSI SPI mode: CPOL=0, CPHA=1 (HAL SPI_PHASE_2EDGE) Pinmux verified as AF8 on live registers. Important context about observed bytes Initially master read 0xFF consistently; after removing pull-up resistors on the MISO path, reads became 0x00.This was line-bias behaviour, not a functional fix: pull-up + Hi-Z -> 0xFF no pull-up/weak low bias + Hi-Z -> 0x00 So the core issue remained: slave not reliably driving/qualifying frames. What I tested I instrumented both HAL and LL test images (counters + CR1/CFG1/CFG2/SR + pin-level edge counters). A/B tests that did not fix it NSSPolarity LOW vs HIGH AFCNTR 0 vs 1 soft/hard NSS var
Hi, I am using the Nucleo-L552ZE-Q board. I use STM32CubeMX version 6.17.0 which appears to be the laters version. When generating code for SD card FAT FS using CubeMX i get "sd_disckio.c" file containing only stubs of the functions, without content (the stub functions just return error value/no_init value). In CubeMX i have done some fault finding steps already with no luck. I have configured SDMMC1 before enabling FATFS. I am staying with default values, exvcept clock divider (Currently using 8). I am using Mode "SD 4 wide bus" Under Middleware->FATFS i enable it for SD card. SOMMC instance is SDMMC1, BSP code none. The rest is default values. FAT FS version in cubeMX is R0 12c I have tried investigating the options in CubeMC, but i cant spot anything wrong so far. I also tried starting from scratch with a new project in CubeMX, with the same result: sd_diskio.c only contain stubs. Does anyone have a fix for this issue? Or can anyone point out where i find the&nbs
Hi,I want to create a pin-compatible board to X-NUCLEO-SRC1M1 to further explore USB-C charging, is there a STEP or DXF file available for this or any other X-NUCLEO board that has both the ST Morpho and Arduino UNO R3 connectors please?Kind regards,Al
Hi, I am using two rotary encoders on an STM32U5G9ZJT. Currently I have:- TIM8_CH1 and CH2 available- TIM3_CH3 and CH4 available I know that standard encoder mode uses CH1 and CH2. CubeMX shows options like:- Encoder Mode (with remap CH1/CH2)- Encoder Mode + Index (with remap CH1/CH2 + ETR) My encoders are simple mechanical rotary encoders. Question:Should I use "Encoder Mode with remap" to map CH3/CH4 to CH1/CH2,or is there any benefit to using "Encoder Mode + Index"? Is there any difference, If I use "TIM8 in encoder mode" or "TIM3 encoder mode from remap" Thanks!
Hi everyone,I’m currently experimenting with the GPIO_IOToggle_TrustZone example using STM32 TrustZone.When I build and flash both the Secure and NonSecure firmware, everything works correctly: the LED toggles as expected, so the interaction between Secure and NonSecure worlds seems fine.However, I’m running into an issue with debugging:I can successfully debug the Secure projectbut I cannot seem to debug the NonSecure projectI am using STM32CubeIDE and I would like to understand how to properly configure the environment to be able to debug the NonSecure application as well.Specifically:Do I need a separate debug configuration for the NonSecure project?Is it required to start debugging the Secure project first and then attach to NonSecure?Or is there a specific STM32CubeIDE / ST-LINK / TrustZone debug configuration that I am missing?Any guidance on the correct way to set up STM32CubeIDE for debugging the NonSecure project would be really appreciated.Thanks in advance!
Hi ST Team,I am currently working with the STM32MP257F-EV1 based custom carrier board and experiencing an issue during the flashing process(boot mode is eMMC).Initially, the board works fine and flashing completes successfully. Over the time, the flashing is failing.From the flash logs, I observe that the failure occurs at partition 0x03 (refer the attached flash_log.txt).At the same time, the UART console shows panic logs during boot (attached in uart_boot_logs.txt).Could you help us to know the root cause of this issue and steps to recover?Thank & regards,Kaviya
Hello Team, Since SCB and other core registers are not included in the SVD file for STM32H5, could you please advise on the best way to access or monitor SCB registers (e.g., VTOR, AIRCR, ICSR) during debugging in VS Code with PlatformIO? Specifically, I'm looking for guidance on: How to inspect SCB register values during a debug session (e.g., trap cause, exception entry). Recommended approach to capture trap/exception information like: HardFault status (HFSR) Configurable Fault Status (CFSR) Bus Fault (BFAR) MemManage Fault (MMFAR) Any suggestions for manual mapping or watch expressions in the debugger that would allow me to monitor these registers, since they’re not shown in the peripheral view. Any tips or best practices for bare-metal Cortex-M33 debugging without full SVD support would be greatly appreciated. Best regards,Manikanta
Created a STM32H743II prj with I2S2 enabled, half-duplex slave receive mode, and DMA1 S0 bounded to SPI2_RX, to work with an ADC in master mode. Can't get data from the ADC ( DMA linked mem area always zero ), while my oscillograph can properly decode the ADC I2S data output pin ( CK & WS pin also connected between the ADC board and the H743 board, and the oscillograph ). In cube, the SDI pin is mapped to SPI2_MISO, PB14. But as a slave, shouldn't the correct SDI pin map to SPI2_MOSI, PB15? So I modified the cubeMX generated code manually, by changing PB14 to PB15 in the I2S2 GPIO initialization sector, and it worked, the DMA linked mem area shows the same value on my oscillograph. Is this a cubeMX bug?
COO DetailsTop MarkingWe are experiencing critical issues with the COO data provided for STM32H5 series MCUs. There is a persistent mismatch between the website (non-China), the physical chip markings (CHN), and the final invoices.If this is not country of origin "CHN". Please elaborate on what CHN necessarily mean. We need an immediate resolution to ensure our invoices accurately reflect the physical product markings to satisfy Customs requirements. Please advise on the steps to rectify these declarations.
Added "DHCP" in the title to give the context. Using an STM32H7S78-DK I try to set up the network to join an IPv4 network through DHCP. I did set up the board using CubeMX, standard configuration, MPU activated. FreeRTOS + LwIP Removed all other interfaces I don't need. Made sure the Ethernet clock shows 50MHz The LED's on the RJ45 start to blink (Orange LED blinks with packets exchanged) but I get no IP address. digging in the possibilities I added a simple routine to monitor the DHCP advancements. struct dhcp *dhcp_data = netif_dhcp_data(&gnetif); if (dhcp_data != NULL) { printf("[DHCP] State: %d, Retries: %d\r\n", dhcp_data->state, dhcp_data->tries); } this shows I get stuck in state 6: waiting for an ACK -> what could be behind this? can someone share an .ioc file that sets everything correctly in MX?
Hi @Community, I have previously posted the same issue , that i have been working on the STM32H723ZGT6 - Nucelo board on Ethernet LWIP to acheive TCP/IP without free RTOS, Im still facing the same issue that i cant ping the IP.I have tried the GITHUB of STM32CUBEH7 -> APPLICATION ->LWIP -> TCPSEREVR ECHO . Its working perfectly , but cant remake or reuse it due to some library issue , im in a middle of a development of a project. so i tried to take the tcp confing in the example code and reuse it , but that also failed So i tried to remake the all the linker script and searched various Youtube videos , but everything remained in vain , ill share some screenshots of my configuration , can anybody help me with this , I previously seens several quries that facing the same issue , those who got resolved the issue kindly share your solution and approach with me. Thank You ,Gokul
My situation:Trying to step through/debug a project that will run from the QSPI on the STM32H750B-DK in VS Code (on linux, if that matters). In order to test out the toolchain, I've started with two (separate) workspaces: on has the ExtMem_Boot project, the other the LTDC_Paint demo.What works:A/ Building both projectsB/ Flashing (via tasks.json and STM32CubeProgrammer) the ExtMem_Boot projectC/ Debugging the ExtMem_Boot project via the VS Code debug viewD/ Flashing (via tasks.json, STM32CubeProgrammer and the ExtLoader MT25TL01G_STM32H750B-DISCO.stldr) the LTDC_Paint demo.E/ Launching the debug flow of LTDC_Paint (after modifying launch.json to include the serverExtLoader)What fails:The debugging automatically halts at the Reset_Handler of the startup file, the instruction for loading the stack pointer. But at this point I can't seem to step through it. Even just pressing the run arrow seems to result in a crash, rather than the actual execution.What I find suspicious:The debug consol
The WL series is great, but unfortunately there aren't any chips with more than 256KiB flash and 64KiB RAM. This appears to be a serious limitation for a SoC with LoRa connectivity.The value proposition of this series is that you pay for one package that provides both connectivity and compute, which is cheaper than paying for 2 separate ICs. I'm personally working on a project where this small memory is beginning to be an issue, and I might end up having to separate those ICs.It kind of seems strange to me that the G0 "entry-level" series comes with much more memory - up to 1MiB / 144KiB.Are there any plans to bring out WL series chips with more memory?Thanks
I am using CUBEMX Version 6.17.0STMCUBE IDE 2.1.0FW Package name & version STM32Cube FW_H7 V1.13.0Enabled LWIP ETH With FREERTOS CMSIS2same settings did with cmsis version 1 it's working but with cmsis version2 NOT WorkingI configured on internal Timer TIM1 as soon as I connect Eth Cable program counter not reaching threads & Timer callback / TIM6(systick update).I checked in fault handlers it is not reaching here ETH State in eth handler is (READY STATE --> START STATE)Error code in eth handler is zero.Here I have attached my .ioc fileI have updated flash ld file as per repository code LWIP Debug Messages :
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.