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
how to setup qt creater application for STM32MP157f-Dk2 board , and where is the location of the toolchain location and how to setup qt version .
Hi,I have seen this post: https://community.st.com/t5/stm32-mpus-embedded-software-and/how-to-clear-the-default-st-image-userfs-remove-examples-and/m-p/735819#M4265 and added to my st-image-userfs.bbappend:PACKAGE_INSTALL:remove = "m4projects-stm32mp1-userfs"PACKAGE_INSTALL:remove = "linux-examples-stm32mp1-userfs"PACKAGE_INSTALL:remove = "packagegroup-st-demo"My machine has:M4_BOARDS = ""M4COPRO_LIST = "m4fwcoredump"I want to keep the "coredump" features. I have noticed though, that now the userfs gets populated with bin, etc,var folders - which were not present before. I can't track it down, how to get rid of those or how they are cleaned by m4project recipes. Any hint?
I'm trying to somehow pass information about tampering event from OP-TEE to Linux userspace by means of Tamper Backup registers but I seem to have a problem.I added this to kernel dts:&nvram { my_free_backup_register: tamp-bkp@c4 { reg = <0xC4 0x4>; }; }; &usart2 { // Other stuff before nvmem nvmem-cells = <&my_free_backup_register>; nvmem-cell-names = "my_backup_register"; };I tried to write to that register from OP-TEE function stm32_tamp_etamper_action using io_write32 function. Then I'm trying to read that register from OP-TEE immediately after the write and looks like the register has not been written to.Also, in Linux userspace in /sys/bus/nvmem/devices/ I can see stm32-tamp-nvram0 but when I hexdump its nvmem file it's just a bunch of zeroes. I can't seem to find that nvmem-cells in usart2 either.
The UM2238 is outdated. From version 2.17.0 of Trusted Package Creator. SSP -> "Secret Gen has" changed. Please update the document for usage. https://www.st.com/resource/en/user_manual/dm00403513-stm32-trusted-package-creator-tool-software-description-stmicroelectronics.pdf
Hi there,I'm working on a STM32MP135 project.I'd like to see some information on the Build Analyzer and/or Static stack analyzer but they always report the grids empty.The project is compiled with the -fstack-usage and debualt Debug level (-g).I checked that for each source files of the project are generated the .cyclo, .su, .d and .o files in the Debug directory.The analyzers windows do not have a button to associate the project: but it seems not to be a problem with the latest relases.So, why I cannot browse the analyzers data? Version: 1.19.0Build: 25607_20250703_0907 (UTC) Thanks, regards
Hi everyone, I am new to STM32 circuits currently I am studying M33 on MP257F. I am following the tutorial on Trusted Firmware M and after following the tutorial the IDE tells me that this file is missing. I would like to ask how to find it. Do I need to create a file myself??
Hi. I am trying to connect iPhone 14 (lightning port) to OTG (CN15) on STM32MP257F-DK, but there is no connection.iPhone 14 is not charged. No USB connection is shown on iPhone.On the board:`lsusb` does not show any new connection.`dmesg` does not show any new log, like there is no new cable plugged at all.The lightning-to-C cable has been tested with other devices and works fine.iPhone 16 (type-C port) can connect to OTG to be charged and do USB tethering just fine.I am already using the newest kernel 6.6.78 from https://github.com/STMicroelectronics/linux, branch "v6.6-stm32mp".So I would like to confirm if OTG on STM32MP257F-DK support lightning connection or not. Thank you.
Hi,I’m working with an STM32MP157D-DK1 board and attempting to connect to it using STM32CubeProgrammer. The board is powered properly (measured voltage: 3.23V) and ST-LINK is recognized by the software.However, the debugger is unable to detect the Cortex-M4 core. I suspect the issue is that Linux is still holding the M4 core in reset, preventing the debug probe from halting or accessing it.Does that sound like a reasonable cause? If so, could you please advise on the correct steps to release the M4 from reset and enable debugging access?For context, I’ve already tried multiple combinations of ST-LINK connection settings (mode, reset mode, frequency), but none were successful.Thank you for your help!
I am facing an issue where USB Ethernet (RNDIS/ECM) is not detected on my board using the RT version of OpenSTLinux. Previously, using the standard OpenSTLinux build:meta-st-stm32mp.git -b openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06The board was detected as a USB Ethernet (ECM) device when connected to a host PC via USB. However, when switching to the Real-Time (RT) version of the same build:meta-st-x-linux-rt.git -b openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06The USB is no longer detected as an Ethernet device. I would like to understand if any USB gadget configuration is missing in the RT build, and what changes (if any) are needed in the kernel or device tree to enable RNDIS or ECM USB functionality in this configuration.
I have followed the wiki to create my encryption keys;https://wiki.st.com/stm32mpu/wiki/How_to_perform_Secure_Boot_from_Distribution_Package#Creating_encryption_key_for_STM32MP13--STM32MP21--STM32MP23_and_STM32MP25 Which suggest creating two keys for TF-A and FIP encryption. But then in the same page it suggest we only load the encryption key for TF-A to OTP registers (i can not fit the FIP key into OTP anyways) After i build my image with the following config; SIGN_KEY = "../keys/privateKey00.pem" SIGN_KEY_stm32mp13 = "../keys/privateKey00.pem" EXTERNAL_KEY_CONF = "1" SIGN_KEY_PASS = "pass pass pass pass pass pass pass pass" SIGN_ENABLE = "1" SIGN_TOOL = "/bin/STM32_SigningTool_CLI" ENCRYPT_ENABLE = "1" ENCRYPT_FSBL_KEY = "../keys/stm32mp_encryption_key.bin" ENCRYPT_FSBL_KEY_stm32mp13 = "../keys/stm32mp_encryption_key.bin" ENCRYPT_FIP_KEY = "../keys/stm32mp_encryption_key_256bits.bin" ENCRYPT_FIP_KEY_stm32mp13 = "../keys/stm32mp_encryption_key_256bits.b
Hello,there seem to be an error in the User Manual UM3359 of the Evaluation board with STM32MP257F MPU.In the Section 8.1.1 Description"The LD11 LED turns green when the power cable is inserted into the CN2 or CN21 connector.Two general-purpose color LEDs (LD4 and LD3) are available as light indicators:• The blue LED (LD4) is used as the Linux® Heartbeat LED, which is blinking as long as Linux® is alive onthe Cortex®-A.• The orange LED (LD3) is used as a STM32Cube example verdict LED.The two indicator LEDs, the red (LD4) and green (LD7) LEDs are either connected to the STM32MP257 MPU.The LEDs (LD5 and LD6) are used as ST-LINK indicator status. Refer to Section 7.4.6."The errors are colored in red:-LD4 is blue, not read.-LD7 is not connected to the STM32MP257 MPU but to the RJ45_48F-01GYDXNL-The LEDs LD1 and LD2 are not mentioned in the description. Only in the section 8.1.3 LED interface. In the first page it says "four user LEDs", but in the block diagram there are
If this posting violates STM's rules for the forum, please delete it.We are a Midwest US company designing an IoT product containing STM32MP157 and a 5 inch, 1-megapixel LCD touch LCD panel. The LCD panel's video controller is an Ilitek device known as ILI9881C and is mentioned frequently in this forum by others.Our end product (physically about the size of your hand) is functioning mostly at the PCB level, accepting code, and generally behaving according to its design. However, it is not yet working with Winstar's LCD panel.This posting is a plea for paid software support help writing two-lane MIPI drivers to support the LCD. The end goal would be to make mostly alphanumeric displays with only minor graphics and ease our software team into completing their design. We do not seek smart phone-like LCD behavior, mostly static displays with capacitive touch.We've confirmed with Winstar that our version of their LCD panel is compatible with 2-lane MIPI.Please PM me if int
Hi ST,I am successfully enabled the Audio through the SAI channel I am able to detect the card for our custom board. and using gst-play-1.0 this play the video and sound very well , also with aplay command. But the thing is , whenever i use qtmultimedia, it's playing video very well , but sound not come.when i connect the HDMI , then sound works through the card cs42l51. but when i disconnected the HDMI , and reboot the custom board , then i again i try to play video through the qtmultimedia with screenoff command then it play only video , but not given the audio output. Then i plugin the HDMI , then reboot the custom board , and i try to play the video through the qtmultimedia with screenoff command then sound works very well, so i think the issues comes from the HDMI and cs42l51 card.is something i am doing wrong from initialization and configurationroot@stm32mp255-customedsce-9b-60-e5-21-77:~# aplay -l**** List of PLAYBACK Hardware Devices ****card 0: STM32MP25
Hi,We have a Linux kernel based on ST Linux kernel at https://github.com/STMicroelectronics/linux/commits/v5.15-stm32mp but based on an older version of it based on v5.15.118. Wondering if there is any plan for ST to merge the latest stable kernel version v5.15.189 to the above git repo? Or have anyone attempted to merge https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.189 to the above branch? I see lot of merge conflicts and wondering if there is a version that I can use for our work.My board is based on STM32MP133c MPU.Thanks in advance!Murali Karicheri
My goal is to create a SSP payload and write it to the OTP of the STM32MP257F chip. The OS running on my KIT is based on OpenSTLinux.To get the SSP Payload, a Secret file is required. I just need secure boot.I refer to the following sources:How to perform Secure Boot from Distribution Package How to deploy SSP using a step-by-step approachWhat is the meaning of Enc/Wrap when create a secret package?How to select format type and KeySize in STM32 Trusted Package Creator?The contents of my Secret file will include the components as shown below. (Json file attached)Is a secret file with such components enough for secure boot? And please advise if there are any invalid options in the Secret list
Hello, I need to do FFT transforms of long signal traces, so using CMSIS DSP doesn't look possible because of the 4096 points limit. I tried to use fftw3 library (3.3.10). I built it using OpenSTLinux SDK from the Github source without problem. Here is configuration I used: configure --host=arm-ostl-linux-gnueabi --enable-neon --enable-single --with-slow-timerLibrary libfftw3f.a was built successfully and test app was also successfully linked with it. Here is relevant part of the test app code:int fft_points = 131072;fftwf_plan pr2c, pc2r;fftwf_complex* fft_cbuf = 0;float* fft_buf = 0;fft_cbuf = (fftwf_complex *)fftwf_malloc(sizeof(fftwf_complex)*(fft_pts/2 + 1));memset(fft_cbuf, 0, sizeof(fftwf_complex)*(fft_pts/2 + 1));fft_buf = (float *)fftwf_malloc((fft_pts + 2) * sizeof(float)); memset(fft_buf, 0, (fft_pts + 2) * sizeof(float));printf("allocated buffers: %p, %p\n", fft_cbuf, fft_buf);pr2c = fftwf_plan_dft_r2c_1d(fft_pts, fft_buf, fft_cbuf, FFTW_ESTIMATE);&nbs
Edited console output - see here for future referenceHello,I encounter a problem with my LCD from Winstar model WF50DTYA3MNG10.I have a custom board based on STM32MP157 with a display connected to Mipi 2 lanes.On previous Openstlinux(kirkstone) without optee, the driver and display working well.After switching to the latest Openstlinux I discover a problem with "ltdc fifo underrun" root@telemach-somunknown:~# [ 96.350190] weston[1406]: memfd_create() called without MFD_EXEC or MFD_NOEXEC_SEAL set[ 111.422211] [drm] ltdc fifo underrun: please verify display mode[ 130.546427] [drm] ltdc fifo underrun: please verify display mode[ 190.539247] [drm] ltdc fifo underrun: please verify display mode[ 250.549608] [drm] ltdc fifo underrun: please verify display mode[ 310.542950] [drm] ltdc fifo underrun: please verify display mode[ 370.537518] [drm] ltdc fifo underrun: please verify display mode[ 430.556994] [drm] ltdc fifo underrun: please verify display modeInitialization seems t
I read the AN5510 at section 5.1 RMA Pasword(s). I am working on STM32MP257F so the RMA pasword is 128-bit as describe in the table 5.The AN5510 also mentions that "The RMA password(s) are chosen by OEM". I understand that I need to generate a 128 bit binary file as RMA Password. So I use the following Command to generate RMA Password.STM32_KeyGen_CLI -rand 16 stm32mp_rma_password.binIs this the correct way to generate RMA Password?
Hello ST Community,I am working with an STM32MP2-based board and would like to load an initramfs image into DDR RAM using dfu-util and then boot it without having to manually enter U-Boot commands. I have tried to follow the documentation, specifically:How to load U-Boot with dfu-utilHow to execute a U-Boot script via DFUHere are my observations:When using a flashlayout, after transferring the images, U-Boot does not boot the kernel automatically — it stops at the U-Boot prompt and waits for manual commands.When using a U-Boot script (as described in the documentation), I am able to transfer artifacts for ramfs in DFU mode, but when I attempt to load the kernel (alt=0), the process hangs: and after about 30 seconds to 1 minute the board resets itself (as if by a hard reset).I have tried both compressed (Image.gz) and uncompressed (Image) kernel images, with the same result. My questions:Is it possible to load and boot a Linux kernel with initramfs in RAM using dfu-util, so th
Hi,I am in the process of migrating my application to OpenSTLinux 6.1 (Scarthgap) and we are targeting a boot time of ≤10 seconds. while working on this, I observed that the OP-TEE layer takes some extra time during secondary CPU initialization. As OP-TEE is new, I would like have some help in understanding the root cause of this delay and whether any optimization is possible in this phase.I am using STM32MP157A Hardware. Below reference image is attached.
Hello ST Community,I'm trying to enable SPI4 on my STM32MP157F-DK2 board to use it for a SPI-based SD card interface.In my custom device tree overlay, I’ve defined the SPI4 node like this:&spi4 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&spi4_pins_b>; pinctrl-1 = <&spi4_sleep_pins_b>; cs-gpios = <&gpioe 11 0>; status = "okay"; sdcard@0 { compatible = "mmc-spi-slot"; reg = <0>; spi-max-frequency = <10000000>; }; }; And in the .dtsi, the pins I’m using are:spi4_pins_b: spi4-1 { pins1 { pinmux = <STM32_PINMUX('E', 12, AF5)>, /* SPI4_SCK */ <STM32_PINMUX('E', 14, AF5)>; /* SPI4_MOSI */ bias-disable; drive-push-pull; slew-rate = <1>; }; pins2 { pinmux = <STM32_PINMUX('E', 13, AF5)>; /* SPI4_MISO */ bias-disable; }; };So, I am not using PE6 (used in spi4_pins_a). However, on boot, dmesg shows this error:stm32mp157-pinctrl soc:pin-controller@50002000: pin PE6 already requested by 5a001000.
I generated a project from a ioc file that I created. I'm getting this assert error in
Hello STMicroelectronics Community: I want to copy the entire emmc (including the boot partition), so I used the command ums 0 mmc 1. At the same time, make sure to keep the USB cable connected to an Ubuntu computer, but after entering the command, I can't find the relevant mount files in the Ubuntu host. What is the reason? I referred to the following wiki:https://wiki.stmicroelectronics.cn/stm32mpu/wiki/How_to_use_USB_mass_storage_in_U-Boot And can this method really export all partitions? Including the boot partition. Thanks,Ivy7
Hello ST Community,I'm using the STM32MP257F-DK board with the Waveshare IMX219 camera (connected via MIPI CSI2).I've configured the device tree for the sensor, and the camera appears correctly under /dev/v4l-subdev7. I’m trying to capture raw video using: v4l2-ctl -d /dev/video0 --stream-mmap --stream-count=10 --stream-to=out.rawBut I get the following error: [ dcmipp 48030000.dcmipp: failed to start streaming (-22) ] VIDIOC_STREAMON returned -1 (Invalid argument)What’s Working:Device tree loads fineIMX219 is detectedSensor controls are visible via v4l2-ctl -LWhat’s Not Working:Streaming fails with error -22 from DCMIPPWhat I Need Help With:What could cause this Invalid argument during streaming?Is there any resolution/format restriction for DCMIPP?Any working example for IMX219 + STM32MP25 + DCMIPP would help a lotThanks in advance!
Greetings everyone,I’m currently working on inter-core communication between the Cortex-M4 and Cortex-A7 cores using OpenAMP and RPMsg. My goal is to send dummy sensor data from the M4 to the A7 periodically. I am using STM32MP157F-DK2.However, I’ve noticed an issue:The data from the M4 only gets flushed to the A7 after the A7 writes something first on the virtual channel.In other words, the M4 seems to need some kind of trigger from the A7 before its messages are actually delivered.What I want to achieve is:Send data from the M4 to the A7 automatically, without any prior message or intimation from the A7.Has anyone faced a similar situation or knows how to configure OpenAMP/RPMsg so the M4 can push data independently? Any guidance or code example would be highly appreciated.I am attaching my main.c below.int main(void) { /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ srand(HAL_GetTick()); MX_IPCC_Init()
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.