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
Hello,I have developed a custom board using the STM32MP157DAA1. When I try to write the boot image, the process stops after writing fsbl-boot and does not proceed to the next step.I checked the output from the debug port and received the following log:NOTICE: CPU: STM32MP157DAA Rev.Z NOTICE: Model: STMicroelectronics custom STM32CubeMX board - openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11 INFO: PMIC version = 0x21 INFO: Reset reason (0x15): INFO: Power-on Reset (rst_por) INFO: FCONF: Reading TB_FW firmware configuration f file from: 0x2ffe2000 INFO: FCONF: Reading firmware configuration informa tion for: stm32mp_fuse INFO: FCONF: Reading firmware configuration informa tion for: stm32mp_io INFO: Using USB INFO: Instance 2 INFO: Boot used partition fsbl1 NOTICE: BL2: v2.10-stm32mp1-r2.0(debug):() NOTICE: BL2: Built : 11:48:32, Oct 29 2025 INFO: BL2: Doing platform setup INFO: RAM: DDR3-DDR3L 16bits 533000kHz ERROR: DDR addr bus test: can't access memorPANIC at PC : 0x2ffed13d Exception
Has anyone been able to implement the MCP in python or C code? I've been trying to figure it out in Python for a while now. It's really disappointing ST doesn't provide a .c/.h file for this protocol as I've wasted a ton of time trying to re-implement what Motor Pilot does. This is really low quality support from ST to say "go read the documentation and re-implement this complex protocol". Here's a link to a post I made previously with some other good links and info:https://community.st.com/t5/stm32-mcus-motor-control/aspep-mcp-protocol-implementation/m-p/727572#M10997
Hello, I am currently trying to bring up the STM32MP257F-EV1 development board and running into an issue. I am following the instructions provided in this link: Populate the target and boot the image - stm32mpu, but I am using UART instead of USB. When I attempt to populate the SD card with the binaries, it goes through the entire download then says "Start operation done successfully at partition 0x01" Then approximately 30 seconds later it will say "Timeout error occured while waiting for acknowledgement." and it flashes this every 30 seconds for the next 2 and a half minutes then gives an error which reads "Error: TSV flashing service failed" and another error which reads "Error Parition 0xBB not found in TSV File". I was wondering if this was because I was using UART because when I ran the batch file to get the USB driver nothing happened so I thought I might be able to continue with UART. But if it is not specifically because I am using UART and there is a solution withou
Hello. I've been struggling to flash a simple TouchGFX application through the STM32 VS Code extension. I am using the Nucleo-G071RB dev board with the GFX01M2 display board. My project was initially created using the TouchGFX designer, then generated the CMake project in CubeMX. In VS Code, I added the SPI_FLASH section in STM32G071RBTX_FLASH linker file, and the cmake/touchgfx sub directory in the CMakeLists. This allowed me to build the project with no errors. However, whenever I try to flash, I get the following:I suspect this has something the do with the external flash. I am aware of an external loader file that you have to select in STM32CubeIDE, but I'm not too sure what would be the equivalent in VS Code.
Hello, I have an STM32F777ZIIT which is being used to gather SPI data in receive-only mode on four SPI channels and using DMA to buffer this data. The DMA buffers are 70 half-words long, configured for circular mode, and half the half-full and full interrupts set up. Using hardware timers, the external SPI devices are being triggered to transmit 35 samples every 1ms. This is being done on four SPI channels, with one of them (channel "D") being phase-delayed by 500 microseconds. Note that this is running on bare-metal.The expected behavior is to see all four channels receive the half-full interrupt after 1ms (D last), then the full interrupt after another 1ms.In a consistent fashion, I am seeing this pattern in the half full and full ISRs per channel. All four should have the same DMA configuration.Time (microseconds)Channel AChannel BChannel CChannel D758Half 768 Half 778 Half 788 Half2717Full 2727
Hi, I followed the directions to create an empty project in VSCode. I picked my device, an F405RGT6, and the extension did what it did. Now what? The docs end there. If I launch MX from inside VSCode, MX wants an ioc file; there isn't one to find. What shall I do? Thanks.
Hi,I am working with an STM32 microcontroller (STM32 C0 & STM32H5 series) and want to implement Modbus communication without using FreeRTOS . Most examples I found are based on FreeRTOS, but I need to handle Modbus protocol in a non-RTOS environment.Are there any recommended Modbus libraries that can work without an RTOS?
Hello ST Community, We are developing a product based on STM32MP151 which requires detecting what caused the device to wakeup from sleep. With this device, we are setting up 2 wakeup sources - RTC and 2 WKUP GPIOs and we have to execute specific functions in our C application based on which GPIO triggered wakeup (or if it was RTC). We are using latest openstlinux distribution package. Right now, we have no clue as to if it is even possible somehow, some help will be appreciated a lot from ST regarding this... Best Regards,Ayush Sharma
Hi. I designed a stm32 board an am trying to program it with a stm32 development board. i am having issues with programming it. This is my board design and my programming setup. I have connected the stm32f4 to my laptop to program it and the Integrated Circuit I'm using on my board is the stm32 g431. I know i have not pulled boot0 to low which is a problem i tried to resolve using option bytes where i set the nBoot1 byte to 0. But i have my boards boot up and then after clearing flash storage, they are usually stable. The board isn't dead since current is being drawn but the stm32 status LED is blank and when i try to connect to it with the stm32 programmer, i get ' Unable to detect Core ID. No stm32 target found. If your product uses debug authentication, please enable debug authentication. Please help me figure out what is wrong. This is the second board that has gone this way. I only have 3 more left.
Hello, I'm having problems with a simple task: receive blocks of data from UART. The blocks are sequences of 1-300 bytes, that are receiveid with a 1 second interval. The value is stored in one buffer of 350 bytes.When I send a big block of 270 bytes after other blocks(of 60 bytes by example) in that 1s interval, the Stm32 RESETS! But if the interval is longer, like 5 seconds, it doesn't reset and receive the data correctly. I tried with pooling and interruption, the result is the same. I'm using 115200 baud. Lowering the baud rate also reduces the interval that doesn't cause a reset, but I can't use this solution.WatchDog is already disabled. By this moment, the code doesn't do anything more.
I am trying to program my custom board with STM32WB15CCU6E on it in Arduino IDE. I always upload the code to my nucleo-wb15 board to verify if it is working before uploading it to the custom board. The main difference between the chip used on nucleo-wb15 and STM32WB15CCU6E is that my custom board has no external 32.768 kHz crystal installed, so it mainly relies on HSE or LSI.However, I could not make my BLE module advertise on my custom board while it is working fine on the nucleo-wb15. I am suspecting except the Arduino code, I probably need to change something in the variant file. Anyone knows how to do it? thanks.
Can some one help me to build a stereo amplifier with TDA 7492 p IC I cant find any pcb layout design and gerber files on internet i have an old Polk active subwoofer lying around useless with out its sound bar and i found out the IC is sameI'll drop the pdf file and circuit i got from google can anyone help me to get this gerber files or pcb layout i hope some would one see this and help me :)(sorry my English is not good)thanks
* board - STM32N6570-DK* using STM Cube 1.19.0* Example - USBPD_SNK In the example USBPD_SNK it tell you to view the traces like this. * Run CubeMx Monitor and open trace tools I'm guessing this is something inside of STM32Cube ide. Not STM32CubeMonitoring app* https://www.st.com/en/development-tools/stm32cubemonitor.html So i started the trace's like i normally would in STM32CubeIde but it doesn't seem to show anything in the trace output when i run the application. They say to use STM32CubeMonitor but when i connect both ends to my computer i don't see any com's to select. Currently i'm not entirely sure how to enable the traces, so any help would be greatly appreciate.
Hello, I have managed to generate a IP through the LWIP in the STM32 IDE and establish a connection via Ethernet, although now when I upload the files from hasseb/stm32h7_atsame70_ptpd: IEEE 1588 PTP daemon for STM32H7 and ATSAME70 (github.com) I seem to have a large portion of the code in the main.c file greyed out. As well, I'm not sure if it is concerning that there is a warning saying "_gettimeofday is not implemented and will always fail". I found some documentation stating this is not too much of a concern, as it's only a warning and not an Error. Furthermore, I have tried getting an output using this function just as a test and no luck: https://stackoverflow.com/questions/42747128/does-hal-gettick-return-ticks-or-milliseconds-and-how-to-measure-in-microsec/42749284#42749284 __weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) { /*configuring the SysTick to have an interrupt in 1ms time basis*/ HAL_SYSTICK_Config(SystemCoreClock /1000); /*Configure
When I try to allocation any available analog inputs, Cube-MX hangs!!!!Attached is the .ioc file... To replicate, try to allocate any available Single ended analog input....sad....
Hi ST Team,I’m working with an STM32F303VET6 and need help with EEPROM emulation. I’m looking for guidance on the correct Flash setup, example code for read/write, and best practices for reliability.Any ready examples or tips for integrating this into STM32CubeIDE/EWARM would be really helpful.Thanks in advance for your support!
Hello community,I am currently working on deploying a full YOLOv8n (80-class COCO) model on the STM32N6570-DK and integrating it with the Object Detection example from the STM32 AI Model Zoo Service.I closely followed this tutorial:How to deploy YOLOv8/YOLOv5 Object Detection modelsand used the official quantization scripts here:YOLOv8 Quantization ScriptsModel & Quantization SetupBase model: yolov8n.pt (Ultralytics official)Exported to: SavedModel formatQuantization: done per STM32AI model zoo tutorialInput: uint8 (0–255)Output tested as:uint8 input / float outputuint8 input / int8 outputCase Input Type Output Type Result(1)uint8floatIncorrect inference — bounding boxes & class scores both wrong(2)uint8int8Bounding boxes coordinates always same (incorrect), classification correctAfter debugging case (2), I found:The bounding box coordinates remain constant across frames and detections, even before post-processing.The output tensors are quantized correctly, but the model’s raw
Hi,Im new to STM and trying to use ADC with DMA in circular mode but the value of my ADC remains at 0. I also tested it with Polling, which works.ICache and DCache : Enable void menu_adc(void) uint32_t adc_buffer[1]; uint16_t adc0; uint8_t flag_adc; void menu_adc(void) { char buf[30]; HAL_ADC_Start_DMA(&hadc1, adc_buffer, 1); while(1){ if (flag_adc == 1) { flag_adc =0; int len = snprintf(buf, sizeof(buf), "ADC0: %u\r\n", adc0); HAL_UART_Transmit(&huart1, (uint8_t*)buf, len, HAL_MAX_DELAY); HAL_Delay(200); } if (HAL_ADC_PollForConversion(&hadc1, 100) == HAL_OK) { uint32_t adc_value = HAL_ADC_GetValue(&hadc1); int len = snprintf(buf, sizeof(buf), "ADC0: %lu\r\n", adc_value); HAL_UART_Transmit(&huart1, (uint8_t*)buf, len, HAL_MAX_DELAY); } } } void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) { if(hadc->Instance == ADC1) { adc0 = adc_b
While trying to launch a project, I get the following error:'Launching <Project Name>' has encountered a problem.Could not determine GDB version using command: arm-none-eabi-gdb --versionCould not determine GDB version using command: arm-none-eabi-gdb --versionarm-none-eabi-gdb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory OS: Fedora Linux 42STM32CubeIDE version: 1.19.0 Although libncurses.so.5 is apparently a very old package, I have "ncurses-compat-libs", which should provide compatibility with the required package version. I can find it on /usr/lib/ but not on /usr/lib64/.
Hello everyone,I'm a beginner in embedded systems and I'm trying to flash my LVGL UI resources to the external QSPI flash (a W25Q64) on an STM32H743IIT6 using OpenOCD. I'm running into some issues with OpenOCD detecting the flash.Here is what I have done so far:Linker Script (.ld): I have defined the external flash memory region in my linker script and created a section named .lvgl_assets that points to this external flash address.Data Placement: I'm using __attribute__((section(".lvgl_assets"))) in my code to place the UI resource data into this specific section.Binary File: I have successfully generated a separate .bin file that contains only the data from the .lvgl_assets section.My goal is to flash this .bin file to the W25Q64.My OpenOCD Problem:I am using the stm32h7x.cfg target file provided by OpenOCD. I saw that it contains a QSPI driver, so I added the following line to my config:set QUADSPI 1I then run OpenOCD with:openocd -f interface/cmsis-dap -f target/stm32h7x.cfgAfter it
Hello, I am developing a Touch GUI for STM32U5G9J-DK1 using Touch GFX [ 4.25.0]+STM32CubeIDE [1.19.0]. The Display is working correctly, but touch input is not gettingdetected. Following information will be helpful: 1. If any specific power/reset/initialization sequence is needed for the touchcontroller?2.Any reference project with verified touch support for STM32U5G9J-DK1?
Edited by a ST moderator: Please kindly don't use capital letter as it gives the impression of "shouting" Hi Team, I am using stm32h743 to interface lan9353 (3 port ic). for the first step if i connect one end of the ethernet cable to board and another end is connected to pc. the led is not blinking on both sides. if i check the command prompt the ethernet is not connected only. why is there any process for this please send me.
HiI currently use a timer in interrupt mode that triggers every 50 µs and executes my function inside HAL_TIM_PeriodElapsedCallback. I also have another timer running every 1 second. To reduce CPU load, I want to replace the 50 µs interrupt-based timer with a DMA-based implementation. My goal is for the DMA-driven timer to invoke HAL_DMA_XferCpltCallback every 50 µs. Is this approach possible, and if so, how can I implement it? If there is any other approach to implement the timer to trigger every 50us using DMA please let me know.NOTE: I am implementing using STM32CubeIDE on STM32F439ZIT6 Nucleo Board.Thanks and Regards@avbST
Hello,We are facing COO issues with almost all STM32G4 and H5 MCUs. The website/invoice says COO is non china and when we actually get the products, the chip marking is CHN. When enquired, STMicro team bluntly emails saying CHN is not China. After 20 days of follow-up, they gave clarification saying the changes they are making to COO based on processes. We placed one more order after that assuming the clarification given. Now invoices have completely different COO compared to website COO mentioned. Our customs has raised a query regarding wrong declaration. How to solve this issue? Thank you!
Hello,I'm experimenting with the STM32N6570-DK, using the STM32N657X0H3Q MCU.The problem is that the framebuffer contents aren't being displayed by the LTDC.Not when the framebuffer is alocated into internal SRAM, and not when it's in external RAM.First I tried it in the Appl, but now I'm trying it in the FSBL.I've performed a RIF configuration to enable access to the LTDC, but that doesn't help.static void SystemIsolation_Config(void) { __HAL_RCC_RIFSC_CLK_ENABLE(); RIMC_MasterConfig_t RIMC_master = {0}; RIMC_master.MasterCID = RIF_CID_1; RIMC_master.SecPriv = RIF_ATTRIBUTE_SEC | RIF_ATTRIBUTE_PRIV; uint32_t SecPriv = GPIO_PIN_SEC | GPIO_PIN_NPRIV; /*RIMC configuration*/ HAL_RIF_RIMC_ConfigMasterAttributes(RIF_MASTER_INDEX_LTDC1, &RIMC_master); HAL_RIF_RIMC_ConfigMasterAttributes(RIF_MASTER_INDEX_LTDC2, &RIMC_master); /*RISUP configuration*/ HAL_RIF_RISC_SetSlaveSecureAttributes(RIF_RISC_PERIPH_INDEX_LTDC, RIMC_master.SecPriv); HAL_RIF_RISC_SetSlaveSecureAt
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.