Get ready for the STM32 Summit 2026 | Online, November 3
Ask questions and find answers on STM32 microprocessors software development tools.
Most recent activity
HelloI am developing a custom board using the STM32MP255F-AKUpdates to the DeviceTree (DT) of a custom board placed in the `mata` layer are not reflected in the build.I have already fetched the source using `devtool modify virtual/kernel`The Device Tree for the custom board is located at .../layers/meta-st/meta-st-stm32mp-addons/mx/ddlskt/..Edit the kernel's DT (stm32mp255f-ddlskt-mx.dts)Add a marker to `model = “...”`: `model=“... AAA”`I tried building it$ bitbake virtual/kernelWrote Image.gz, *.dtb, and modules to the SD card and booted(brd-ddlskt) # cat /proc/device-tree/modelSTMicroelectronics custom STM32CubeMX board - openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06AAA has not been added to the modelRunning `cleansstate` before building will reflect the updated device tree$ bitbake -c cleansstate virtual/kernel$ bitbake virtual/kernelWrite Image.gz, *.dtb, and modules to the SD card and boot(brd-ddlskt) # cat /proc/device-tree/modelSTMicroelectronics custom STM32CubeMX board - opens
Hi everyone,I'm trying to install the EGit plug‑in on STM32CubeIDE version 1.14.1, but I'm running into persistent issues.During the installation, the dependency calculation phase fails, and CubeIDE proposes alternative solutions. If I continue using the option to keep the original installation and modify only the required components, the process eventually ends with an installation error.The exact same problem also occurs on STM32CubeIDE version 2.0.0, so it doesn’t seem related to a single release.Below is the full error log I receive:An error occurred while collecting items to be installedsession context was:(profile=STM32CubeIDE,phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).No repository found containing: osgi.bundle,javax.annotation,1.3.5.v20230504-0748No repository found containing: osgi.bundle,org.eclipse.emf.common,2.29.0.v20230916-0637No repository found containing: osgi.bundle,org.eclipse.emf.ecore.xmi,2.36.0.v20231002-1156No repository found
Hi ST Dev team!I have found that LSE is mandatory when building a new custom board. If not LSE is mounted and configured, then both TF-A and Op-tee will complaining about clock ID 5, which is LSE.Here is a walk around for Op-tee by removing the &clk-lse.https://github.com/DanielMartensson/Watermelon-Wine-1A/blob/linux-testing/watermelon-wine-os%2Fcubemx%2FCA35%2FDeviceTree%2Ffirmware%2Foptee-os%2Fstm32mp257f-firmware-mx.dts#L497-L498And for TF-A, ut must need some modification inside the code:https://github.com/evildeeds/meta-watermelon-wine-stm32mp/blob/656727dfcfb62cffbcd6aaec07fc4dfc55024a75/recipes-bsp/trusted-firmware-a/tf-a-stm32mp/clk-stm32-core.c#L462-L465Processor: STM32MP257F
Due to absence of a security forum for MPU's (while there is for MCU's) posting this here.The CRA prohibits products with known CVE to be placed or made available on the EU market.The ST Yocto ECO 6. Scrarthgap currently has 632C CVEs. The latetst Yocto master has 13.As such,1. how to place a product on the market while a distro without known CVE's does not exist ? A company may have great documentation and processes but if the actual supplied software has known CVE's there isn't a to place it on the market2 Many devices may use even older ECO systems (5.10) images which may have even more CVE. How will there get patched ?3. Where can information about the known CVE's in ST kernel , U-Boot, OPTEE and TF-A (dev packages) be found ?
Hi,i tried to migrate my project to CubeMx v6.17.0 coming from v6.16.0As a result, the firmware package was also updated to FW_MP1 V1.7.0I am using CubeIDE 2.0.0After migration the compilation fails with following error in auto-generated FreeRTOSConfig.hDescription Resource Path Location Type each undeclared identifier is reported only once for each function it appears in FreeRTOSConfig.h /PROJECT_CM4/Inc line 71 C/C++ Problem/* USER CODE BEGIN Header */ /* * FreeRTOS Kernel V10.6.2 * Portion Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. * Portion Copyright (C) 2019 StMicroelectronics, Inc. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of * this software and associated documentation files (the "Software"), to deal in * the Software without restriction, including without limitation the rights to * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of * the Softw
Dear all I was setting up the RISAF4 for STM32MP257, however, the partition with name "linuxkernel2" has a glitch where its size shows as givenWhich is beyond the size of my LDDR4 set to 8Gb.How to solve it? A quick reply will be appreciated.Thanking you!With regardsAmit
Dear ST Team,I Need the clarification can I use YT9218MB in place of RTL8211F-CG ,Please recommend me , If we can then we need to use OpenWRT
Hi there, I want to flash a HEX file using a Raspberry PI. So I followed the steps described here.But if I run this line:$> ./SetupSTM32CubeProgrammer-2.13.0.linuxI get the message:bash: ./SetupSTM32CubeProgrammer-2.13.0.linux: cannot execute binary file: Exec format errorHas someone an idea why this is not working?Im running Raspbian GNU/Linux 11 (bullseye)
Hello everyoneWhen I add OpenAMP to Pinout & Configration of .ioc and build it, the build failsThe steps are as follows:Create a new project (fuga_oka) for STM32MP277F-EV1 in STM32CubeIDEBuild this project. The build will finish successfullyAdd OpenAMP to this projectOpen fuga_oka.ioc - Select OPENAMP in Pinout & Configration -> middle ware & Software Packs - Check M33NS(Cube) - Also check Activated - Save fuga_oka.iocBuild the project. Some errors will be reported and the build will failAn excerpt of the error part of the build log. The raw log is attached separately~~~C:/STM32MP2xx/fuga_oka/Middlewares/Third_Party/OpenAMP/libmetal/lib/system/generic/condition.c:12:10: fatal error: metal/condition.h: No such file or directory12 | #include <metal/condition.h>| ^~~~~~~~~~~~~~~~~~~~compilation term
Hello,I have some sort of experience working with linux on RPI.I wanted to increase my embedded linux experience with STM32MP.So I wonder, should I buy STM32MP2 because its newer, or STM32MP1 because it will probably have more support and more reference because its been here for some time now?Also, for STM32MP257F-DK, the debug port and the power supply are shared on the same USB-C, how can i do both at the same time? because I don't think the PC can supply it with enough powerWould I need anything to start other than the external USB-C power supply?Any other recommendations are welcome
Despite my best efforts to populate and boot the the image of the STM32MP157-DK2 using the .tsv files I am met with a mixed result To date I have yet to establish a USB connection despite following the procedures at wiki. The UART connection is working. My environment is as follows ...Ubuntu 24.04.4 LTS - stm32mp1-openstlinux-6.6-yocto-scarthgap-mpu-v26.02.18 - STM32CubeProgrammer v2.22.0 and STM32_Programmer_CLI Be it that I use STM32CubeProg or the STM32_Programmer_CLI terminal interface the FlashLayout_sdcard_stm32mp157f-dk2-optee.tsv is not found despite the path being correct. Yet I am able to flash tf-a-stm32mp157c-dk2-optee-programmer-usb.stm32 0x01 or tf-a-stm32mp157f-dk2-optee-programmer-usb.stm32 0x01 using the terminal which was the first value in a sequence of the .tsv file (see kate as an example). The same conundrum occurs using STM32CubeProg. Might you suggest how I might resolve this problem - be it in establishing a USB connection or flashing the sd card usin
经我这三两天的多次调试,我终于找到了问题所在先说segger rtt viewer的工作方式首先,我将segger rtt的源码编译烧录到stm32mp257d_m33那里去。这时m33核的暂存会持有一个_segger_rtt结构体。然后我将这个结构体地址提供给segger rtt viewer,这时就会成功建立起通讯现在我通过segger rtt viewer向stm32mp257d_m33发送数据,这时jlink这个硬件工具就会通过swd直接操作暂存将数据写入到_segger_rtt结构体的下行缓冲区,按理会同时更新_segger_rtt结构体下行缓冲区的写位置WrOff而我在stm32mp257d_m33的用户代码逻辑是,将从swd收到的数据即刻原封不动的发还回去下面是我实际使用segger rtt viewer时的输入输出窗口的内容00> WrOff=557, RdOff=557, HasData=000> WrOff=557, RdOff=557, HasData=000> WrOff=557, RdOff=557, HasData=000> WrOff=557, RdOff=557, HasData=000> WrOff=557, RdOff=557, HasData=000> WrOff=557, RdOff=557, HasData=000> WrOff=557, RdOff=557, HasData=000> WrOff=557, RdOff=557, HasData=000> WrOff=557, RdOff=557, HasData=0< 55600> WrOff=557, RdOff=557, HasData=000> WrOff=557, RdOff=557, HasData=000> WrOff=557, RdOff=557, HasData=000> WrOff=557, RdOff=557, HasData=0< 5645600> WrOff=557, RdOff=557, HasData=000> WrOff=557, RdOff=557, HasData=0< 546546500> WrOff=557, RdOff=5
It's telling me (for example) there's a "Path Entry Problem":Invalid project path: Include path not found (C:\Users\xxx\Documents\xxx\USB_CDC\USB_Device\Target).The Tool Settings / MCU GCC Compiler / Include paths contains"${workspace_loc:/${ProjName}/Application/USB_Device/Target}"and in my project there is a folder Application/USB_Device/Target, it links to a folder C:\Users\xxx\Documents\xxx\USB_CDC\STM32CubeIDE\Application\USB_Device\TargetHow can I figure out where this warning is coming from?(notice - the project builds just fine, it's just a warning, but company policy is to build without warnings)
I was excited to see the Rust support for the Developer Package (seen here and here)However, I am having some issues with the fact that the provided toolchain is version 1.75 rustc and cargo. Mostly the fact that this version cannot use dependencies which use Rust edition 2024.I know I can go through dependencies one by one and downgrade them to earlier versions until there are no edition 2024 dependencies, but this is pretty tedious and doesn't seem like a great solution in the long run.Is there any chance that the MP2 Dev Rust addon could be updated to a more recent version?Or if that isn't possible, is there any advice on other ways to update the provided toolchain or create a custom rust toolchain using the mp2 dev tools?Thanks!
We are pleased to announce that the minor version 2.1.1 of STM32CubeIDE is available. What is new in 2.1.1: This release covers the topics listed below: SEGGER J-Link GDB server updated to 9.24 to fix an issue with the Live Expression view during the debug session Cmake updated to 3.30.8 to support "QUOTE" expression Main fixed issues in 2.1.1: Refer to the STM32 microcontroller wiki at: https://wiki.st.com/stm32mcu/wiki/STM32CubeIDE:STM32CubeIDE_errata_2.1.x Known problems and limitations in 2.1.1: Refer to the STM32 microcontroller wiki at: https://wiki.st.com/stm32mcu/wiki/STM32CubeIDE:STM32CubeIDE_errata_2.1.x How to get STM32CubeIDE 2.1.1: Under this link Or update your current installation of STM32CubeIDE using: Help > Check for updates (The in-tool update does not allow updating the drivers and STLINK server tool. Full installation is required for this to be done).
Hi STM32Community,i am currently trying to build openSTLinux using the STM32CubeMX (6.17.0) generated device tree files with the yocto build process.For this I am using the STM32MPU Distribution Package. (stm32mp-openstlinux-6.6-yocto-scarthgap-mpu-v26.02.18)I set up the Distribution Package according your Wiki Installing_the_OpenSTLinux_distribution and I have set up the STM32CubeMX Project according How_to_create_your_own_machine :I created the STM32CubeMX project directory "mx" /layers/meta-st/meta-st-stm32mp-addons and generated the project filesI created a new machine config file under /layers/meta-st/meta-st-stm32mp-addons/conf/machine, using the example stm32mp25-mx.conf as a template.I created the symlink for the EULAI modified the cubemx class accordingly under <STM32MP BSP layer addons>/classes/cubemx-stm32mp.bbclass and started the build process withsource layers/meta-st/scripts/envsetup.shbitbake st-image-core The buildprocess runs fine until it t
Hello everyone,I'm a beginner in the STM32 world,A teacher has lent us a STM32MP157C-DK2 board (with a A7 and a M4) for a challenge,and I am currently trying to upload a program for the MCU (a button which switches the color of a RGB LED).As I'll first describe my complete setup and what I have already done, so you can directly go to the end of the post if you want to see the main problem I'm facing which is :To "import an OpenSTLinux Project" into cubeIDE,to ultimately update the device tree of the Cortex-A7 into cubeIDE.My setup:A x64 computer running on Windows 11 with WSL 2 Ubuntu 24.04.01 LTS.The STM32MP157C-DK2 board connected to my PC with ST-LINK and by network.On WSL :I downloaded here and installed the STM32 cube IDE 2.1.0 for Debian.I downloaded here and installed the STM32 cube MX 6.17.0 for Linux.I downloaded here and installed the STM32MP1 OpenSTLinux Developer Package for x86.I turned my terminal from Dash to Bash.I added these lines to my /.bas
Hello,I Installed STM32CubeMX v6.17.0 with STM32MP2 Software Pack 1.3.0.I see that code generated for CA35 differs from the one generated by the previous version of STM32CubeMX v6.16.1. By the diff below I see that 6.17.0 expects Yocto tree version openstlinux-6.6-yocto-scarthgap-mpu-v26.02.18:- model = "STMicroelectronics STM32MP257F-DK STM32CubeMX board - openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11"; + model = "STMicroelectronics STM32MP257F-DK STM32CubeMX board - openstlinux-6.6-yocto-scarthgap-mpu-v26.02.18"; These are not the only differences between CubeMX versions, there are more in the .dts/dtsi definitions.In the Project Manager window I see that the OpenSTLinux Manifest version is set to openstlinux-6.6-yocto-scarthgap-mpu-v26.02.18.However I'm not planning to switch to Yocto openstlinux-6.6-yocto-scarthgap-mpu-v26.02.18 just now.Is it possible to use CubeMX v6.17.0 with the older Yocto tree version openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11? Regards
We are pleased to announce that STM32CubeIDE 2.1.0 release is available. What is new in 2.1.0: Added support of STM32C5 series Added support of new microcontrollers across the STM32WBA, STM32WL, STM32H5, STM32U3 and STM32F7 series Added support of new boards: NUCLEO-C542RC, NUCLEO-C562RE, NUCLEO-C5A3ZG, NUCLEO-WBA25CE1, NUCLEO-H5E5ZJ, STM32H5F5J-DK, and NUCLEO-U3C5ZI-Q Support of auto-refresh on imported projects (created initially outside CubeIDE): The updated project source code is auto refreshed at STM32CubeIDE side Support of CMake presets: Providing an easy way to configure the CMake-based project using a JSON file Support of GCC 14 toolchain as default toolchain: Libncurses5 is no longer needed for GDB on Linux Support of Apple® Silicon with ARM64 architecture: Performance enhancement Update to STARM-Clang 21.1.1: Improving code quality, diagnostics and standards conformance Main fixed issues in 2.1.0: Refer to the STM32 microcontroller wiki at: https://wiki.st
We are pleased to announce that version 6.17.0 of STM32CubeMX is available. What is new in 6.17.0: Added support for new microcontrollers across the STM32WBA, STM32H5, and STM32U3 series Added support for new boards: NUCLEO-WBA25CE1, NUCLEO-H5E5ZJ, STM32H5F5J-DK, and NUCLEO-U3C5ZI-Q Added the Start From Board feature for NUCLEO-U3C5ZI-Q, NUCLEO-H5E5ZJ, and NUCLEO-WBA25CE1 Added support for new features: PLAY on STM32H5 devices with 4 Megabytes of flash memory HSP on STM32U3 devices with 2 Megabytes of flash memory STM32CubeMX Notification Service: allows users to subscribe to notifications, updates, or premium content when downloading or installing STM32 software. The subscription to this service is entirely optional and is not mandatory for downloading or installing the software. Enhanced the memory management tool for the STM32N6 series Implemented the use of the CMake build generator with STM32MP2 projects Enhanced the build process using C
Hello,I'm using the latest STM32CubeMX 6.16.1 (Linux version), and working on a project cloned from the one provided for STM32MP257F-DK.In the Project Manager -> Advanced Settings, there is the "Generated Function Calls" table.If I set checkboxes here, e.g. in the "Do Not Generate Function Calls" column, the generated code reflects the new settings. However, when I reload the project (via "close/open" or just restarting CubeMX), all checkboxes are in their default positions (disabled for all functions in "Do Not Generate Function Calls").The same thing is with the first "Generate Code" column, and re-ordering the calls doesn't save as well.Is there a workaround?A question to STMicro engineers: enabling OpenAMP middleware for STM32MP2 boards fails to build in CubeIDE. Looks like it is a known issue https://community.st.com/t5/stm32-mpus-software-development/stm32mp257f-dk-openamp-no-such-file-or-directory/td-p/786509, is there a plan to fix it in the next release of CubeMX?Thanks!Reg
Hi,In STM32MP25x Reference manual(RM0457), the HSEM_(S)Cnxxx registers all have the description of global access attribute except HSEM_CnIER, as shown of HSEM_CnICR,22.5.4 HSEM non-secure interrupt clear register (HSEM_CnICR)Address offset: 0x104 + 0x010 * (n - 1), (n = 1 to 3)Reset value: 0x0000 0000Register global access: When CID filtering for processor[n] is enabled inHSEM_CnCIDCFGR, this register can be accessed only by the processor CID. An illegalCID access to this register generates a CID illegal access event. When CID filtering forprocessor[n] is disabled this register can be accessed by any bus master.the HSEM_SCnIER also have the description of global access attribute, and the bits of HSEM_CnIER register also have CID filtering access attribute, and all bits maybe could be used by one CID , So if HSEM_CnIER also have the global access attribute?
Hello guys, I am trying to build an SDK for my STM32MP1 project using Yocto (Poky) on Ubuntu 24.04. When I run:bitbake core-image-fridge -c populate_sdkI get the following dependency errors: Problem: conflicting requests- nothing provides libcrypt.so.1()(64bit) needed by nativesdk-gcc-arm-none-eabi-14.2-r0.x86_64_nativesdk- nothing provides libncursesw.so.6()(64bit) needed by nativesdk-gcc-arm-none-eabi-14.2-r0.x86_64_nativesdk- nothing provides libpython3.8.so.1.0()(64bit) needed by nativesdk-gcc-arm-none-eabi-14.2-r0.x86_64_nativesdk- nothing provides libtinfo.so.6()(64bit) needed by nativesdk-gcc-arm-none-eabi-14.2-r0.x86_64_nativesdk I tried to install each one of them and the issues still persist
I'm working on STM32MP257F-DK board. I use a device tree without SD card, only eMMC. I set BOOTDEVICE_LABELS = "emmc" in my machine.conf.When I want to program I have the following error: ~/workspace/ninja/out/release-v0.0.0-16-gcd0ce3d-dirty/images/cg-stm32mp257f-dk-emmc (amo/work)$ STM32_Programmer_CLI -c port=usb1 -w flashlayout_cg-image-core/optee/FlashLayout_emmc_stm32mp257f-cg-stm32mp257f-dk-emmc-mx-optee.tsv ------------------------------------------------------------------- STM32CubeProgrammer v2.21.0 ------------------------------------------------------------------- USB speed : High Speed (480MBit/s) Manuf. ID : STMicroelectronics Product ID : DFU in HS Mode @Device ID /0x505, @Revision ID /0x2000 SN : 004500464236501300333258 DFU protocol: 1.1 Board : -- Device ID : 0x505 Device name : STM32MP23xx/25xx Device type : MPU Revision ID : -- Device CPU : Cortex-A35 Start Embedded Flashing service Opening and parsing file: tf-a-stm32mp257f-cg-stm32mp257f-dk-
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.