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
I never heard about the PER clock. I'm looking inside CubeMX, but I don't see any PER clock at all. I guess it's periferial clock. So how do I start it? My U-boot won't boot. I guess that if PER will be like 24 MHz, then U-boot will continue. Or am I wrong? D/TC:0 0 call_initcalls:40 level 6 stm32mp1_init_lp_states() D/TC:0 0 stm32mp1_init_lp_states:230 Power configuration: shutdown to 6, suspend to 2 D/TC:0 0 call_initcalls:40 level 6 regulator_core_init() D/TC:0 0 call_initcalls:40 level 7 stm32_rng_release() D/TC:0 0 call_initcalls:40 level 7 regulator_core_cleanup() D/TC:0 0 regulator_core_cleanup:916 disable usb33 D/TC:0 0 regulator_core_cleanup:916 disable reg18 D/TC:0 0 regulator_core_cleanup:916 disable reg11 D/TC:0 0 call_initcalls:40 level 7 release_probe_lists() D/TC:0 0 call_finalcalls:59 level 1 release_external_dt() I/TC: Primary CPU switching to normal world boot serial_stm32 serial@40010000: pinctrl_select_state_full: uclass_get_device_by_phandle_id: err=-19
Hi all, we are trying to start our own board running a STM32MP157DAC1We have so far been able to load the TF-A, OPTEE (only when configured in SYSRAM) and u-boot, our starting point is the openst-linux framework (5.0.2 - mickledore), on top of which we have added our layer to add our dts* and defconfig.Right now, I am not able to program anything into eMMC (set to mmc1)I got this message from STM32CubeProgrammer_CLI : -------------------------------------------------------------------STM32CubeProgrammer v2.14.0 -------------------------------------------------------------------USB speed : High Speed (480MBit/s)Manuf. ID : STMicroelectronicsProduct ID : DFU in HS Mode @Device ID /0x500, @Revision ID /0x0000SN : 002A00173432510E33363738DFU protocol: 1.1Board : --Device ID : 0x0500Device name : STM32MP15xxDevice type : MPURevision ID : -- Device CPU : Cortex-A7Start Embedded Flashing serviceMemory Programming ...Opening and parsing file: tf-a-stm32mp157d-copro-usb.stm32File : tf-a-st
Custom STM32MP151A board with 512MB DDR2.I am trying to write via UART communication with STM32CubeProgrammer, but BL32 processing does not start.What should I do to investigate the cause? [2024-01-12 14:11:52.591] NOTICE: CPU: STM32MP151AAC Rev.Z[2024-01-12 14:11:52.591] NOTICE: Model: STMicroelectronics custom STM32CubeMX board - openstlinux-5.15-yocto-kirkstone-mp1-v22.11.23[2024-01-12 14:11:52.623] INFO: PMIC version = 0x21[2024-01-12 14:11:52.623] WARNING: VDD unknown[2024-01-12 14:11:52.623] INFO: Reset reason (0x14):[2024-01-12 14:11:52.696] INFO: Pad Reset from NRST[2024-01-12 14:11:52.696] INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe2000[2024-01-12 14:11:52.696] INFO: FCONF: Reading firmware configuration information for: stm32mp_io[2024-01-12 14:11:52.696] INFO: Using UART[2024-01-12 14:11:52.696] INFO: Instance 8[2024-01-12 14:11:52.696] INFO: Boot used partition fsbl1[2024-01-12 14:11:52.696] NOTICE: BL2: v2.6-stm32mp1-r2.0(debug):v2.6-dirty(a1f0
Hi,I am trying to migrate my project (custom board using stm32mp153a and 256MB mem) from 4.1.0 to 5.0.0 but I am getting a panic when booting u-boot:Board: MBfdd8 Var2.15 Rev.B-14 DRAM: 256 MiB E/TC:0 tzc_it_handler:79 TZC permission failure E/TC:0 dump_fail_filter:420 Permission violation on filter 0 E/TC:0 dump_fail_filter:425 Violation @0xcff09000, non-secure privileged write, AXI ID 480 M/TC: CPU : 0 M/TC: usr_sp : 0x00000000 M/TC: usr_lr : 0x00000000 M/TC: irq_spsr : 0x00000000 M/TC: irq_sp : 0x00000000 M/TC: irq_lr : 0x00000000 M/TC: fiq_spsr : 0x00000000 M/TC: fiq_sp : 0x00000000 M/TC: fiq_lr : 0x00000000 M/TC: svc_spsr : 0x00000000 M/TC: svc_sp : 0xcdef2ca0 M/TC: svc_lr : 0xcff0a2f0 M/TC: abt_spsr : 0x00000000 M/TC: abt_sp : 0x00000000 M/TC: abt_lr : 0x00000000 M/TC: und_spsr : 0x00000000 M/TC: und_sp : 0x00000000 M/TC: und_lr : 0x00000000 M/TC: pmcr : 0x41072000 E/TC:0 Panic M/TC: CPU : 0 M/TC: usr_sp : 0x00000000 M/TC: usr_lr : 0x00000000 M/TC: irq_spsr : 0x00000000 M/TC: irq
As part of our project, we are using an STM32MP157DAC custom board that has the same design with the STM32MP157D-DK1 development board except for a few changes (schematics of the design is attached)The board generally works when trying to upload and debug code to the M4 core using JTAG-SWI connection.However the board does not work when trying to boot from SD card. The steps in the wiki to populate the linux image to an SD card were used. The Cube Programmer software does not recognise the board.I tried using command line by typing ifconfig (or lsusb), but the connection cannot be recognised.To avoid the Cube Programmer, flashing the linux kernel U-Boot was also tested but no result obtained (The board still does not boot from the SD card).Both booting processes (using cube programmer and u-boot) were tested with an STM32MP157F-EV1 with no problems. Attached is our board's schematics (taken majorly from the reference board (STM32MP157D-DK1). Connection to the board for booting is
stm32mp157f, I need to use uart5 to drive an rs485 but the hardware supplied DE pin is already in use. So I need to configure a different GPIO to use. If the device tree binding rts-gpios is supported, then the task is simplified. We can modify the board to use the gpio. Follow up to that, if it is supported do I still add "linux,rs485-enabled-at-boot-time;"
Hello, I am trying to set up an ST link on the Cubeprogrammer, but whenever I try it gives me an error which states: "Error: No STM32 target found! If your product embeds Debug Authentication, please perform a discovery using Debug Authentication". I am able to boot it in UART but not ST link and research on how to do this has run dry. Any help on how to do this Debug Authentication would be greatly appreciated. Thanks!
I want to download and use firmware (FW) to DDR3. Since DDR is initially disabled, the firmware to activate DDR and the main FW project are separate, and the download procedure is as follows:First, run the DDR activation FW to enable DDR.Download the main FW to DDR and enter debug mode. (The main FW does not perform MPU initialization during download because the debugger has cleared the monitor reset.) For reference, the MPU is the STM32MP131FAE7, and the DDR is the K4B4G1646E.I have successfully enabled DDR and modified the linker script of the main FW to download FW to DDR (base address: 0xC0000000). However, there is an issue. Among various possible problems, the most challenging one to solve right now is that the uint8_t variables are not changing as expected.Even when assigning values to uint8_t variables like: uint8_t val1 = 10; uint8_t val2 = 20; uint8_t val3 = 30; uint8_t val4 = 40;they do not change properly. There are no such issues with uint16_t or uint32_t v
When I use sp_ min, I use the following command to generate fip in the Bareenvironment, and can start the u-boot normally:fiptool create --tos-fw bl32.bin --nt-fw u-boot-nodtb.bin --fw-config stm32mp157d-***-fw-config.dtb --hw-config stm32mp157d-xx.dtb --tos-fw-config stm32mp157d-***-bl32.dtb fip.binBut when I use OP-TEE, I use the following command:fiptool create --tos-fw tee-header_v2.bin --tos-fw-extra1 tee-pager_v2.bin --tos-fw-extra2 tee-pageable_v2.bin --fw-config stm32mp157d-***-fw-config.dtb --nt-fw u-boot-nodtb.bin --hw-config u-boot.dtb --tos-fw-config stm32mp157d-***-optee.dtb fip.bin The result is that can't enter the u-boot,stuck somewhere, I don't know whether there is a problem with the configured op-tee system or the generated fip method is wrong?Please take a look. Thank you very much.
I'm facing the issue were the USB connection is re-connecting, which results that STM32CubeProgrammer re-flashing the device over and over again when the fip-boot has be fully loaded. So what can cause this restarting and re-connection? Is it something with U-boot?I have heard that CubeProgrammer may having some issues with timeouts, but in this case, the board is just restarting itself. FAQ : STM32MP1 STM32CubeProgrammer USB reconnect e... - STMicroelectronics CommunityHere is the flashlayout: #Opt Id Name Type IP Offset Binary - 0x01 fsbl-boot Binary none 0x0 arm-trusted-firmware/tf-a-stm32mp151a-stm32-computer-firmware-mx-usb.stm32 - 0x03 fip-boot FIP none 0x0 fip/fip-stm32mp151a-stm32-computer-firmware-mx-optee-emmc.bin P 0x04 fsbl1 Binary mmc1 boot1 arm-trusted-firmware/tf-a-stm32mp151a-stm32-computer-firmware-mx-optee-emmc.stm32 P 0x05 fsbl2 Binary mmc1 boot2 arm-trusted-firmware/tf-a-stm32mp151a-stm32-computer-firmware-mx-optee-emmc.stm32 P
Hello,I am trying to set a static MAC address on an STM32MP157 board via U-boot, I have been following this guide.https://wiki.st.com/stm32mpu/wiki/How_to_update_OTP_with_U-Boot#:~:text=The%20fuse%20command%20allows%20you,(for%20a%20temporary%20update)It seemed to work as the ethaddr has been set as seen in image1, however when I boot the board and check ifconfig the MAC address is not present and the board is still using a different MAC address on each boot.Does anyone have any thoughts or ideas on what to do?RegardsStephen
Hi,We are using STM32MP157CAA3T processor. We have implemented USB, UART and SD card for Booting purpose.And currently we are programming the processor via UART8 by using USB to UART convertor.Used UART4 Debug port for troubleshooting the board.Problem is that, we are not able to program the board. And also USB, UART and SD card are failing to boot the processor.
I think this one might be very easy. It's just a configuration I need to set, but I don't know what configuration I need to write.We can begin with the error log. The error is about the clock for the MPU. It as not been set yet and I don't know why. D/TC:0 0 get_opp_freqvolt_from_dt_subnode:1426 Invalid opp-supported-hw 0x2 D/TC:0 0 get_opp_freqvolt_from_dt_subnode:1426 Invalid opp-supported-hw 0x2 D/TC:0 0 stm32_cpu_opp_is_supported:558 Not supported opp-supported-hw 0x2 D/TC:0 0 stm32_cpu_opp_is_supported:558 Not supported opp-supported-hw 0x2 D/TC:0 0 stm32_cpu_opp_is_supported:558 Not supported opp-supported-hw 0x2 D/TC:0 0 stm32_cpu_opp_get_dt_subnode:623 Found OPP 0 (650000kHz/1200mV) from DT D/TC:0 0 stm32_cpu_opp_is_supported:558 Not supported opp-supported-hw 0x2 D/TC:0 0 set_voltage_then_clock:151 opp = 0, cpu_opp.dvfs[opp].volt_mv = 1200 D/TC:0 0 _set_opp_clk_rate:92 opp = 0, cpu_opp.dvfs[opp].freq_khz = 650000 D/TC:0 0 stm32mp1_set_opp_khz:3856 freq_khz = 650000
make ARCH=arm O="$PWD/../build" multi_v7_defconfig fragment*.configmake[1]: Entering directory '<path>/Developer-Package/stm32mp1-openstlinux-4.19-thud-mp1-19-02-20/sources/arm-openstlinux_weston-linux-gnueabi/linux-stm32mp-4.19-r0/build' GEN ./Makefile## configuration written to .config# GEN ./Makefile<path>/Developer-Package/stm32mp1-openstlinux-4.19-thud-mp1-19-02-20/sources/arm-openstlinux_weston-linux-gnueabi/linux-stm32mp-4.19-r0/linux-4.19.9/scripts/kconfig/Makefile:109: *** No configuration exists for this target on this architecture. Stop.make[2]: *** [<path>/Developer-Package/stm32mp1-openstlinux-4.19-thud-mp1-19-02-20/sources/arm-openstlinux_weston-linux-gnueabi/linux-stm32mp-4.19-r0/linux-4.19.9/Makefile:539: fragment*.config] Error 2make[1]: *** [<apth>K/Developer-Package/stm32mp1-openstlinux-4.19-thud-mp1-19-02-20/sources/arm-openstlinux_weston-linux-gnueabi/linux-stm32mp-4.19-r0/linux-4.
Objective is to get the RGB888 LCD working with ECO 5.0 This panel worked fine with ECO 1.0[1] Follow this, topic: https://community.st.com/t5/stm32-mpus-products/stm32mp1-ltdc-device-tree-for-rgb-display/td-p/315953. In ECO 5.0 these DT entries seems not valid anymore. DTC warnings occurs as listed below, even though the build goes through.[2] RGB LCDs have reset and Enable pins for LCD control, The link above had an DT entry for it. enable-gpios = <&gpioh 15 GPIO_ACTIVE_HIGH>; // DISP reset-gpios = <&gpioh 7 GPIO_ACTIVE_HIGH>; // RESET But PH7 the reset pin is not released at boot. using gpioset -c 7 7=1, the reset is released (backlight goes on), it seems the panel DT node is ignored or panel entries have been changed. Since CubeMX does not generate DT panel examples and the wiki's might be outdated, it feels like a state of limbo.P.S: when using gpioget -c 7 7, the tool seems to reconfigure the I/O as input and the o
An simple RGB LCD panel does not show any screen or backlight.Trying to solve that to enable the PWM backlight timer for it.Some post followed:https://www.kernel.org/doc/Documentation/devicetree/bindings/display/st%2Cstm32-ltdc.txthttps://community.st.com/t5/stm32-mpus-products/how-to-add-pwm-backlight-to-timer-block/td-p/213372https://community.st.com/t5/stm32-mpus-embedded-software/pwm-backlight-not-working-can-you-please-check-my-device-tree/td-p/202199https://community.st.com/t5/stm32-mpus-embedded-software/how-to-use-timers2-as-pwm-backlight/td-p/357071cat /sys/kernel/debug/pinctrl/soc\:pinctrl@50002000/pinconf-pins | grep PA5pin 5 (PA5): alternate 1 (TIM2_CH1 TIM2_ETR) - push pull - pull down - low speedroot@stm32mp1:~# cat /sys/kernel/debug/pwm platform/40000000.timer:pwm, 4 PWM devices pwm-0 (backlight requested enabled period: 5000000 ns duty: 5000000 ns polarity: normal pwm-1 ((null) period: 0 ns duty: 0 ns polarity: normal pwm-2 ((null) period: 0 ns du
For Rockchip RGB panel this link to refers to device tree binding of panel-dpi, (MIPI-DPI), https://wiki.st.com/stm32mpu/wiki/Display_panels_hardware_componentsSeveral RGB panels are also listed in panel-simple.yaml. Which devicetree bindings one to follow for RGB panels ?
I'm trying to run my application compiled and linked for DDR on STM32MP135F-DK. Following the wiki istruction it's necessary preliminary to run the DDRInit project on SYSRAM that initialize the DDR and then execute my custom program.When I execute the DDRInit project the DDR configuration seems to be ok but when ddr_test_data_bus() is executed it fail at the first DDR base address 0xC0000000. Can someone explain to me why? Thanks in advance.
I have seen an example diagram of STM32MP13X + RTL8363NB in the AN5474 document, how can RCC be implemented in software to provide 125MHz and where can I find the code for that example?
Hello,I have compiled a custom image to run on the M4 core on my stm32mp157f-dk2. I generated the code using STM32CubeMX. I am able to build it fine but am having issues launching it on the m4 core. Here are the commands that I run. echo executable.elf > /sys/class/remoteproc/remoteproc0/firmware echo start > /sys/class/remoteproc/remoteproc0/state The output I get is this root@stm32mp1-brady:/lib/firmware# echo start > /sys/class/remoteproc/remoteproc0/state [ 169.647382] remoteproc remoteproc0: powering up m4 [ 169.651669] remoteproc remoteproc0: Image is corrupted (bad magic) [ 169.657239] remoteproc remoteproc0: Boot failed: -22 -sh: echo: write error: Invalid argument I could not find a clear solution or cause to this. Does anyone know what this error means? I am able to run the OpenAMP_TTY_echo.CM4.elf on the M4 core using the same commands with no issues.Thanks.
It's fun to debugging the output when I flashing the processor/eMMC from CubeProgrammer via USB. But it's less fun to not knowing the cause of the error.What can it be in this case?Do I have forgot the sett the board ID, is the unknown VDD the error?What I have done, is to copy the most of stm32mp15xx-dk1.dtsi into stm32mp15x-<your project device tree>-mx.dts because my custom made bord is the same as STM32MP157D-DK1 + eMMC boot. See the post here: Debug Output UARTMy device tree .dts files: Device Tree STM32MP151AAC3
I'm having some trouble booting my custom board containing a STM32MP157F. I'm able to program everything using STM32CubeProgrammer, but i'm not able to boot:WARNING: Firmware Image Package header check failed.WARNING: Failed to obtain reference to image id=2 (-2)ERROR: BL2: Failed to load image id 2 (-2)If I'm right image id 2 is HW_CONFIG. What worries me are the following lines in the log:partitions on mmc1: Writing GPT: success!doneErasing fip-b on mmc 1:Caution! Your devices Erase group is 0x300The erase range would be change to 0x2c00~0x4bffdoneErasing u-boot-env on mmc 1:Caution! Your devices Erase group is 0x300The erase range would be change to 0x4c00~0x4fffCould this be the reason why image 2 won't load? Some kind of eMMC alignment issue?The whole log is attached.
Custom board. with STM32MP157 Objective is the use spidev to test and make transfer over the SPI2 bus. Problem: no ls /dev/spi*Added SPI2 using cubeMX to a project without these and generate the files.Compare the files generated with files generated for configuration w/o SPI2 1. stm32mp151.dts contains the nodes for spi2No changes needed/made2. TFANo differences found 3. OP-TEE- Added ETZPC nodes for SPI2DECPROT(STM32MP1_ETZPC_SPI2_ID, DECPROT_NS_RW, DECPROT_UNLOCK)- Added the clockCLK_SPI2S23_PLL4PNote: These changes are not mentioned in the WIKI 4. U-Boot- Added pinctrl nodes- Added device nodes5. Kernel- In board_defconfig file add the requirements as per the SPI WIKI.- Added pinctrl nodes (same as uboot)- Added device nodes (same as uboot) 6. for the nodes the dma deletion was uncommented, otherwise the following errors appears in dmesg. The PIO error was fixed by using the cs property in the device node, instead of PI0 i Pinctrl section (C
is it possible to OpenSTlinux distribution Package SD card images , flashing directly on board(STM32MP157F -DK2) in EMMC. I do not want to use SD card for booting. please help me out this.
i try to flash starter package to our mmc but the error is found i done step by stepin botton text i bold the error please check it once and help me out why this is happend. 10:55:11 : UR connection mode is defined with the HWrst reset mode10:55:11 : USB speed : High Speed (480MBit/s)10:55:11 : Manuf. ID : STMicroelectronics10:55:11 : Product ID : DFU in HS Mode @Device ID /0x500, @Revision ID /0x000010:55:11 : SN : 00420027313251183137333910:55:11 : DFU protocol: 1.110:55:11 : Board : --10:55:11 : Device ID : 0x050010:55:11 : Start Embedded Flashing service10:55:11 : Memory Programming ...10:55:11 : Opening and parsing file: tf-a-stm32mp157f-dk2-usb.stm3210:55:11 : File : tf-a-stm32mp157f-dk2-usb.stm3210:55:11 : Size : 220.41 KB10:55:11 : Partition ID : 0x0110:55:11 : Download in Progress:10:55:13 : File download complete10:55:13 : Time elapsed during download operation: 00:00:01.81810:55:13 : RUNNING Program ...10:55:13 : PartID: :0x0110:55:13 : Start ope
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.