Get ready for the STM32 Summit 2026 | Online, November 3
Ask questions and find answers on STM32 microprocessors, including hardware, power, DRAM, flashing, interfacing, device tree, and peripherals.
Most recent activity
We have a custom STM32MP157 board running Linux that is not booting over eMMC. The STM32MP157 image boots from SD card on SDMMC1 but not from a Toshiba THGBMNG5D1LBAIL eMMC chip connected to SDMMC2. We have confirmed the Boot pins are correct, and the device tree is correct in uBoot and LinuxWe can see 4 partitions of the SD card, and the hardware partitions of the eMMC: /dev/mmcblk0 (SD Card) /dev/mmcblk0p1 (fsbl1) /dev/mmcblk0p2 (fsbl2) /dev/mmcblk0p3 (ssbl) /dev/mmcblk0p4 (rootfs) /dev/mmcblk1 (eMMC) /dev/mmcblk1rpmb /dev/mmcblk1boot0 /dev/mmcblk1boot1I have tried copying the entire SD card over to mmcblk1 using:dd if=/dev/mmcblk0 of=/dev/mmcblk1I've also tried unlocking the mmcblk1bootX partitions and copying over the SPL and uboot partitions. Schemes I have tried are a co
Hi i am struggling in how to boot from the EMMC not from the SD card , i used the custom board where my emmc is connected to SDMMC2 port , i did changes into the device tree i enable the sdmmc2, but i do not know how to boot from the emmc ?,actually my custom board based on the (STM32MP157D -Dk1), there is no EMMC but in custom board i added the emmc with SDMMC2 channel, so please help me out this situation how to boot ,please Ignor my basic question i am the frasher and doing own self, i need your support for learn.
I get the following error message when trying to use pinctrl with a regular GPIO....[ 4.580426] stm32mp157-pinctrl soc:pinctrl@50002000: pin PA13 already requested by gpioleds; cannot claim for GPIOA:13[ 4.590464] stm32mp157-pinctrl soc:pinctrl@50002000: pin-13 (GPIOA:13) status -22 With device tree entry attached.
I am trying to operate two devices using QuadSPI in the STM32MP131 bare-metal environment. Currently, an external Flash is being used in QuadSPI Bank1 in dual mode, and I am attempting to use another external device in Bank2 in quad mode.The issue I encountered is that while the Flash connected to Bank1 operates normally, a problem occurs when transmitting data to Bank2. Upon inspecting with an oscilloscope, the data itself is transmitted correctly, but the default state of the BK IO3 pin is always fixed to High. Since the external device receives data from QuadSPI without any filtering, the fact that IO3 is fixed to High can cause malfunction. *This device does not require separate NCS or WP pins. The image below is a measurement taken when 0x01 was transmitted to BK2 using 4-line Quadmode.Although 0x01 is transmitted correctly, you can see that the state of IO3 returns to High again. To prevent any potential issues, the qspi-related code that activates the Flash has b
tl,dr: No boot log or root term via ST-LINK connector on STM32MP157F-EV1. Haven't tried UART 4 yet.This is related to:https://community.st.com/t5/stm32-mpus-products/i-get-output-via-uart4-but-not-via-st-link-and-i-cannot-input/m-p/135067 Reference: https://wiki.st.com/stm32mpu/wiki/How_to_get_Terminal The board: STM32MP157F-EV1My host: Dell XPS, USB puck with two USB ports, running Ubuntu 22.04.4 LTS using Minicom 2.8.Followinghttps://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP157x-EV1/Let%27s_start/Populate_the_target_and_boot_the_image I have:* successfully prog'd the microSD with the STM32MP1257F (note the "eff") firmware ie: FlashLayout_sdcard_stm32mp157F-ev1-optee.tsv* the eval board boots to OpenSTLinux launcher* all the demo apps will runJust no log or root command line using the ST-LINK connector via USB. I cannot execute basic commands inhttps://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP157x-EV1/Let%27s_st
Hello,I am using the STM32MP257x-EV1 board with version 2022.10 of u-boot-stm32mp (with patch 0001-v2022.10-stm32mp25-beta.patch from commit dc5d7824 made on April 12, 2024).When compiling u-boot + stm32mp257f-ev1.dts, only the eth2 interface is functional, the other interface displays the following error: EQOS_DMA_MODE_SWR: mode: 00000000482c1000 - wait: 50 EQOS_DMA_MODE_SWR stuck FAILED: -110 After compiling u-boot-stm32mp, I used the dtc tool with u-boot.dtb to get my full dts file used and here is the configuration of eth1 and eth2. eth2@482d0000 { compatible = "st,stm32mp25-dwmac\0snps,dwmac-5.10a"; reg = <0x482d0000 0x4000>; reg-names = "stmmaceth"; interrupts-extended = <0x06 0x00 0x85 0x04 0x22 0x46 0x04>; interrupt-names = "macirq\0eth_wake_irq"; clock-names = "stmmaceth\0mac-clk-tx\0mac-clk-rx\0ptp_ref\0ethstp\0eth-ck"; clocks = <0x13 0x14c 0x13 0x14b 0x13 0x14a 0x13 0x13f 0x13 0x14e 0x13 0x13d>;
I'm still trying to get a fully error free bootup on the stm32mp151 based board. I'm using ST git's for the bootstages and kernel/rootfs are build using the ST yocto layers.But because i'm unsure which are actually errors and which are just warnings I can ignore. Nor want to start 5 threads for each one, I figured it was best to combine them in one. Chances are likely they are inter related anyway.I get this error, but further in the bootlog optee is properly initialized, so can this be ignored? [ 0.109710] Driver 'scmi-optee' was unable to register with bus_type 'tee' because the bus was not initialized.This is the main issue, am I forgetting someting in the DT? (attached) [ 0.516254] sysfs: cannot create duplicate filename '/devices/platform/cpufreq-dt' [ 0.516281] CPU: 0 PID: 38 Comm: kworker/u2:3 Not tainted 6.1.28-dirty #1 [ 0.516303] Hardware name: STM32 (Device Tree Support) [ 0.516314] Workqueue: events_unbound deferred_probe_work_func [ 0.516363] unwind_backtrace fro
We have a custom board based on STM32MP157C-DK2. U_boot shows a splash image(logo). Then U-boot starts the kernel from a fip image. I the same fip image there is a ramfs partition in cpio.gz format which is used as rootfs by the kernel. When kernel starts it decompresses the ramfs partition. During this decompression the logo on the screen gets corrupted. I am sure this corruption happens during the decompression as I put 1 ms delay in the kernel code where it is decompressed and I can see how the logo gets slowly corrupted for about 20 seconds. This is the result of the corruption:This happens because we have 1Gb of ram starting at address 0xC0000000 and framebuffer in U-boot occupies the top part of the ram which is around 0xfff00000. Obviously this is the address space which kernel uses to decompress the ramfs partition. I have this in the kernel dts:reserved-memory { #address-cells = <1>; #size-cells = <1>; ranges; gpu_reserved: gpu@fa000000
Hello,i'm currently trying to boot a custom board which has the bare minimum of STPMIC1, SDRAM and USB closely resembling the STM32MP15-DISCO evaluation board except on power delivery (VBUS from USB-C is switched via STUSB4500 but _not_ connected to OTG_VBUS at the CPU, STPMIC1 is powered from a Li-Ion battery).STM32CubeProg finds the DFU connection over USB-C and can connect, but fails programming showing:18:45:29 : UR connection mode is defined with the HWrst reset mode18:45:29 : USB speed : Full Speed (12MBit/s)18:45:29 : Manuf. ID : STMicroelectronics18:45:29 : Product ID : DFU in FS Mode @Device ID /0x500, @Revision ID /0x000018:45:29 : SN : 00360044343151013034363018:45:29 : DFU protocol: 1.118:45:29 : Board : --18:45:29 : Device ID : 0x050018:45:53 : Start Embedded Flashing service18:45:53 : Memory Programming ...18:45:53 : Opening and parsing file: tf-a-stm32mp157a-dk1-usb.stm3218:45:53 : File : tf-a-stm32mp157a-dk1-usb.stm3218:45:53 : Size : 220.41 KB18:45:53 : Partition ID :
Hi all,I own a STM32MP135F-DK board and started to write a simple firmware on it based on RTX threads.I'd like to use USART1 port as simple terminal interface with the board.I chose USART1 cause it is present on CN8 connector (RX + TX) and cause the UART8 presents only TX pin.The code I wrote is: void MX_USART1_UART_Init(void) { huart1.Instance = USART1; huart1.Init.BaudRate = 9600; huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Mode = UART_MODE_TX_RX; huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart1.Init.OverSampling = UART_OVERSAMPLING_16; if (HAL_UART_Init(&huart1) != HAL_OK) { ASSERT(false); } } and if (uartHandle->Instance == USART1) { /* USER CODE BEGIN USART1_MspInit 0 */ /* USER CODE END USART1_MspInit 0 */ /* USART1 clock enable */ __HAL_RCC_USART1_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOC_CLK_E
Hi, i get this error when uboot starts on custom MP153D board: E/TC:0 tzc_it_handler:79 TZC permission failureE/TC:0 dump_fail_filter:420 Permission violation on filter 0E/TC:0 dump_fail_filter:425 Violation @0xdff09000, non-secure privileged write, AXI ID 480 Can someone point me in the right direction? I cannot find a correspondence for AXI ID 480 in order to inverstigate over.
for custom board of STM32mp157f-dk2 version.the same code i run in the custom board it work but, the error " it stuck in the power supply type C not detected" by Uboot , TFA and OPTEE work fine but in u-boot it stop so i can hand this situation and , any bypass mode is there.and where i can modify this one.Actually i remove the type C connector and in place of type C i attached the only two pin power supply in custom board ,after u-boot boots the MPU , it prints the error on type C power supply not detected, so in my code where i need to modify the code, i am using openSTlinux distribution package (STM32mp157f-dk2).
Our board is similar to STM32MP157C-DK2 Disco board - All the Developer packages have been installed, When the power supply is given, all the test point voltages are in desired level. But the MPU not even clearing FSBL and exit with ERROR: DDR addr bus test: can't access memory @ 0xc0000004PANIC at PC : 0x2ffdf9d9Exception mode=0x00000016 at: 0x2ffda000What is the issue and how we can address?
Hello I have stm32mp135f-dk board and OV6540 camera how can I connect them
After buildroot I'm trying to get the yocto build to work. I'm using openstlinux-5.10-dunfell-mp1-21-11-17. The boot process always stops on SP_MIN: Preparing exit to normal world. Yes, I have already read the https://st.force.com/community/s/article/FAQ-STM32MP1-bring-up-troubleshooting-guide. I do have the memory correct and I do not have any pins configured in &rcc. The same device tree file(s) works on buildroot. How can I debug this? The board I'm using is from MYiR (MYD-YA157C).Edit: I'm using custom machine, which is defined in layers/meta-st/meta-st-stm32mp-addons/conf/machine
Many examples use UART4 as debug output, in my particular design, UART4 are in an inconvenient location, so need to switch to another U(S)ART. In CubeMX following is available. From left to right, BOOT ROM, TF-A and OPTEE. currently I have USART1, 2 and 6 as an alternative.Questions:1.only USART1 shows OPTEE, why is this ?2 . USARTS 1 does not have a checkbox for A7 BOOT ROM. what does this imply for boot ? No messages ?3. Are there any other pro/cons for using one of these U(S)ART ?
hi please. NOTICE: CPU: STM32MP157DAC Rev.ZNOTICE: Model: STMicroelectronics STM32MP157F-DK2 Discovery BoardINFO: 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: FCONF: Reading firmware configuration information for: stm32mp_fuseINFO: Using SDMMCINFO: Instance 1INFO: Boot used partition fsbl1NOTICE: BL2: v2.8-stm32mp1-r2.0(debug):lts-v2.8.15-dirty(567af710)NOTICE: BL2: Built : 00:51:33, Jan 26 2024INFO: BL2: Doing platform setupINFO: RAM: DDR3-DDR3L 16bits 533000kHzERROR: DDR addr bus test: can't access memory @ 0xc0000004PANIC at PC : 0x2ffebb4d Exception mode=0x00000016 at: 0x2ffebb4deven i did not change pin of the DDR with processor i used the same pin on custom board as it is like(stm32mp157f-dk2) board, and also the same RAM, could you please help me out this or any thing we need to change
Hi everyone,I'm currently working with the STM32MP157 Linux board and need some guidance on setting it up for use with Google Chrome and .NET applications. Could anyone provide a step-by-step guide or any useful resources to get this done?Specifically, I'm looking for:Installation steps for Google Chrome on the STM32MP157 board.Configuring the board to work with .NET applications.Any potential issues or tips for optimizing performance.Any help would be greatly appreciated!Thanks you
Hi , i have the custom board of (STM32mp157F-dk2), all the things are same but the ST-Link channel removed and many thing changes has done , there is added JTAG pin in place of ST-link port , so in Openstlinux distribution package any modification should i do. like in linux and u-boot , device tree, and menuconfig , drivers related , i do not know any thing for this one. just i am doing from scratch i need your support to start from the scratch.
The first logo appears, but the display behind it does not work. Looking at the error message below, it seems like there is a problem with ext4. How can I solve it? Or did something go wrong? NOTICE: CPU: STM32MP157FAC Rev.ZNOTICE: Model: STMicroelectronics STM32MP157F-DK2 Discovery BoardINFO: PMIC version = 0x21INFO: Reset reason (0x14):INFO: Pad Reset from NRSTINFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe2000INFO: FCONF: Reading firmware configuration information for: stm32mp_ioINFO: Using SDMMCINFO: Instance 1INFO: Boot used partition fsbl1NOTICE: BL2: v2.8-stm32mp1-r1.0(debug):lts-v2.8.6-dirty(ff0bd5f9)NOTICE: BL2: Built : 17:57:15, Apr 21 2023INFO: BL2: Doing platform setupINFO: RAM: DDR3-DDR3L 16bits 533000kHzINFO: Memory size = 0x20000000 (512 MB)INFO: BL2: Loading image id 1INFO: Loading image id=1 at address 0x2ffff000INFO: Image id=1 loaded: 0x2ffff000 - 0x2ffff1eaINFO: FCONF: Reading FW_CONFIG firmware configuration file from: 0x2ffff000INFO: FCON
Hi!I have a custom board with custom device tree. As far as I can say, it works (boot over emmc) but the kernel gives a trace at the start. [ 0.255543] debugfs: Directory 'cpu0' with parent 'opp' already present! [ 0.261757] Unable to get STM32 DDR PMU clock [ 0.294819] stm32-mdma 58000000.dma: STM32 MDMA driver registered [ 0.296155] stm32-dma 48000000.dma: no dma pool: can't use MDMA: 0 [ 0.297740] stm32-dma 48000000.dma: STM32 DMA driver registered [ 0.298366] reg11: supplied by fixed_3v3 [ 0.298741] reg18: supplied by fixed_3v3 [ 0.299068] usb33: supplied by fixed_3v3 [ 0.304778] dwc2 49000000.usb-otg: 49000000.usb-otg supply vusb_d not found, using dummy regulator [ 0.304931] dwc2 49000000.usb-otg: 49000000.usb-otg supply vusb_a not found, using dummy regulator [ 0.307539] debugfs: Directory 'cpu0' with parent 'opp' already present! [ 0.307696] ------------[ cut here ]------------ [ 0.307729] WARNING: CPU: 0 PID: 16 at drivers/opp/of.c:686 _of_add_opp_table_v2+0x50c/0x5c0 [ 0.3077
Hi all,i'm trying to run the DDR_Init project as my first project on STM32MP135F-DK board.I loaded the project on CDT Eclipse IDE and added some configurations: the build is ok.I report the main.c compiler command line as example:Building file: C:/Progetti/dbTechnologies/testSTM32/DDR/Projects/STM32MP135C-DK/Examples/DDR/DDR_Init/Src/main.c Invoking: GNU Arm Cross C Compiler arm-none-eabi-gcc -mcpu=cortex-a7 -mthumb -mfloat-abi=hard -mfpu=vfpv4-d16 -Og -ffunction-sections -fstack-usage -g3 -DCORE_CA7 -DUSE_STM32MP13XX_DK -DSTM32MP135Fxx -DDDR_TYPE_DDR3_4Gb -I"C:\Progetti\dbTechnologies\testSTM32\DDR\Drivers\CMSIS\Device\ST\STM32MP13xx\Include" -I"C:\Progetti\dbTechnologies\testSTM32\DDR\Drivers\CMSIS\Core_A\Include" -I"C:\Progetti\dbTechnologies\testSTM32\DDR\Drivers\BSP\STM32MP13xx_DISCO" -I"C:\Progetti\dbTechnologies\testSTM32\DDR\Projects\STM32MP135C-DK\Examples\DDR\DDR_Init\Inc" -I"C:\Progetti\dbTechnologies\testSTM32\DDR\Drivers\STM32MP13xx_HAL_Driver\Inc" -std=gnu11 -MMD -MP -MF"
Hi,i am facing the issue with the header file like I am using ADC pin where i facing the issue with kernel space programming just facing the issue with library like " consumer.h, machine.h , iio.h , and many thing ", but in Workspace i found the library is present but in sysroot directory library is not there also same as a board why the library not include ??.please help me out this problem Note: i am using the openstlinux distributuion package.
Hi,I have customized a board using STM32MP157DAC referencing the mp157d-disco board hardware design.I have problem when trying to flash the image in the Starter Package. The error message as below:20:55:08 : STM32CubeProgrammer API v2.17.0 | Windows-64Bits20:58:45 : UR connection mode is defined with the HWrst reset mode20:58:45 : USB speed : High Speed (480MBit/s)20:58:45 : Manuf. ID : STMicroelectronics20:58:45 : Product ID : DFU in HS Mode @Device ID /0x500, @Revision ID /0x000020:58:45 : SN : 0046001E333151063132363320:58:45 : DFU protocol: 1.120:58:45 : Board : --20:58:45 : Device ID : 0x050020:59:00 : Read TSV File: C:\Users\chenxu\Downloads\ENFLAS~1.TAR\ENFLAS~1.26\STM32M~1.26\images\stm32mp1\FLASHL~1\optee\FL8A1F~1.TSV20:59:00 : Number of partitions: 1320:59:07 : Start Embedded Flashing service20:59:07 : Memory Programming ...20:59:07 : Opening and parsing file: tf-a-stm32mp157d-dk1-usb.stm3220:59:07 : File : tf-a-stm32mp157d-dk1-usb.stm3220:59:07 : Size : 220.41 KB20:59:07 : P
Hi!I having a question. I'm using STM32MP151 processor and my initrd won't work because it got stuck at the initialization of the inird inside init/main.c file inside Linux source. Follow the arrows <------ static int __ref kernel_init(void *unused) { int ret; /* * Wait until kthreadd is all set-up. */ pr_info("static int __ref kernel_init(void *unused): wait_for_completion(&kthreadd_done);"); wait_for_completion(&kthreadd_done); pr_info("static int __ref kernel_init(void *unused): kernel_init_freeable();"); kernel_init_freeable(); <----- pr_info("static int __ref kernel_init(void *unused): kernel_init_freeable(); OK"); /* need to finish all async __init code before freeing the memory */ async_synchronize_full(); .... .... .... } static noinline void __init kernel_init_freeable(void) { .. ... ... pr_info("static noinline void __init kernel_init_freeable(void): do_basic_setup();"); do_basic_setup(); <---- pr_info("static noinline void __
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.