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
Hi,based on the information I get from the schematic of the STM32MP257-DK development board, I'm trying to develop a small embedded board that comes with much less interfaces and therefore is much smaller than this development kit board. Namely it will come with USB, Ethernet, SD-Card, eMMC and a big connector which forwards the different other signals to a daughterboard.So far no problem, but I stumble upon the STPMIC25APQR PMIC and its huge load of components. On the current layout it has12 voltage lines6 inductorsloads of large capacitorsThis all consumes that much space, that it in no way fits to the space which is available for this embedded board.So my question: is there an alternative PMIC/an alternative wiring of the STM23MP257 available which does not need that much separate voltage lines and therefore does not need all these additional, space-consuming external components?Any hint and idea is welcome :)ThanksMike
Hello,I'm trying to configure a STM32MP135DAE in STM32CubeMX and running into problems trying to enable the ETHx_PPS_OUT pins in the configuration.For both ETH1 and ETH2, the "ETH PTP_Synchro PPS_OUT" box is grayed out with an error of:"ETH PTP_Synchro PPS_OUT Disabled: available only if one ETH Mode is enabled and if TIM2 or TIM3 is enabled with Slave Mode enabeld and ETR as Trigger Source or if FDCAN is enabled"Attempting to enabel TIM3 as desribed is not possible. Trigger Source of ETR1 is not selectable with an error of:"ETR1 Conflict with: SDMMC1: Mode SD 4 bits Wide bus or/and ETH! : Mode RGMII (Reduced GMII)"This is with STMCubeMX 6.14.0
The kernel is complaining that the specified root partition (identified by the PARTUUID) is not found or isn’t valid, and this is happening at the kernel level rather than in U‑Boot. In other words, U‑Boot is simply passing the kernel command line (which includes something like:root=PARTUUID=e91c4e10-16e6-4c0e-bd0e-77becf4a3582) to the kernel, and then the Linux kernel itself is trying to locate that partition during its mounting phase.please find the boot logs attached.
So first of all I'm working on creating a yocto image for this board.https://www.seeedstudio.com/Odyssey-MP135D-eMMC-p-5728.htmlMy end goal is to create a meta-layer with an easy to follow yocto quick start guide for this board similar to the one Seeed Studio has for the stm32mp157 variant of their dev board here:https://github.com/Seeed-Studio/meta-st-odyssey/tree/masterI'm not associated with Seeed studio, I'm just doing it because it relates to one of my current projects and think something like this would make this board more useful and approachable.I started by following this guide to get my yocto environment set up to use st's latest branch (mickledore).https://wiki.st.com/stm32mpu/wiki/STM32MP1_Distribution_PackageNext I patched the linux-stm32mp, optee-os-stm32mp, tf-a-stm32mp, and u-boot-stm32mp recipes to contain Seeed studio's device trees for the board located here.https://github.com/Seeed-Studio/stm32mp1-manifestThere were various issues to work out getting arm trust
Hello guys,As per the subject, where can i find a guide about starting new OPTEE port? Unfortunately i didn't find anything descriptive enough in the WIKI. Being stm32mp151c additionally complicates the matter as all supported platforms are '157x. As far as i can tell these aren't interchangeable and i've run into a lot of issues.I am trying to make do with 'opteemin' version of TF-A and OPTEE, and i get as far as:```I/TC: Early console on UART#4I/TC:I/TC: Embedded DTB foundI/TC: OP-TEE version: 4.0.0-stm32mp-r1-1-g70cd98575f5f-dev (gcc version 13.3.0 (GCC)) #6 Wed Apr 2 09:12:25 UTC 2025 armI/TC: WARNING: This OP-TEE configuration might be insecure!I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.htmlI/TC: Primary CPU initializingI/TC: RCC is non-secureI/TC: Platform stm32mp1: flavor PLATFORM_FLAVOR - DT stm32mp151c-xxx.dtsI/TC: OP-TEE ST profile: system_servicesE/TC:0 0 probe_dt_drivers:902 Probe sequence result: 0x8
We are pleased to announce that STM32CubeProgrammer 2.19 is available What is new in 2.19: Support for the STM32WBA6xxx microcontrollers: Internal memory programming Option byte/OTP programming RDP regression with password SFI support Support for MCE Noekeon encryption for STM32H7R3/7S3 and STM32H7R7/7S7 microcontrollers Performance enhancement: support for incremental programming Support for endianness management in automatic serial numbering Added key wrapping using coupling and chaining bridge (CCB), supporting DUA key, for the STM32U3series microcontrollers Support for flash programming via J-Link for the STM32WB0 series microcontrollers X-CUBE-RSSe and STM32MPUSSP-UTIL packages install and update from server Support for multiple boards for debug authentication Main fixed issues in 2.19: Refer to the STM32 microcontroller wiki at:https://wiki.st.com/stm32mcu/wiki/STM32CubeProgrammer_errata_2.19.0 Known problems and limitations in 2.19: Refer to the STM32 microcontroller
Executed from the linux tree root where the kernel was build fromThe dts was placed in the arch/arm/boot/dts/st/ folder. {STM32MP_PROJECT} is the filename (and hardcoding the dt filename gives the same result)Followed the wiki and the kernel HOWTO readme (both have different instructions)https://wiki.st.com/stm32mpu/wiki/How_to_compile_the_device_tree_with_the_Developer_Package make V=1 ARCH=arm st/stm32mp157a-dk1.dtb LOADADDR=0xC2000040 O="${OUTPUT_BUILD_DIR}" OK make V=1 ARCH=arm st/${STM32MP_PROJECT}.dtb LOADADDR=0xC2000040 O="${OUTPUT_BUILD_DIR}" FAILS make ${IMAGE_KERNEL} O="${OUTPUT_BUILD_DIR}" KBUILD_EXTDTS="${EXTDT_DIR}/linux" ${STM32MP_PROJECT}.dtbFAILS The error reported is No rule to make ... etc..Since ECO 6.0 boards are now in subfolders under configs. ST's dt's in the same folder compile fine. The file is there with the correct name. Make/Makefile seems to execute some kind of scripts which i can't follow. Perhaps custom DT's not in the
We are pleased to announce that the release 1.18.0 of STM32CubeIDE is available. What is new in 1.18.0: Microcontrollers, microprocessors, and board lists aligned with STM32CubeMX 6.14.0: Added the support for STM32WBA6xxx microcontrollers in the STM32WBA series Eclipse® updated to 2024-09 and CDT updated to 11.6.1: Gives the possibility to install the Copilot4Eclipse (Copilot for Eclipse) plugin Updated to GCC 13 as default toolchain Multiple old toolchain version will no longer be supported: GNU ARM GCC7, GNU ARM GCC9 and GNU ARM GCC10 without ST layer GNUTOOLS FOR STM32 GCC7 with ST layer Added the support for Fedora® 41 Main fixed issues in 1.18.0: Refer to the STM32 microcontroller wiki at:STM32CubeIDE:STM32CubeIDE errata 1.18.x - stm32mcu Known problems and limitations in 1.18.0: Refer to the STM32 microcontroller wiki at:STM32CubeIDE:STM32CubeIDE errata 1.18.x - stm32mcu How to get STM32CubeIDE 1.18.0: Under this link Or update your current insta
question no longer required
Hi everyone. I'm tasked with porting ST's most recent TF-A, u-boot and kernel to a custom stm32mp151c-based board. It runs 2021 version of the above SW components just fine.It seems, however, that at some point the device-tree bindings changed and i can't just use the old DT in the latest TF-A. I banged into shape the i2c section so TF-A can see STPMIC, regulators, etc. and it worked. Up to the point:INFO: RAM: DDR3-DDR3L 16bits 533000kHzERROR: DDR addr bus test: can't access memory @ 0xc0000004I've put some debug printouts so i know the RAM size is properly read from DT. The puzzling bit is that stm32mp_ddr_test_data_bus() passes successfully, while stm32mp_ddr_test_addr_bus() doesn't.As i said, this board has been used in production environment for about four years now and most certainly don't have issues with the RAM. This is software issue and if somebody can point me to whatever change in TF-A and/or its DT could have caused that, would be
I built an st-image-weston by using yocto recipes. The layers is in oe-manifest branch scagraph (https://github.com/STMicroelectronics/oe-manifest) I got those warning, please help to fix it. WARNING: st-image-weston-1.0-r0 do_create_flashlayout_config: >>> Cannot generate FlashLayout_board_stm32mp157f-dk2-deleteall.tsv file: the arm-trusted-firmware/tf-a-stm32mp157f-dk2-optee-programmer-usb.stm32 binary for fsbl-boot partition is missing in deploy folderWARNING: st-image-weston-1.0-r0 do_st_write_license_create_summary: IMG LIC SUM: File does not exist with open file /mnt/DATA0/LEAPS/YOCTO_BSP/build-openstlinuxweston-stm32mp15-disco/tmp-glibc/deploy/licenses/stm32mp15-disco/st-image-weston-openstlinux-weston-stm32mp15-disco.rootfs-20250207084859/image_license.manifestWARNING: st-image-weston-1.0-r0 do_st_write_license_create_summary: IMG LIC SUM: File does not exist with open file /mnt/DATA0/LEAPS/YOCTO_BSP/build-openstlinuxweston-stm32mp15-disco/tmp-gli
hi there I have a question about Memory 。Are the memory regions starting at 0x10000000 and 0x30000000 part of the same mapped area?Are these addresses written the same way in the device tree, or is there a difference between them?thanks,csm
I keep getting error for file functions that are not included in my program. I have not "included" any file function libraries. An example of this: D:/STMicro/STM32Cube/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.0.202411081344/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe: D:/STMicro/STM32Cube/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.0.202411081344/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/thumb/v6-m/nofp\libc_nano.a(libc_a-closer.o): in function `_close_r': (.text._close_r+0xc): warning: _close is not implemented and will always fail D:/STMicro/STM32Cube/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.0.202411081344/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe: D:/STMicro/STM32Cube/STM32CubeIDE/plugins/com.s
Hi,just a quick question to understand the hardware of the STM32MP257 development kit board: there are several ESD-protection components of type HSP051-4M10 used.What is the exact purpose of them, are they therea) because the DK-board is intended to be touched by users and therefore there is some higher danger these users kill that board with some electrostatic discharge when touching itb) because this type of device is recommended to be used in general due to some components being unusual sensitive against ESD (for an example, at the RasPi I think no such protection is used)c) something else?Thanks for sheding some light on this :)
STM32MP are not microcontrollers - so moved to the MPU section.Hi,How can I flash a CubeMX generated project to STM32MP257F-DK microcontroller?Do I have to generate a custom Yocto image with custom device tree, where I load the CubeMX generated device tree? Or is there any other easier ways to do it?
Hi, I am working with an STM32MP157CAA Rev.Z on a custom STM32CubeMX board running OpenSTLinux 6.6 (Yocto Scarthgap MPU v24.11.06). I have successfully integrated and bootstrapped various boot components.I first got the TF-A and OPTEE to boot the system and now it is also able to bring up the uboot. However, while trying to boot up the uboot gets into an "secure mode execution errors". I am not sure where it is coming from? We have hash-and-boot-options_hash-and-boot-options.bin flashed into the OTP area. Is that something could potentially lead to this type of issue? BL2 (TF-A) LoadingBL2 (TF-A) executes as expected and starts platform initialization.The board is in trusted mode, and secure boot appears to be enabled.Below are the logs confirming BL2 is executing: NOTICE: CPU: STM32MP157CAA Rev.Z NOTICE: Model: STMicroelectronics custom STM32CubeMX board - openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06 NOTICE: BL2: v2.10-stm32mp1-r1.0(release) NOTICE: BL2: Buil
Hi all,I am trying to get 8th programming language fully working on OpenSTLinux. Currently, it almost fully works, including KMSDRM and Wayland backend suppport using SDL3 for Nuklear based GUI.There seems to be some problem using FFI and libc. "libc.so.6" lib libc libc drop "ZZ" "getenv" func: getenv "VZ" "chdir" func: I:_chdir : chdir f:expand-home I:_chdir ;I have tested that 'libc.so.6' seems to get loaded:Stack depth: 1 0 X: 0000ffff832e6340 3 X:3:0000ffff832e6340:7:7:0000ffff83c11b10 But when I try to use 'chdir' word, 8th silently gets killed without displaying any error message. I have 8th fully working on STM32MP157 based board running Debian, so I am puzzled.Any ideas?
Hi,I'm trying to add external out-of-tree module in developer package. (following wiki)After following wiki, I got error message in board(STM32MP157F-DK2) like this. modprobe: ERROR: could not insert 'kernel_module_example': Exec format error There was a difference with wiki while proceeding according to wiki's explanation.In wiki, the "kernel_module_example.ko" is generated in [install_artifact/lib/modules/"<kernel version>"/extra/].But, my .ko file is generated in [install_artifact/lib/modules/"<kernel version>"/updates/] Is there anything else I need to do to add external out-of-tree module? - Ubuntu version (PC) : ubuntu 20.04 lts- Board : STM32MP157F-DK2- source code version : 24.11.06 (stm32mp1-openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06) Thanks.Regards, Youngjun.
Hi,on the STM32MP257-DK board, the wires between the MPU and the RAM have an interesting shape:What is the reason for these non-direct wires? Have the same length for all the wires? Shielding? Some noise-thingy?Thanks!
Hi,I'm aware of the manual from https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP157x-DK2/Let%27s_start/Populate_the_target_and_boot_the_image but it does not solve my problem as it seems to be completely faulty:different to the description, not USB has to be choosen as connection but UARTwhen downloading, there is never a completion-message but it always ends up with an timeout (no matter what image I try)at the end, it comes up with an error message "Partition 0xBB not found in TSV file"the resulting SD-card obviously has not changed at all after this cycleSo where can I get an image for the Sd-card that can be copied with a simple imager or the dd-command from Linux instead of following this non-working, complicated procedure?
Hallo,I have bought STM32MP135F-DK - Discovery kit and I was working with it few days. I don't know what happened, but today the kit will not work properly - I think the image on SD card is corrupted, some files might by changed or deleted, so I see only intro screen and then nothing else happens.So - here is the question - how to get/download the image of system similar, like that delivered with DK? (There was microSD card with it). Regards, Paul
I have made a custom board with stm32mp135f and now trying to build linux for the custom board.I followed https://wiki.st.com/stm32mpu/wiki/How_to_create_your_own_machineand then run:bitbake core-image-minimaland after 98% got the following error:""ERROR: tf-a-stm32mp-v2.10.5-stm32mp-r1-r0 do_compile: oe_runmake failedERROR: tf-a-stm32mp-v2.10.5-stm32mp-r1-r0 do_compile: ExecutionError('/home/linux/platformer/Distribution-Package/build-openstlinuxweston-stm32mp13-platformer/tmp-glibc/work/stm32mp13_platformer-ostl-linux-gnueabi/tf-a-stm32mp/v2.10.5-stm32mp-r1/temp/run.do_compile.1006910', 1, None, None)ERROR: Logfile of failure stored in: /home/linux/platformer/Distribution-Package/build-openstlinuxweston-stm32mp13-platformer/tmp-glibc/work/stm32mp13_platformer-ostl-linux-gnueabi/tf-a-stm32mp/v2.10.5-stm32mp-r1/temp/log.do_compile.1006910Log data follows:| DEBUG: Executing python function check_cubemx_extdt| DEBUG: Python function check_cubemx_extdt finished| DEBUG: Executing shel
Hello, I am trying to get the X-LINUX-ISP expansion installed onto a MP257-DK board. I can not connect the board to a network at this time, so I have resorted to trying to build a distribution following the instructions here. When I run bitbake, patches start to be applied and one of them fails, as shown here: patch already applied I am not familiar with build system being used here and have been unable to figure out where it is being given a list of patches to apply so that I can try and prevent the patch from being applied multiple times. I did attempt renaming the patch file to try and keep it from being found and applied, but that did nothing. I have been unable to find any series file that the Quilt command may be using. If anyone could please point me in the right direction on what I need to do to avoid this error, that would be appreciated. I am also curious about creating a distribution that will be flashed to eMMC. All the tutorials on the wiki assume the user is fine wi
Hello. I am struggling to get my codec to work. I am using MAX9860 codec.The MAX9860 driver fails during probing, since the MCLK rate is registered as 0.I get the following error:[ 15.465445] max9860 1-0020: Bad mclk 0Hz (needs 10MHz - 60MHz)[ 15.481832] max9860: probe of 1-0020 failed with error -22 This is the piece of the driver that causes the error:/* * mclk has to be in the 10MHz to 60MHz range. * psclk is used to scale mclk into pclk so that * pclk is in the 10MHz to 20MHz range. */ max9860->mclk_handle = clk_get(dev, "MCLK"); if (IS_ERR(max9860->mclk_handle)) { ret = PTR_ERR(max9860->mclk_handle); dev_err_probe(dev, ret, "Failed to get MCLK\n"); goto err_regulator; } mclk_rate = clk_get_rate(max9860->mclk_handle); clk_put(max9860->mclk_handle); if (mclk_rate > 60000000 || mclk_rate < 10000000) { dev_err(dev, "Bad mclk %luHz (needs 10MHz - 60MHz)\n", mclk_rate); ret = -EINVAL; goto err_regulator; } This is my d
Hi,I'm trying to run the whole ST-Linux-stuff on one core only to have the other one available for a time-consuming application. However, it seems the kernel-parameter isolcpus is not used, dmesg gives an output[ 0.000000] Kernel command line: root=PARTUUID=e91c4e10-16e6-4c0e-bd0e-77becf4a3582 rootwait rw earlycon console=ttySTM0,115200 isolcpus=0 [ 0.000000] Unknown kernel command line parameters "isolcpus=0", will be passed to user space. [ 2.309368] isolcpus=0The message is correct, also with this parameter set, the processes are spread over all cores.What could be the problem here? Thanks!
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.