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,I want to boot my image from the user data area partition in the eMMC of my stm32mp257f-ev1 board by disabling the eMMC hardware partitions (the mmcblk1boot0/1) in U-Boot like this: mmc partconf 1 0 0 0 Unfortunately, the ROM code can't load my image (even TF-A). Here's my WIC file:part --part-name fsbla1 --fixed-size 256K --source rawcopy --sourceparams="file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware/tf-a-${STM32MP_DT_FILES_EMMC}-optee-emmc.stm32" --align 4096 part --part-name fsbla2 --fixed-size 256K --source rawcopy --sourceparams="file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware/tf-a-${STM32MP_DT_FILES_EMMC}-optee-emmc.stm32" --align 4096 # metadata for fsbla update part --part-name metadata1 --fixed-size 256K --source rawcopy --sourceparams="file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware/metadata.bin" --part-type 8DA63339-0007-60C0-C436-083AC8230908 part --part-name metadata2 --fixed-size 256K --source rawcopy --sourceparams="file=${DEPLOY_DIR_IMAGE}/arm-
I want to display the loop log at start up from UART to the HDMI. How can i achieve that?Is it something I need to change in the device tree for linux or something?My HDMI and UART works excellent. Now I want to connect them...or in other words, display the start up log at the HDMI.
I would like to access a SPI Device (Ethercat Shield) over the Arduino Headers (SPI4). What do i have to do to get the /dev/spidev... device file in Linux ? Sorry, but i'm still confused what is enabled, what do i have to enable in DTS files and when i have to rebuild the kernel (that works :) )Thanks Daniel
Hi!When I launch apt-get update I got this E/TC:0 dump_fail_filter:420 Permission violation on filter 0 E/TC:0 dump_fail_filter:425 Violation @0xdf800000, non-secure privileged read, AXI ID 4a0 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 @0xdf800000, non-secure privileged write, AXI ID 480 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 @0xdf800020, non-secure privileged read, AXI ID 4a0 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 @0xdf800040, non-secure privileged read, AXI ID 4a0 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 @0xdf80008
I'm trying to boot from SD-card and u-boot doesn't seem to find device tree. I have built my system with buildroot (bootlin st/2023.02.2) overriding the sources for tf-a, u-boot, op-tee and kernel, to be able to boot at least to u-boot (I did write another posts of my problems).The files in SD-cardboot ├── extlinux │ └── extlinux.conf ├── myb-stm32mp135x-512m.dtb └── zImageextlinux.conflabel myb-stm32mp135x-512m-buildroot kernel /boot/zImage devicetree /boot/myb-stm32mp135x-512m.dtb append root=/dev/mmcblk0p5 rootwait rw console=ttySTM0,115200genimageimage sdcard.img { hdimage { partition-table-type = "gpt" } partition fsbl1 { image = "%ATFBIN%" } partition fsbl2 { image = "%ATFBIN%" } partition fip { image = "fip.bin" } partition u-boot-env { size = 2M } partition rootfs { image = "rootfs.ext4" bootable = "yes" } }So any ideas why it doesn't work?
Ok, good to know it is a known issue. And no problem with it.What can I do then in order to proceed ?Are there other files missing ?How can I complete the installation and make sure eveyrthing is there ?
PA13 and PA14 seems to support Coresight. Is there more information how this can be used and how to connect these pins ? currently I use PA13 to connect a LED, for PA14 there is less information.
Hi,I am successfully able to cross-compile a Qt application and run it on a STM32MP157F-DK2 using the various tutorials on this site.Problem is, I want to view the application using the internal LCD of the board (800*480), but the application is designed for a 1920*1080 screen.It runs, but only half of the window is visible. I tried to run it on Weston and EGLFS, same result.Is it possible to zoom out/rescale the application using some Weston/EGLFS parameters, so that the whole window is visible? I am aware that the contents are gonna be tiny, that's not a problem.I tried QT_SCALE_FACTOR=0.5 using EGLFS, but that didn't work.
The Linux version I am using is 6.1.28, and my power management is a discrete component. "VDD_CORE" is actually 1.212V, and in the device tree it looks like this: vddcore: regulator-vddcore { compatible = "regulator-fixed"; regulator-name = "vddcore"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1350000>; regulator-always-on; regulator-boot-on; };If I follow the above settings, my "/sys/devices/system/cpu/cpufreq/" will be empty, but if I change the 1200000 in "regulator min microvolt=<1200000>;" to 1350000, it will be normal. Why is this?
Hi, I am also using the DFR0550 screen: https://wiki.dfrobot.com/5%27%27TFT-Display_with_Touchscreen_SKU_DFR0550Unfortunately, I am not able to make it work for now, here is the status: The best resources I have found is the following: https://trac.gateworks.com/wiki/venice/multimediaIt provides the following device tree example: https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rpidsi.dtsoI have then made the following changes in stm32mp157a device tree: / {chosen {stdout-path = "serial0:115200n8";};aliases {ethernet0 = &ethernet0;};panel {compatible = "powertip,ph800480t013-idf02";power-supply = <&attiny>;backlight = <&attiny>;port {panel_in: endpoint {remote-endpoint = <&bridge_out>;};};};};&i2c5 {pinctrl-names = "default", "sleep";pinctrl-0 = <&i2c5_pins_b>;pinctrl-1 = <&i2c5_sleep_pins_b>;i2c-scl-rising-time-ns = <185>;i2c-scl-falling-time-ns = <20>
What is boot scheme lables. I am refering to link below it is given as " defines which kind of boot is supported on the board"What it means.referring to link below: https://wiki.st.com/stm32mpu/wiki/STM32_MPU_OpenSTLinux_release_note_-_v4.1.0#Bootscheme_labels
Hi all,i'm writing a program to run on STM32MP135F-DK board that enable the USB host ports of the board.All the projects I've found are using the OTG port as host.All the HAL_HCD apis and xxx_ll_usb source use the OTG structures.Is there ant sample for USB HOST ports?I only found the macros: #define USB1HSFSP2_BASE (AHB6_PERIPH_BASE + 0xC000UL) #define USB1HSFSP1_BASE (AHB6_PERIPH_BASE + 0xD000UL) ... #define USB1_EHCI ((USB_EHCI_CapabilityTypeDef *) USB1HSFSP1_BASE) that's ok .. but what about all the other USB (EHCI/OHCI) registers described in the manual?Thanks!
Hi All,I am trying starting my uboot from micro sd card for my device(STM32MP1157D-DK1 .But I am not getting any serial device connection on my host PC and keep on seeing this Red Led Blinking.
Hello Friends, I am trying to configure USART3 as UART full duplex on the STM32MP157 evaluation board. The pin configuration for USART seems to be working correctly, but I’m having trouble with the USART3 Control Register1 & BRR . Can anyone help me identify what might be wrong with the code? Code: /*---------------------PIN CONFIGURATION-----------------*/ RCC->MC_AHB4ENSETR |= (1<<1); //ENABLE GPIOB PERIP. CLOCK ENABLE /*------------CHANGE MODER TO ALTERNATE FUNCTION MODE (10)--------------*/ //PB 10 -- TX_USART3 //PB 12 -- RX_USART3 GPIOB->MODER |= (1<<21); //pb10 GPIOB->MODER &= ~(1<<20); GPIOB->MODER |= (1<<25); //pb12 GPIOB->MODER &= ~(1<<24); /*-----------SET GPIO ALTERNATE FUNCTION REGISTER-----------------------*/ //AF7-----USART AVAILAVBLE AT AF7 IN DIAGRAM (AF7 = 0111 =7 , AF8=1000=8 - GPIO ALTERNATE REGISTER) //ARF - [0] (LOW_REGISTER), [1] (HIGH_REGISTER) GPIOB->AFR[0] = 0x00; //ARF LOW = 0 HAS 1 TO 7, ARF[1]
Hello,I am using the STM32MP135DAF7 chip for bare metal development, and now I have encountered a problem. Specifically, I have transplanted the FreeRTOS system on this chip, and in the boot_develop mode, I can run FreeRTOS normally, that is, ddr_init->FreeRTOS_app, but I burned the .stm32 file (bin signature file) of FreeRTOS_app into EMMC and used it as boot_EMMC startup. After the program is powered on, FreeRTOS_app did not run successfully; I used the FSBLA_EMMC program to debug and found that the FSBLA_EMMC program has run successfully and copied the second-stage app code to DDR, but the subsequent second-stage FreeRTOS_app still did not run successfully. Can anyone help me analyze what the problem is? If it is not FreeRTOS, but other app codes, such as lighting, they can be started normally.
Hi, I have a custom board based on a STM32MP153 and I'm trying to reduce CPU (MPU) max frequency... Now it's running at 650Mhz, which is the default configuration. looking at the Wiki : https://wiki.st.com/stm32mpu/wiki/How_to_change_the_CPU_frequency#CPU_frequency_configuration_2 in the configuration side, it seems to me that changing PLL1 clock is enough (thanks to TF-A algorithm).But nothing is changing... Running the command cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_cur_freq I still see 650Mhz and u-boot prints always 650Mhz: U-Boot 2021.10-stm32mp-r1-dirty (Oct 04 2021 - 15:09:26 +0000) CPU: STM32MP153CAC Rev.Z Model: STMicroelectronics custom STM32CubeMX board - openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15 Board: stm32mp1 in trusted mode (st,stm32mp157c-es-dcc-proto-b-mx) DRAM: 1 GiB Clocks: - MPU : 650 MHz - MCU : 165 MHz - AXI : 201.333 MHz - PER : 0 MHz - DDR : 302 MHz The other peripherals (e.g. AXI or DDR) seems to
We have the STM32MP157 EV1 Board, build our own yocto images (using the st layers) and are able to flash the images into emmc using STM32_Programmer_CLI.exe. Everything works great.Now we received our first custom boards with the same STM32MP157 Chip and the same workflow does not work anymore.STM32_Programmer_CLI.exe -c port=USB1 -w .\FlashLayout_emmc_stm32mp157f-cubemx_xmaster5-mx-optee.tsv -vb 3 Memory Programming ... Opening and parsing file: debug-tf-a-stm32mp157f-cubemx_xmaster5-mx-usb.stm32 File : debug-tf-a-stm32mp157f-cubemx_xmaster5-mx-usb.stm32 Size : 220.50 KB Partition ID : 0x01 Download in Progress: Size : 225788 Bytes [... whole lot of output ...] DFU status = 0 : OK DFU state = 4 : dfuDNBUSY bwPollTimeout = 1 DFU status = 0 : OK DFU state = 5 : dfuDNLOAD-IDLE bwPollTimeout = 1 Segment[0] downloaded successfully File download complete Time elapsed during download operation: 00:00:03.477 RUNNING Program ... PartID: :0x01 DFU status = 0 : OK DFU stat
Hi ,I try to connect my Pendrive to USB Hub port, but it is not connecting, when ever i remove the touch panel from the slot, then my Pendrive detected . i am using the stm32mp157f-dk2 (custom board ). after removing touch panel, my Pendrive detected.and when I plugin the touch panel, then my Pendrive not detected to USB port, i check it with different pendrive but the same result i got.Note: USB hub and touch panel both are connected with same I2C1 pin, why this issue ?
Hi,I am using board STM32MP157F-DK2. The TZC controller used here is TZC-400. Does this works only for DDR addresses, i.e. 0xC000 0000 - 0xEFFF FFFF? Or I can set other addresses outside the DDR range? Can you please help with more details. Regards,debashis
Hi, I'm new to yocto project,while building core minimal image , my Linux PC got shutdown bcoz of low battery , after restarting it , trying to use bitbake command , but it shows command not found , Do i Need to again build the environment by source oe-init-build-env command , or any other methods to source the build environment , and resume my building minimal image,or creating new environment won't disturb my building the minimal image,Thank for helping me.
Hi!I notice one thing when I build my STM32MP151 custom board and implemented OpenSTLinux with my own .dtb and Linux kernel.I hade enormous issues to get a basic setup of STM32MP151 up and running with Linux. I found out that the Linux kernel is destroying the working queue, which results that the linux kernel halts.I have posted the working custom board for STM32MP151 project here. Give it a star so other knows that this is a working board for STM32MP151.https://github.com/DanielMartensson/STM32-Computer/ Question:When I comment this line in the file kernel/trace/trace.c, my board just works like a charm. So why is it that? I need to disable the destruction of the working queue eval_map_wp in order to make the board lose it's critical errors? static int __init trace_eval_sync(void) { /* Make sure the eval map updates are finished */ if (eval_map_wq){ /*destroy_workqueue(eval_map_wq); */ } return 0; } Feel free to download the gerber files and bui
Hello -I have the STM32MP257x-EV1 up and running the base image. I have included the layers for the Ethernet switch and TSN. I am trying to understand the embedded Ethernet Switch better. I am working with the assumption that I can plug in two endpoints to ETH1 and ETH3 with no interaction from the MPU and pass ethernet traffic (e.g., ping).But this does not work from the get-go. Is there something that needs to be done to enable it?
how to connect stm32mpu157d-dk to the display can somebody please help me
When enabling the HDMI output for displaying on the screen/TV, one must run the following command modetest -M stm https://wiki.st.com/stm32mpu/wiki/How_to_display_on_HDMIThe tool modetest provided by the libdrm library[3] is useful to: List all display capabilities: CRTCs, encoders & connectors (DSI, DPI, HDMI, ...), planes, modes, etc... Perform basic tests: display a test pattern, display 2 layers, perform a vsync test Specify the video mode: resolution and refresh ratehttps://wiki.st.com/stm32mpu/wiki/DRM_KMS_overview#modetest_.28DRM.2FKMS_test_tool.29Question:I've built a new operate system for STM32MP1https://github.com/danielmartensson/STM32-OSNow I need to install libdrm package for handling the HDMI display connection. Which Ubuntu package should I use to install HDMI connection?https://packages.ubuntu.com/search?keywords=libdrm&searchon=names&suite=noble&section=allIs it libdrm-common or other?
Hello, I am trying to see if I can enable the J1939 protocols on the stm32 mp158d-dk1 board. I used the menuconfig to update the setting. After doing that I updated the uimage, dtb, and modules to the stm32 mp1 device. root@stm32mp1:/# dmesg | grep -i can [ 0.256925] CAN device driver interface [ 0.322146] can: controller area network core [ 0.322257] NET: Registered PF_CAN protocol family [ 0.322272] can: raw protocol [ 0.322285] can: broadcast manager protocol [ 0.322300] can: netlink gateway - max_hops=1 [ 0.322537] can: SAE J1939 [ 2.012003] m_can_platform 4400e000.can: m_can device registered (irq=50, version=32) [ 2.411352] remoteproc remoteproc0: cannot get detach mbox [ 369.920763] IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready I can see that SAE J 1939 protocol is active. I used the following headers to read from the linux user land. #include<linux/can/j1939.h> // I got no errors with the header file. #include <
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.