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
Honey, I purchased an STM32MP257-DK development board. I inserted a 16GB SD card, powered it with a 5V power supply, and connected the USB interface to the computer's USB port. After powering on, the COM indicator flashes red and yellow, and it cannot function properly. What could be the reason? My power supply current is sufficient.
Hello ST Community,I am currently working on a custom board based on STM32MP257FAI3, derived from the STM32MP257F-EV1 evaluation board.We initially built our own custom image and successfully enabled several peripherals (SPI, USART, Timers, ADCs, and Interrupts) and tested on evaluation board as well.Now, while adapting the configuration for our custom hardware, I have modified all pin assignments according to the alternate functions listed in the datasheet and reference manual.Most of the pins are configured correctly and appear as expected in the system.However, I’ve noticed that certain pins (for example, PZ7 and PZ8, which were used for LPUART1 on the EV1) and some other pins in list are still shown as “consumer = kernel” in the output of: gpioinfo -c /dev/gpiochip11even though I have:Removed their references from TF-A, U-Boot, and Linux kernel device treesDeleted their entries from the corresponding pinctrl and pinmux configurationsDespite these removals, the
Hello. I am using LVGL to open a USB camera and capture NV12 640*512 video at 30fps.I want to compress NV12 video to H264 using /dev/video1 hantro-vpu stm32mp-venc-enc and save the video to /mnt/sdcard/video.h264.I'm trying to configure /dev/video1 by looking at the kernel driver's stm32mp25_vpu_hw.c, but I can't seem to get it to set up.Below is the source section that has been set.typedef struct { int fd; FILE *outfile; void *out_buf[2]; void *in_buf_y[2]; void *in_buf_uv[2]; size_t in_len_y[2]; size_t in_len_uv[2]; size_t out_len[2]; int width; int height;} hantro_enc_t;void enc_close(hantro_enc_t *enc){ if (!enc) return; for (int i = 0; i < 2; i++){ if (enc->out_buf[i]) munmap(enc->out_buf[i], enc->out_len[i]); &nb
Hello everyone,I’m using an STM32MP157F-DK2 board and trying to use one of the Cortex-M4 debugging features — ITM (Instrumentation Trace Macrocell).However, I’m receiving garbage values on the SWV console, and I’m not sure why.Here’s what I’ve done so far:Edited the int _write() function in syscalls.c to redirect output to ITM Enabled Serial Wire Viewer (SWV) in the debug configuration.Set the core clock frequency in the debugger to match the MCU clock (as configured in the .ioc file).These are the typical steps I follow to enable ITM output.Is there anything else required to get correct SWV output?Am I missing any configuration or initialization step specific to the STM32MP1 series?Thanks in advance for any help or insights!
Hi,I'm seeking information on where to purchase alternative LCD touchscreen sizes that compatible with the STM32MP257F-EV1 evaluation board, beside the standard 7-inch touchscreen LCD (P/N: B-LVDS7-WSVGA). It appears that ST’s touchscreen uses a different LVDS touchscreen interface implementation compared to other display vendors, where video signals over LVDS are provided through one connector and the touch interface through a separate connector.Thank you in advance for your assistance.
As we are developing the camera streaming board for one of our client, I have the following queries:Both part numbers, STM32MP135DAG7 and STM32MP135FAG7 come in the TFBGA289 (9×9) package. Are the pinouts identical for both devices? can we interchange the part in PCB assembly?I believe only security features are add in FPlease share the OrCAD schematic library files for both MPUs — STM32MP135DAG7 and STM32MP135FAG7.
Hello everyone,I’m having trouble creating a custom image for OSD32MP157C-512-IAA and OSD32MP157F-512-BAA.When I try building the image for the 157C version using the Octavo tutorial [https://octavosystems.com/app_notes/stm32mp1-cubemx-tutorial-for-osd32mp15x/], the build fails..I’ve tried several combinations:-Base images for BRK and RED boards (tested with versions 3.0.0 and 3.1.0)-Different DTS/DTSI configurations for 153C, 157C, and 157F from the minimal setup-Compared SD card partition flags between the working stock image and mine - they match.I’ve attached my logs and short build notes for both the C and F versions.At this point, I’m out of ideas on what else to check or how to fix the build.If anyone could share a complete, working guide for building and flashing a custom image for these modules, that would be extremely helpful.Thanks in advance for your help!Best regards,Nenad
Hello ST Community,I'm using the STM32MP257F-DK MPU board and wanted to enable the USART6 interface. We can access it from the 40-Pin GPIO expansion header of the board.For this, I have enabled the 'status' node settings of the usart6 from the device tree (dts) file as mentioned below.serial@40220000 {compatible = "st,stm32h7-uart";reg = <0x40220000 0x400>;interrupts-extended = <0x1e 0x1d 0x04>;clocks = <0x16 0x116>;dmas = <0x1c 0x13 0x20 0x10012 0x1c 0x14 0x20 0x3021>;dma-names = "rx\0tx";access-controllers = <0x1b 0x24>;power-domains = <0x0c>;wakeup-source;status = "okay";pinctrl-names = "default\0idle\0sleep";pinctrl-0 = <0x34>;pinctrl-1 = <0x35>;pinctrl-2 = <0x36>;uart-has-rtscts;phandle = <0xe5>;};After setting 'status = okay' in the dts, I'm able to see the '/dev/ttySTM1' device entry on my board on bootup. Now, just to check the uart is enabled or not, I have looped back Tx-Rx pins of the GPIO expansion header and
I just bought STM32MP135F-DK and tried to build a HelloWorld project using STM32cubeIDEFile->New> New STM32 CMake ProjectTemplate : ExecutableMCU : stm32mp135fafxToochain : MCU ARM gccProject is getting created but when I am trying to build it, it is giving me below error. C:/ST/STM32CubeIDE_1.19.0/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:../STM32MP135FAFX_FLASH.ld:60: syntax error collect2.exe: error: ld returned 1 exit status gmake[2]: *** [CMakeFiles/HelloWorld.dir/build.make:143: HelloWorld.elf] Error 1 gmake[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/HelloWorld.dir/all] Error 2 gmake: *** [Makefile:91: all] Error 2
Hi I am willing to build a camera with STM32MP2 & B-CAMS-IMX. I can not locate the CAD model in any of the design resources shared for MB1854 card. I need the CAD model (step file) for mechanical integration. Please help.
stm32mp251.dtsist,stm32-timers.yamlpinctrl-stm32mp257.cThis is the current implementation of the `panel_lvds_backlight`, i'm trying to implement the pwn brightness control for this.{ /* https://github.com/STMicroelectronics/linux/blob/f01241fb/arch/arm64/boot/dts/st/stm32mp257f-ev1.dts */ .... panel_lvds_backlight: panel-lvds-backlight { compatible = "gpio-backlight"; gpios = <&gpioi 5 GPIO_ACTIVE_HIGH>; default-on; default-brightness-level = <1>; status = "okay"; }; .... } /dts-v1/; /plugin/; #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/input/input.h> #include <dt-bindings/pinctrl/stm32-pinfunc.h> /* This is required by fragment@3 for pinctrl */ / { compatible = "st,stm32mp257f-ev1"; /* Modify panel timing clock frequency */ fragment@0 { target = <&panel_lvds>; __overlay__ { panel-timing { clock-frequency = <54000000>; }; }; }; /* Replace GPIO backlight with PWM backlight */ fragment@1 { t
Hi, I have a custom board based on STM32MP257FAK3, based on STM32MP257EV1 evaluation board. My board has a rtl8367s ethernet switch connected on eth2 port though rgmii. I can communicate though mdio to the rtl8367s and configure it. We are using OpenWrt kernel and rtl8365mb driver though smi that seems to be the right one.But I can not make works eth2 is failing DMA every time. I will share you my logs and dts. Every idea is welcoming. Thank you!
HI ST Community,I need to compare the DDR4 configuration data before and after DDR training. could you please guide me on how to retrieve the DDR configuration data after a successful boot of the STM32MP257F-EV1 Board.Thank you.
According to the datasheet of STM32MP2, it can play 1080p by using Gstreamer: GStreamer overview - stm32mpuQuestions:1. Does that mean it can play pre-downloaded videos on STM32MP2 in 1080p?2. Will Gstreamer be the only option to play 1080p videos?3. If I have a webpage that streaming 1080p real time live action from a camera, e.g inside a facility. If I want to access that web page, would it be possible to watch that live session in 1080p by using Gstreamer or other software that can handle hardware acceleration? I don't know if Chromium can handle the hardware acceleration of the GPU of STM32MP2 yet. Please, let me know.
Hello,We are currently working with STM32MP257F-EV1 evaluation board and attempting to enable I3C4 interface to communicate with LSM6DSV device. However, we are encountering the following error messages during boot:[ 3.474187] stm32-i3c 46080000.i3c: (i3c-0) address not acknowledged [ 3.478101] stm32-i3c 46080000.i3c: (i3c-0) address not acknowledged [ 3.484119] stm32-i3c 46080000.i3c: (i3c-0) address not acknowledged [ 3.490487] stm32-i3c 46080000.i3c: 1 target(s) assigned but 0 counted [ 3.497837] stm32-i3c 46080000.i3c: Failed to register I3C master: -22 [ 3.503626] stm32-i3c: probe of 46080000.i3c failed with error -22 [ 23.205576] stm32mp_pm_domain power-domain-d1: sync_state() pending due tocThis is an excerpt from dts. The following has been added. &i2c8 { status = "disabled"; }; &i3c4 { pinctrl-names = "default", "init", "sleep"; pinctrl-0 = <&i3c4_pins_a>; pinctrl-1 = <&i3c4_init_pins_a>; pinctrl-2 = <&i3c4_sleep_pins_
Hello,I have developed a custom board using the STM32MP157DAC1. The pin layout is nearly identical to the STM32MP157-DK2 for all pins with the same name.I am trying to flash an SD card image using STM32CubeProgrammer, but I'm facing two critical issues.1. USB Device Not RecognizedMy primary issue is that the USB connection is not recognized by my PC at all when I try to connect in DFU mode. I cannot get any response from the device over USB.I have attached a schematic of my USB circuit. Please note that I initially had an error where the DP and DM lines were crossed, but this has since been corrected on the board. Despite the fix, the USB port remains unresponsive.2. UART Flashing Fails with Timeout ErrorAs a workaround, I attempted to flash the image via UART. The process starts, and the first stage bootloader (tf-a- ... .stm32) appears to download successfully. However, the process then fails with multiple timeout errors when trying to get the next phase.Here is the log from STM32Cub
Hi All,We've tested debugging of M4 code on STM32MP157-EV using STM32CubeIDE from native Ubuntu linux.It all works as expected as it was documented here: https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP157x-DK2/Develop_on_Arm%C2%AE_Cortex%C2%AE-M4/Modify,_rebuild_and_reload_a_firmwareWe've also tried the same on STM32CubeIDE running on Win11 computers. And it all worked fine for some and not for others. E.g. On some laptops it works OK but on others it doesn't let us select "MPU Serial" console even it was recognized as STLink Virtual Port.E.g. This is an example of working setup on Laptop1:And this is an example of how it doesn't work on another laptop Laptop2 :As it is clear Win11 correctly detected ST-Link Virtual UART but it is not showing in STM32CubeIDE as it does on other laptop. We tried it on several laptops and it worked on some and doesn't on others.Versions of STM32CubeIDE we were running were 1.18 and 1.19 but no differences. It always works O
Hello,I am working on evaluation board in that boot logs I am gettingNOTICE: Model: STMicroelectronics STM32MP257F-ev1 Evaluation BoardNOTICE: Board : MB1936 Var1.0 Rev.D-01What should I do to remove this "NOTICE: Board : MB1936 Var1.0 Rev.D-01" line from my boot logs and Change the model to a custom name how can I do it I have made changes in stm32mp257f-ev1.dts files in tf-a-source, u-boot source and kernel source.
Hi,From which file this the board name MB1936 Var1.0 Rev.D-01 is retrieved in stm32mp257 EV1 board. Can I change this.I am using same image flashed on EV1 to my custom board.I am unable to read the board no.Is there any problem if board version not read.
Hi, I'm pretty new to embedded development. I'm trying to set up a really basic 'Hello world' image for my M33 core on STM32MP257F-DK. My Linux A image has remoteproc set up, and rpmesgDmesg on linux host: [43834.220252] remoteproc remoteproc1: powering up m33 [43834.258170] remoteproc remoteproc1: Booting fw image zephyr_20251017_095646_e99be8ad.elf, size 1438504 [43834.262810] rproc-virtio rproc-virtio.2.auto: assigned reserved memory node vdev0buffer@812fa000 [43834.271543] virtio_rpmsg_bus virtio0: rpmsg host is online [43834.276502] rproc-virtio rproc-virtio.2.auto: registered virtio0 (type 7) [43834.286260] remoteproc remoteproc1: remote processor m33 is now up However, Linux won't pick up the remoteproc msg endpoint and present it as I expect it to in /dev/ttyrpmsgI'm building into my zephyr image an overlay, a resource table, a main.c and a ipcc_shim to patch over what I think is a missing getChannelConfig.To be honest, I've made a lot of assumptions.
Hi ST Community,I'm working with a custom board based on the STM32MP257F and using the stm32mp257f-ev1.dts as the base device tree for development.After flashing the firmware and booting the board, I'm encountering a DDR initialization failure during the BL2 stage. Here's a snippet from the boot log (via UART, Docklight):ERROR: ddrphy_phyinit_usercustom_g_waitfwdone Training has failed.ERROR: DDR PHY init: Error -1 BACKTRACE: START: stm32mp2_ddr_initPANIC at PC : 0x0000000000e01f9fcThe specific error seems related to DDR PHY training failure:ERROR: ddrphy_phyinit_usercustom_g_waitfwdone Training has failed.We're using DDR4 2x16Gbits @ 1200MHz as indicated in the log:and attached a image of boot log and the error what we are getting while booting with custom board, but boots successfully with stm32mp257f-ev1.i performed the DDR utility test on the custom board , the image of ddr test report also attached for you reference how can i rectify this issue
Dear Sir /Mam We are currently working with LPDDR4 (MT53E512M32D1ZW-046 WT:B) on our platform. To validate our setup, we used the DDR firmware code available at STM32DDRFW-UTIL, which provides drivers for LPDDR4 (MT53E1GD2FW-046 WT:C). During our testing on the STM32MP257F-DK board, the DDR tests pass successfully with the MT53E1GD2FW-046 WT:C configuration. However, when we run the same code with the MT53E512M32D1ZW-046 WT:B device, the PHY training fails. We would like to clarify the following points: Can the same DDR firmware and PHY training code be reused across both devices, given their differences in density and die configuration? We are attaching the register initialisation file for DDRCTRL and DDRPHYC used in our setup(stm32mp2xx-lpddr4-1x32Gbits-1x32bits-template.h )and phy training is mentioned in stm32mp2xx_hal_ddr_ddrphy_firmware_ddr_pmu_train.c. Could you confirm what exactly is written into the PHY training phase? The STM32MP25 referen
I am programming the coprocessor (CM33) of STM32MP257F-EV1.I prepared this with reference to Develop on Arm® Cortex®-M33 .I built the sample program with MP32CubeIDE, transferred it to the target board (STM32MP257F-EV1), and it worked.Next, create a new project in STM32CubeIDE for your target board.[File -> New -> STM32 Project]Select STM32MP257F-EV1 in the Board Selector of Target Selection.I built the completed project and converted the resulting .elf to a binary file in OP-TEE? format using a python script.[properties -> Setting -> Build Step]arm-none-eabi-objcopy -S ${BuildArtifactFileBaseName}.elf ${BuildArtifactFileBaseName}_stripped.elf; python ../../../../Utilities/optee_os/scripts/sign_rproc_fw.py --in ${BuildArtifactFileBaseName}_stripped.elf --out ${BuildArtifactFileBaseName}_sign.bin --key ../../../../Utilities/optee_os/keys/default.pem --plat-tlv BOOTADDR 0x80100000Copy the .bin to /lib/firmware on the target board and execute it.Then, OpenSTLinux on
STM32MP151 VDDCORE voltage if device above 600Mhz (800Mhz)1 VDDCORE voltage if device above 600Mhz (800Mhz). Custom Boardsee attachedThe data sheet states 2 VDDCORE voltages depending on the clock speed of part and i think yoiu can also set the clock speed in software.Can I just use STM32MP151DAD1 ARM® Cortex®-A7 Microprocessor IC STM32MP1 1 Core, 32-Bit 209MHz, 800MHz 257-TFBGA (10x10) and VDDCORE at fixed 1.35VOR do I need a 1.2V VDDCORE and then switch it to 1.35V when I want to go faster.Will a STM32MP151DAD1 run on VDDCORE 1.2V if clock set slower?ThanksDOM
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.