Get ready for the STM32 Summit 2026 | Online, November 3
Join conversations with your peers and ST experts. Explore the full potential of STM32 microprocessors for your embedded design.
Most recent activity
STM32MPU ecosystem minor release V4.1.1 is online ! Dear STM32 MPU Community, We are please to announce that New MP1 Ecosystem minor release V4.1.1 is available. It contains : Update to Yocto Project 4.0.11 (2022-04.11-kirkstone) Update to Linux Kernel 5.15.118 BSP maturation with an amount of 49 fixes delivered BSP components (TF-A, u-Boot, OP-TEE and Linux Kernel) Please check out the STM32_MPU_ecosystem_release_note_-_v4.1.1 on STM32 Wiki Ecosystem-V4 to get the complete description and the new download links. This minor release integrates several fixes in (TF-A, u-Boot, OP-TEE and Linux Kernel)and all the updates included by switching from Linux Kernel 5.15.67 to 5.15.118. We recommend to everyone working on Ecosystem v4.1.0 to switch on this minor release. Of course, the current wiki V5 and the previous ecosystems are still available : Ecosystem-V5-Wiki Ecosystem-V3-Wiki Ec
Hello,I would like to setup environment for STM32MPU according this instruction:https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP157x-DK2/Develop_on_Arm%C2%AE_Cortex%C2%AE-A7/Install_the_SDKso I downloaded the SDK .tarhttps://www.st.com/en/embedded-software/stm32mp1dev.html#get-software/SDK-x86_64-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15.tar.xzand run the script and got an error./st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-4.0.1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15.sh Extracting SDK............................................................................................................................................................................................................................done Setting it up...xargs: file: No such file or directory sed: no input files Failed to replace perl. Relocate script failed. Abort!I run this script in docker based on ubuntu. All necessary packet installed.FROM ubun
I am familiar with the STM32 MCU:s and now I try to learn some around the Linux MPU:s.I am looking for a simple pheripheral application example on how to control e.g some GPIO:s from inside Linux using the STM32CubeMX and STM32CubeIDE.Any hints?Thanks
I am using the STM32MP157x-DK2 discovery board and building the qt-example image.During boot the ST splash screen is displayed on the LCD as things get underway. I replaced the .bmp with one of my own , horizontally oriented, and it was presented portrait style. I changed the orientation and it still rotated to portrait. If I am reading things correctly it appears that the format of the bmp is incorrect as importing the original bmp into a tool like photoshop and resaving it destroys it and it is no longer displayed. I am also convinced that the OS is setting the display into a 480x800 portrat mode rather than 800x480 landscape and for the life of me I can't find how to change this.Is there a description of how the thread of drivers and configs go together to allow me to set the orientation?My application also uses a QT based web display which sees the LCD as portrait ( I want landscape ) so it must be right at the bare metal level that my build is 'wrong'.
flashlayout tsv file not generated using meta-st-stm32mp-addons but images created.What do I need to add to generate the Flashlayout for sdcard?
There are many questions around related to the DCMI and embedded syncs on various forums. ST's documentation is not very helpful in this regard and I could not find any meaningful solutions on the web. I had a similar issue using STM32MP157 - unfortunately discrete syncs for the DCMI are not available on our CPU board so I had to make it work no matter what. The good news is it does work and works well but there are some things to take note of. Here is a rundown on what needs to be done.The reference manual is a bit terse on what needs to be done but gives a hint or two.DCMI_ESUR=0xFFFFFFFF; DCMI_ESCR=0xB69D80AB;If you are happy with capturing just one field - set ESCR either to odd or even field codes as you desire. If you need both fields then set DCMI_ESUR=0xB0B0B0B0 so it ignores the field bit.Enable DCMI interrupts for HSync and VSync - you can ignore the rest. In your interrupt count the 0x18 and 0x10 states of MIR before you clear the flags. The sum of both gives you the nu
Hi,I have working on STM32MP157C-DK2 Board and after application of 8KV ESD strike on USB Shield, the DSI Screen Goes off completely (Discharging on Ground only). To verify the issue I have applied the same strike on a custom board consisting of STM32MP157CAC3 and SN65DSI83 to display video out. Same thing happening. After little bit of probing I found that DSI clock is working fine and Data lines are also toggling but there are lots of EOT,ECC errors.In this case if I set the MPU to sleep mode using command " echo mem /sys/power/state " and then wake using PMIC Wake Key Press then the DSI signal again start working perfectly and ECC and EOT error goes off. What could be the reason for this behavior? How can I solve this. We are waiting for mass production of our device just because of this issue as the ESD testing is failing.Kindly help us solving this issue.Kernel : 5.10.10Yocto Build : Dunfell
WORKING:> sudo java -jar SetupSTM32CubeProgrammer-2.11.0.exeFAILS> sudo java -jar SetupSTM32CubeProgrammer-2.12.0.exeCompletely uninstalled JAVA, then reinstalled - no change.Reviewed several community posts, no solution yet.Environment: macOS Big Sur
I am trying to port a FW which was running on STM32H7 controller to F4 core of STM32MP157.I get this errorsCM4.elf section `.text' will not fit in region `SRAM1_text' CM4 C/C++ Problemmake: *** [makefile:68: CM4.elf] Error 1 CM4 C/C++ Problemregion `SRAM1_text' overflowed by 1073768 bytes CM4 C/C++ Problemregion SRAM1_text overflowed with text and data CM4 C/C++ Problemsection .data VMA [0000000010020000,0000000010020327] overlaps section .text VMA [0000000010000000,0000000010124003] CM4 C/C++ ProblemHow to over come this problem, is it possible to change the allocated RAM for M4 code?
Hi,I have an stm32mp157d-dk1 board, for which I am building the core-image-minimal image within the poky (Dunfell) distribution. Other than adding the "meta-st-stm32mp" layer I have not made any ST related customisations.I am trying to launch a custom elf file from the bootloader, following section 3.2.1 of the guide: How to start the coprocessor from the bootloader I am running into a few issues:1. If I simply modify CONFIG_EXTRA_ENV_SETTINGS as suggested I cannot flash the SD card:That is, if I modify CONFIG_EXTRA_ENV_SETTINGS so that it becomes (I added some additional print-out, that I do not believe is causing my situation): #define CONFIG_EXTRA_ENV_SETTINGS \ "stdin=serial\0" \ "stdout=serial\0" \ "stderr=serial\0" \ "kernel_addr_r=0xc2000000\0" \ "fdt_addr_r=0xc4000000\0" \ "fdtoverlay_addr_r=0xc4100000\0" \ "scriptaddr=0xc4100000\0" \ "pxefile_addr_r=0xc4200000\0" \ "splashimage=0xc4300000\0" \ "ramdisk_addr_r=0xc4400000\0" \ "altbootcmd
Hi,I am using the stm32mp157f-dk2, I'm using the core-image-minimal image and i'm trying to create a custom image. However, I would like to increase the rootfs size in order to add modules in the root filesystem once the kernel starts. I tried modifying the file /meta-st/meta-st-stm32mp/conf/machine/include/st-nachine-common-stm32mp.incIMAGE_ROOTFS_MAXSIZE ?= "2017660"Then, i tried to modify the /meta-st/meta-st-stm32mp/recipes-devtools/sdcard-raw-tools/sdcard-raw-tools/create_sdcard_from_flashlayout.sh file, just as the post DEFAULT_RAW_SIZE=4096 DEFAULT_ROOTFS_PARTITION_SIZE=2097152I also modified the local.conf fileIMAGE_ROOTFS_EXTRA_SPACE = "1008830"The problem i'm expecting is, the image built, but I see this message at the end of the build processWARNING: quoia-custom-1.0-r0 do_create_flashlayout_config: >>> Cannot generate FlashLayout_sdcard_stm32mp157f-dk2-trusted.tsv file: the st-image-userfs-poky-stm32mp1.ext4 binary size (1167261696) for userfs
I am trying to configure some HW IP to work with the M4 core of the STM32MP157, I can find only the GPIO already assigned to other IPs ont he development Kit.How to configure GPIO's and configure interrupts related to SPI DMA from the M4 side?Attached is a screenshot for the available GPIO's on CubeMX.
HelloIn the new version of Yocto release mickedore, SIGN_TOOL variable needs to be specified to sign TF-A binary which should corresponds to STM32CubeProgrammer signing tool https://wiki.st.com/stm32mpu/wiki/Signing_toolPractically, how can we set the the variable to the STM32CubeProgrammer signing tool? Is there a Yocto recipe native that include this tool?https://github.com/STMicroelectronics/meta-st-stm32mp/blob/mickledore/recipes-bsp/trusted-firmware-a/tf-a-stm32mp.inc#L296Thanks
Hi,I bought two same board and use one to test.After upgrade stlinux on this testing board, the cpu it can recognize is only one when the other one can recognize it two.could you give me a guide to fix it and why this happened?Thanks.
I have STM32MP157A-DK1 boardI am using distribution package.I want to add c++ library based on cmake to my distribution.I crated the recipe using commanddevtool add --no-same-dir ../pass/to/mylibThen build usingbitbake mylibThe build is done but I get this error bu do_package_qa"do_package_qa: QA Issue: -dev package mylib-dev contains non-symlink .so '/usr/lib/mylib.so' [dev-elf]"what is the reason for such error and how to overcome it?ThanksHossam
I have a custom board with a stm32mp151c and 256M DRAM.Trying to get optee 3.12 from ecosystem 3.0.0 to start.Everything works fine with tf-a 2.4-r1 and sp_min, u-boot 2020.10 etc.But I can't get optee to start. I've enabled a high loglevel and the last print I get from optee is:...I/TC: Pager is enabled. Hashes: 2208 bytesThen everything goes quiet. No stacktrace, fault, or anything else. Just "dead".To me, this looks like some very basic issue with DRAM sizes etc. But I can't say for sure.My dts looks correct with memory regions and declarations.But I noticed that in the build conf.mk was getting some weird stuff.CFG_DRAM_SIZECFG_SHMEM_STARTCFG_TZDRAM_STARTThese three had some wonky values for a 256M board. And they seem to be used?So my conclusion is that it does not suffice to set dts properties for optee, some tweaking of platform memory sizes (looks like there are options for 512M 1G etc, but not 256M) needs to be done.Anything else that needs to be fixed for a 256M board?Maybe t
When porting applications from single core M4's equipped with FLASH, the RAM associated with M4 in MP1 is supposed to cater for both RAM and former FLASH needs. It won't fit. How to overcome this if M4 code/data size cannot be reduced?
We are using the STM32MP157AABx device in our project and updating to the v5.0 Ecosystem and STM32CubeMX v6.9.0.When we generate our device tree files, the optee-os device tree tries to include:#include "stm32mp15xxab-pinctrl.dtsi"This file is not found in the optee-os-stm32mp v3.19.0 source tree referenced in the v5.0 Ecosystem.I have had to manually modify the dts to include:# include "stm32mp15xxac-pinctrl.dtsi"This is the closest match, but not equivalent to the number of gpio banks in the AABx package.Is this an issue with optee-os-stm32mp source code, the CubeMX tool, or user error in our configuration?
Doing a build using yocto mickledore it fails with this error message.CMake Error at host/xtest/CMakeLists.txt:3 (include): include could not find requested file: ... /tmp-glibc/work/osd32mp1_brk-ostl-linux-gnueabi/optee-test/3.19.0+gitAUTOINC+ab9863cc18-r0/recipe-sysroot/usr/include/optee/export-user_ta/host_include/conf.cmakeThe kernel is built correctly but it fails on building optee-test.It seems that the directories and files in export-user_ta are not auto-generated. What bitbake configuration makes this happen?
..
Hello, I am currently researching about possibilities in STM32MP1 dual core. I am trying to create user program that uses HW Semaphore. I used program from wiki:https://wiki.st.com/stm32mpu/wiki/Hardware_spinlock_overview.and makefile described here:https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP157x-DK2/Develop_on_Arm%C2%AE_Cortex%C2%AE-A7/Create_a_simple_hello-world_applicationwith including builded linux kernel 5.15.67.But I can't build program, because of numerous errors. I was trying to resolve some of errors by including them hard-coded way into user space program, but I think, that is not the correct way to fix these errors. How to properly build program including kernel files? Is there any include to be included when using kernel files? Or any other makefile switch? See attached files...Thanks for any tips.Some of compile errors:Original post (with less description):https://community.st.com/t5/other-tools-mpu/stm32mp1-build-user-program-with-hwspinlock
I tried to add development tools to my openSTLinux using apt-get install, but couldn't find gcc.so I tried to create a distribution including gcc, make, cmake and git.When I search for available recipes for gcc usingfind ../layers/ -iname "*gcc*.bb"I get the following list of gcc tools../layers/meta-st/meta-st-stm32mp/recipes-devtools/gcc-arm-none-eabi/gcc-arm-none-eabi-native_11.bb../layers/meta-st/meta-st-stm32mp/recipes-devtools/gcc-arm-none-eabi/nativesdk-gcc-arm-none-eabi_11.bb../layers/openembedded-core/meta/recipes-devtools/gcc/gcc-cross-canadian_12.2.bb../layers/openembedded-core/meta/recipes-devtools/gcc/libgcc-initial_12.2.bb../layers/openembedded-core/meta/recipes-devtools/gcc/gcc-cross_12.2.bb../layers/openembedded-core/meta/recipes-devtools/gcc/gcc-crosssdk_12.2.bb../layers/openembedded-core/meta/recipes-devtools/gcc/gcc-sanitizers_12.2.bb../layers/openembedded-core/meta/recipes-devtools/gcc/gcc_12.2.bb../layers/openembedded-core/meta/recipes-devtools/gcc/libgcc_12.2.bb../
We are using STM32MP13 with Linux for the A7 and using HAL (no OS) for the M4 Coprocessor. In Linux we configured in device tree the I2S (codec and sound are also configured in device tree). &i2s1 { clocks = <&rcc SPI1>, <&rcc SPI1_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>; clock-names = "pclk", "i2sclk", "x8k", "x11k"; pinctrl-names = "default", "sleep"; pinctrl-0 = <&i2s1_pins_audio &i2s1_pins_z_audio >; pinctrl-1 = <&i2s1_sleep_pins_audio &i2s1_sleep_pins_z_audio >; status = "okay"; dmas = <&dmamux1 38 0x400 0x01>; dma-names = "tx"; i2s1_port: port { i2s1_endpoint: endpoint { remote-endpoint = <&codec_corscience_endpoint>; format = "i2s"; }; }; }; At M4 this was done using CubeIDE for the SPI3 and SPI4. These ports are working but as soon we play a sound using aplay the SPI3/4 hangs.
Isn't there a script file for generating RAW images for eMMC like the "create_sdcard_from_flashlayout.sh" file for generating RAW images for SD?Also, why is SD memory mapping different from eMMC memory mapping?
Hello,I am in process of designing my own STM32MP1 powered device. I was wondering if I can use STLINK-V3MODS as a drop in replacement for ST-LINK/V2-1 in STM32MP157-EVAL reference design. I need the Virtual COM interface embedded in device.-Mark
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.