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,My LCD display format is RGB666, I removed the "LCD_R0,LCDR1, LCD_G0,LCD_G1,LCD_B0,LCD_B1" in file "stm32mp15-pinctrl.dtsi", and recompile my device tree, then upload to my board. I tried to use the LCD_R0 as GPIO with command: gpioset gpiochip7 2=1But get error: "[ 52.329202] stm32mp157-pinctrl soc:pin-controller@50002000: pin PH2 already requested by panel; cannot claim for GPIOH:114[ 52.348561] stm32mp157-pinctrl soc:pin-controller@50002000: pin-114 (GPIOH:114) status -22gpioset: error setting the GPIO line values: Invalid argument"Please advise how to reuse the unused LTDC pin as GPIO.Thanks,QiZhang ltdc_pins_a: ltdc-a-0 { pins { pinmux = <STM32_PINMUX('G', 7, AF14)>, /* LCD_CLK */ <STM32_PINMUX('I', 10, AF14)>, /* LCD_HSYNC */ <STM32_PINMUX('I', 9, AF14)>, /* LCD_VSYNC */ <STM32_PINMUX('E', 13, AF14)>, /* LCD_DE */ <STM32_PINMUX('H', 8, AF14)>, /* LCD_R2 */ <STM32_PINMU
Hello,is there any example how to configure LTDC device tree entry for RGB display ?Documentation is unclear on that, only MIPI mode is quite well documented.RegardsArkadiusz
Do the SPI interface need an entry in the SCMI file, as what I2C requires to work ?if yes, So far could not find the exact entry for SPI2. According to the SCMI wiki not, but you never now. (:-))
Kernel tree does not assign any driver to pin PZ2. After gpioset -c gpiochip11 2=1, the pins goes actually high (from low) but the gpioset program stalls. SSH at that moment into the device shows: line 0: "PZ0" input line 1: "PZ1" input line 2: "PZ2" output consumer="gpioset" line 3: "PZ3" input line 4: "PZ4" input consumer="kernel" line 5: "PZ5" input consumer="kernel" line 6: "PZ6" input line 7: "PZ7" input Aborting CTRL-C/Z gpioset causes the device to be busy upon a next set.Is there a way to set the pin and the client release itself as consumer of GPIO pin to be able to change the pin later back to low? root@stm32mp1:~# gpioset -c gpiochip11 2=1 ^Z[1]+ Stopped gpioset -c gpiochip11 2=1 root@stm32mp1:~# gpioset -c gpiochip11 2=0 gpioset: unable to request lines on chip '/dev/gpiochip11': Device or resource busy root@stm32mp1:~# gpioget -c gpiochip11 2 gpioget: unable to request lines: Device or resource busy
Hello,I have a Yocto Project with st-stm32mp1 layer, using Poky distribution along with customized CubeMX machine that I created using st-stm32mp1-addons layersI need to use the spi5 module, so I activated it through CubeMX for the "A7NS" runtime context.I compiled and run the machine, but during boot I get this message:[ 1.533147] spi_stm32 44009000.spi: clk rate = 0 [ 1.536942] spi_stm32: probe of 44009000.spi failed with error -22 I also tried with spi1 and got the same error message.All my kernel variables are default ( SPI=y, SPI_MASTER=y, SPI_STM32=y, SPI_SPIDEV=y) I also haven't touch any clock configuration in CubeMX, everything should be default.I uploaded my boot log as attachment, you can find the error message at line 223. There are two messages because I tried with both spi1 and spi5.I have also uploaded my machine configuration file, along with the cubeMX projectAny idea wh
Hello all,I already booted my image by following this link:https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP135x-DK/Let%27s_start/Populate_the_target_and_boot_the_imageThus, I'm using kernel v24.06.26My main goal is to modify Linux kernel and device trees, that's why I'm following below link:https://wiki.st.com/stm32mpu/index.php?title=STM32MPU_Developer_PackageAnd above link directed me to below one:https://wiki.st.com/stm32mpu/wiki/How_to_cross-compile_with_the_Developer_Package#Modifying_the_Linux_kernel_configurationFrom this link, I came until this step:And in the link that i pointed, which is:https://wiki.st.com/stm32mpu/wiki/Menuconfig_or_how_to_configure_kernel#Menuconfig_and_Developer_PackageI followed the instructions, copied uImage and rebooted board like below:However, my Linux kernel does not start, ST Logo appears and goes, and it continues like this.Here is my logs: E/TC:0 Panic 'Watchdog' at ?:0 NOTICE: CPU: STM32MP135F Rev.Y NO
Got this error in boot log.[ 4.036653] stm32f7-i2c 5c009000.i2c: error -ENOENT: Failed to get controller clock [ 4.054809] stm32f7-i2c: probe of 5c009000.i2c failed with error -25c009000 refers to i2c6. Below is the relevant section in the optee dts. I2C4 and I2C6 share a clock and I2C4 is working fine. I2C6 is mentioned in the eztpc node, so that ain't it either. st,clksrc=< CLK_CKPER_DISABLED CLK_ETH_PLL4P CLK_SDMMC12_PLL3R CLK_STGEN_HSI CLK_I2C46_HSI CLK_SDMMC3_PLL3R CLK_USBO_USBPHY CLK_UART24_HSI CLK_RNG1_CSI CLK_MPU_PLL1P CLK_AXI_PLL2P CLK_MCU_PLL3P CLK_RTC_LSI CLK_MCO1_DISABLED CLK_MCO2_DISABLED >; The i2c6 section:&i2c6{ pinctrl-names = "default", "sleep"; pinctrl-0 = <&i2c6_pins_z_mx>; pinctrl-1 = <&i2c6_sleep_pins_z_mx>; status = "okay"; pcf85263: pcf85263@51 { compatible = "nxp,pcf85263"; reg = <0x51>; status = "okay"; }; }; I2C4 was set up to 400kHz and I2C6 default, changing I2C4 to de
Custom SMT32MP15 board connected via the micro USB to a host PC. This board has HDMI via an RGB to HDMI chip but here PA10 is only used for USB OTG-ID) (there was another post on this about HDMI). Build kernel from ECO 5.0. The Gadget functions worked fine with ECO 1.On the host PC lsusb shows : ID 1d6b:0104 Linux Foundation Multifunction Composite GadgetThis would seems the gadget driver is working the board is in device mode. (right ?)ls /sys/kernel/debug/usb/49000000.usb-otg/dr_mode ep1in ep2in ep3in ep4in ep5in ep6in ep7in ep8in fifo params stateep0 ep1out ep2out ep3out ep4out ep5out ep6out ep7out ep8out hw_params regdump testmodeBoard dts entries: (based on the board entries form ECO 1.0 and ST Wiki)Note: only added this in the kerne; dts, not in uboot. &usbotg_hs{phys = <&usbphyc_port1 0>;phy-names = "usb2-phy";pinctrl-names = "default";pinctrl-0 = <&usbotg_hs_pins_a>;dr_mode = "otg";phy-names = "usb2-phy";// Note e
Yes. I know that is possible to program the STM32MP by using ST-link V2 in CM4 inside STM32CubeIDE.I want to know if its possible to generate e.g .bin/.stm32 files from CM4 and paste them into a FlashLayout, and then later program it over STM32CubeProgammer.My goal is to run bare bones code and program that over USB.
I'm trying to program the STM32MP1 processor over the ST-LINK V2 probe.But I'm facing some issues. My device cannot be found. STMicroelectronics ST-LINK GDB server. Version 7.8.0 Copyright (c) 2024, STMicroelectronics. All rights reserved. Starting server with the following options: Persistent Mode : Disabled Logging Level : 1 Listen Port Number : 61234 Status Refresh Delay : 15s Verbose Mode : Disabled SWD Debug : Enabled Target no device found Error in initializing ST-LINK device. Reason: No device found on target. First of all, I have made my own STM32MP1 board (https://github.com/DanielMartensson/STM32-Computer) and my goal is to install Linux onto it. But I having some issues with that too. So therefore I will try to program it with ST-LINK V2 in debug mode.Soldering of the pins:Vcc is OK - The Red LED is blinking 5 HzGND is OKNRST will shut down the blinking red LED of 5 Hz when NRST goes to GND = Good soldering o
root@stm32mp1:~# /sbin/depmod -aroot@stm32mp1:~# syncroot@stm32mp1:~# modprobe vivid[ 1124.915416] cfbcopyarea: exports duplicate symbol cfb_copyarea (owned by kernel)modprobe: ERROR: could not insert 'vivid': Exec format errorroot@stm32mp1:~# 如何使用开发者包进行交叉编译 - stm32mpu (stmicroelectronics.cn)I strictly followed the steps in section 6.1 of the contentI used stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26The latest package, my development board is STM32MP135F-DK, I don't know why. I need your help我严格按照6.1节的步骤操作我使用的是stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26最新的软件包,我的开发板是STM32MP135F-DK,我不知道为什么。我需要你的帮助
The following compilation failure occurs when using cubeMX (6.12.0) to generate the STM32MP135DK+threadX project:tx_initialize_low_level.S:147: undefined reference to `_stack_bottom'collect2.exe: error: ld returned 1 exit statusmake: *** [makefile:66: Demo5_Application.elf] Error 1
We made a new board with STM32MP157FAC1.I tried booting with SD card with STM32MP1 Starter Package image of STM32MP157x-EV1.I am inquiring about the following error. NOTICE: CPU: STM32MP157FAC Rev.ZNOTICE: Model: STMicroelectronics STM32MP157F eval daughter on eval motherINFO: PMIC version = 0x21INFO: Reset reason (0x15):INFO: Power-on Reset (rst_por)INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe2000INFO: FCONF: Reading firmware configuration information for: stm32mp_ioINFO: Using SDMMCINFO: Instance 1INFO: Boot used partition fsbl1ERROR: stm32_sdmmc2_send_cmd_req: timeout 10ms (cmd = 0,status = 2000)WARNING: CMD0, Retry: 1, Error: -60ERROR: stm32_sdmmc2_send_cmd_req: timeout 10ms (cmd = 0,status = 2000)WARNING: CMD0, Retry: 2, Error: -60ERROR: stm32_sdmmc2_send_cmd_req: timeout 10ms (cmd = 0,status = 2000)WARNING: CMD0, Retry: 3, Error: -60ERROR: SDMMC1 init failedPANIC at PC : 0x2ffec8efException mode=0x00000016 at: 0x2ffec8efCan you guess what error it is?
I have been following a series of tutorials on Yocto and STM32MP1 by Digikey. I do have a question I am hoping you can give me some pointers on, while building the custom image after activating the i2cdetect, i get the following errorERROR: busybox-1.31.1-r0 do_package: Error executing a python function in exec_func_python() autogenerated:The stack trace of python calls that resulted in this exception/failure was:File: 'exec_func_python() autogenerated', lineno: 2, function: <module>0001:*** 0002:ptest_update_alternatives(d)0003:File: '/home/raymond/Projects/yocto/poky/meta/classes/ptest.bbclass', lineno: 98, function: ptest_update_alternatives0094: for alt_name, alt_link, alt_target, _ in alternatives:0095: # Some alternatives are for man pages,0096: # check if the alternative is in PATH0097: if os.path.dirname(alt_link) in bin_paths:*** 0098: os.symlink(alt_target, os.path.join(ptest_bindir, alt_name))0099:}0100:0101:do_configure_ptest_base[dirs] = "${B}"0102:do_compile_pt
Hello,We are using 5V/3A adapter to supply STM32MP135F-DK, and we are designing a mechanical structure for our project. To use the board without plug we have to use external power supply and do required connections (using gnd pins etc.). How can we do that?
I built the root file system using 'build root', which previously automatically loaded 'galcore. ko' when the system started. But today I accidentally reset the configuration of 'build root', and since booting up, this module has been unable to load automatically. It needs to be manually loaded every time. Does anyone know which configuration affects its automatic loading?
Hi all.I'm working through the lab material for the STM32MP1 workshop and have run into a snag after following the "extra hands on" presentation "Lab-MP15_FromPartNumber_To_BasicDeviceTree_with_CubeMx.pdf". My high level goal is to get binaries (TF-A, FIP) to enable production eMMC programming via USB DFU.While we've got working eMMC images produced by buildroot (based on an earlier version of the ecosystem) we've discovered that the versions of the boot chain we're using don't support USB DFU (specifically TF-A).To remedy I've gone through the lab materials and Cube MX for ecosystem 5 along with modifications for our custom board and have the resulting input DTS files for building the boot chain binaries:├── kernel│ └── stm32mp153c-som-dfu-mx.dts├── optee-os│ └── stm32mp153c-som-dfu-mx.dts├── tf-a│ ├── stm32mp15-mx.dtsi│ ├── stm32mp153c-som-dfu-mx-fw-config.dts│ └── stm32mp153c-som-dfu-mx.dts└── u-boot ├── stm32m
Hi,I'am also using STM32MP157C-DK2 to communicate between the A7 and the M4 using the Virtual Uart (OPENAMP and IPCC).I was trying to use STM32MXCube to configure the peripherals but the STM32MP157C-DK2 board is not available instead CubeMX has STM32MP157D DK1.If I create a project in MXCube with MCU selector instead of Board selector it doesn't allow me to activate OpenAMP.As both boards have similar hardware but different MCUs - CAC3 and DAC1 respectively can I still run MXCube project created by selection of 157D-DK1 board and run it on 157C-DK2 board. Thanks in advance!Mansi Patwari0 Kudos Reply
Hello everyone,We have a custom board based on stm32mp157c. We have a working bsp, which have tf-a 2.2 and u-boot 2020 version. Currently we are updating tf-a to 2.6 and u-boot to 2022. In our board we have burned mac address in the otp and we can read the mac address from otp using the old tf-a and u-boot version.But currently we can not read otp from the using the current version. It is showing following message while retrieving mac-address from the otp. invalid MAC address 0 in OTP 00:00:00:00:00:00 I have following device tree configuration in the optee. &bsec { status = "okay"; ethernet_mac_address@e4 { reg = <0xe4 0x8>; st,non-secure-otp; }; ethernet_mac1_address@ec { reg = <0xec 0x8>; st,non-secure-otp; }; ethernet_mac2_address@f4 { reg = <0xf4 0x8>; st,non-secure-otp; }; board_id@fc { reg = <0xfc 0x4>; st,non-secure-otp; }; user_otp@100 { reg = <0x100 0x80>; st,non-secure-otp; }; }; In u-
When I try to use JTAG connect to MPU, the watchdog will reset whole system.Early, I have this post Solved: System reset during kernel debug - STMicroelectronics Community. With you suggested solution I'm able to disable Watchdog. Now I have time to play with this board again.Could STM release a new version which has disabled wathdog in security firmware, loader and Linux???or someone can have a detail step for how to disable it.all the early answer are "could try this " "could you try that". but all are failed at my side.I hope I can get a guideline or new release which is verified. Watchdog may not provided any help for our DIY project, but just trouble.
Hello I Want to configure HDMI support for stm32mp157f-dk2 board using Buildroot. I am actually able to run an application on display but I couldn't do it with HDMI.The version of buildroot i am working on is Buildroot 2024.05. Thanks in advanceSrikanth
Hello @PatrickF ,Hope all is well.I need to access STGEN both in A7 core as well as M4 core. I have seen some previous posts related to STGENR register access.Credit to PatrickF for this code.#define STGENR_CNTCVL_OFF 0x0000 #define STGENR_CNTCVU_OFF 0x0004 #define STGENR_CNTCVL (*(uint32_t *) (STGENR_BASE + STGENR_CNTCVL_OFF)) #define STGENR_CNTCVU (*(uint32_t *) (STGENR_BASE + STGENR_CNTCVU_OFF)) uint32_t cntr_upper, cntr_lower; uint64_t cntr; __HAL_RCC_STGENRO_CLK_ENABLE(); do { cntr_upper = STGENR_CNTCVU; cntr_lower = STGENR_CNTCVL; } while (STGENR_CNTCVU != cntr_upper); cntr = ((uint64_t)cntr_upper << 32) + (uint64_t)cntr_lower;I did not implement the above code, but I was trying to see if I can read STGENR from A7 using Devmem2.I found STGENR_BASE from the manual which is 0x5A005000. I used devmem2 tool to read the lower counter (address offset = 0x0000) and upper counter(address offset = 0x0004)The devmem2 values for both are 0x0. I am n
Hello everyone, i'm starting a baremetal project on a MP135 and i'm facing a issue when I tried to configure ThreadX.I've already saw the issue in another post :https://community.st.com/t5/stm32-mpus-embedded-software/creat-a-simple-bare-metal-azurertos-based-on-stm32mp135f-dk-get/td-p/614564But when I add the following code in the linker : .stack : { _stack_bottom = ABSOLUTE(.) ; /* Allocate room for stack. This must be big enough for the IRQ, FIQ, and SYS stack if nested interrupts are enabled.*/ . = ALIGN(8) ; . += 32768 ; _sp = . - 16 ; _stack_top = ABSOLUTE(.) ; } >RAM _end = .; I get another error :/opt/st/stm32cubeide_1.15.1/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.100.202403111256/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld: emap_bareos_Application.elf section `.stack' will not fit in region `SYSRAM_BASE'/opt/st/stm32cubeide_1.15.1/plugins/com.st.stm32cube.ide.mcu.externaltoo
Hello, I am developing a custom image using the layer meta-st-stm32mp in the mickledore branch, until that point, there are no problems.The problem is, since I want ti install the meta-st-x-linux-ai layer, I need to install meta-st-openstlinux first, which has several layer dependencies such as meta-qt5, and other layers. The problem I am having is, once I add the meta-st-openstlinux, the process stops, it does not even initiallizes the tasks, because the parsing process does not succeed.This is the local.conf (I did not add the recipes because I thought maybe some of my recipes did generate the problem): # This file is your local configuration file and is where all local user settings # are placed. The comments in this file give some guide to the options a new user # to the system might want to change but pretty much any configuration option can # be set in this file. More adventurous users can look at # local.conf.sample.extended which contains other examples
Hi,I'm using STM32MP153C and I would like to communicate between the A7 and the M4 using the Virtual Uart (OPENAMP and IPCC).I'm using a custom distribution created using Yocto.When I initialize the virtual uart in the M4, /dev/ttyRPMSG0 is instantiated in the A7.[ 142.543903] remoteproc remoteproc0: powering up m4[ 142.649727] remoteproc remoteproc0: Booting fw image DHCOR_MBM_GEN_3_v4.1_CM4.elf, size 3518900[ 142.661217] remoteproc0#vdev0buffer: assigned reserved memory node vdev0buffer@10042000[ 142.669330] remoteproc0#vdev0buffer: registered virtio0 (type 7)[ 142.674309] remoteproc remoteproc0: remote processor m4 is now up[ 142.722658] virtio_rpmsg_bus virtio0: rpmsg host is online[ 148.575929] virtio_rpmsg_bus virtio0: creating channel rpmsg-tty-channel addr 0x400[ 149.074414] virtio_rpmsg_bus virtio0: creating channel rpmsg-sdb-channel addr 0x401But when I use this command:stty -onlcr -echo -F /dev/ttyRPMSG0linux returns:[ 3
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.