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
Hi,We are using stm32mp157a-dk1 board. In this when we boot Cortex-M4 code with rproc commands in uboot, cortex-M4 is running.We are using stm32mp157aaa3 processor in my custom board. When we are trying to boot Cortex-M4 in Uboot with rproc commands. It is not running.When we give rproc init commands we are getting Remote Processors are alread Intialized message on Console.When we give rproc load command we are getting load failed message on console.Note:Cortex-M4 is running individually with Jtag and QSPI boot.How can i boot Cortex-M4 in Uboot With Rproc commands?You can find in below Attachment for rproc Commands in my custom board.Please help us in this reagrds.
Hi, community.I am trying the SD UHS-I mode on your evaluation board(STM32MP157F-EV1), but it does not work.Q1. Does HAL support UHS-I?Q2. Is it necessary to enable SDMMC_CLKCR_SELCLKRX_1? (when using STM32MP157F-EV1 board)Q3. What is the reason why it works in 1Bit mode but not in 4Bit mode?Additional InformationEvaluation board: STM32MP157F-EV1HAL library: STM32MP1xx HAL Driver(v1.5)File system: FatFs(exFat)Port used: SDMMC1CPU: Cortex A7RTOS: No (Baremetal) Not use OpenSTLinuxSDMMC1 clock source: PLL4 (100MHz)Instance = SDMMC1ClockEdge = FallingClockPowerSave = EnableHardwaraFlowControl = EnableBusWide = 1Bit or 4BitClockDiv = 1 (50MHz)UHS-I Speed Mode = SDR25HAL Customization#define USE_SD_TRANSCEIVER (1)#define USE_SD_DIRPOLBest regards,
We need to enable/disable pwr_sw1 and pwr_sw1 preferably via sysfs:vdd_usb_sw: pwr_sw1 { regulator-name = "vdd_usb_sw"; }; vdd_sd_sw: pwr_sw2 { regulator-name = "vdd_sd_sw"; regulator-always-on; regulator-boot-on; regulator-active-discharge = <1>; };How can we achieve this?
Hi everyone,I'm trying to optimize the boot time of tf-a with Yocto but don't find much information on the web. Currently tf-a takes about 1s from the point in which it is read from NOR to the point it loads UBoot from same NOR. I optimized the Linux kernel to take about 1.5s to boot (no ethernet) so the tf-a boot time has now an important weight in the whole boot time of the system.There is this link which explains how to set some compiler flags while compiling tf-a without Yocto but didn't find the equivalent flags in Yocto.$ make STM32MP1_DEBUG_ENABLE=0 \ STM32MP1_UART_PROGRAMMER=0 \ STM32MP1_USB=0 \ STM32MP1_QSPI_NOR=0 \ STM32MP1_QSPI_NAND=0 \ STM32MP_FMC_NAND=1 \ STM32MP_EMMC=0 \ STM32MP_SDMMC=0 \ …As I'm booting from NOR, I trying setting the following in a bbappend:TF_A_EXTRACONF_LEGACY=" STM32MP_SDMMC=0 STM32MP_EMMC=0 STM32MP_SPI_NOR=1 STM32MP_RAW_NAND=0 STM32MP_SPI_NAND=0 STM32MP_USE_STM32IMAGE=1"But neither the size not the boot time of tf-a improved. The only Yocto f
Hi! I am using STM32MP157C-DK2 board to create an application on the screen (using GTK library). My idea is to create a window with the following image inside:Created code:#include <gtk/gtk.h> int main(int argc, char **argv) { GtkWidget *window; GtkWidget *layout; GtkWidget *image; GtkWidget *button; gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size (GTK_WINDOW (window), 800, 480); gtk_window_set_title (GTK_WINDOW (window), "Info window"); // gtk_window_fullscreen(GTK_WINDOW(window)); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); layout = gtk_layout_new(NULL, NULL); gtk_container_add(GTK_CONTAINER (window), layout); gtk_widget_show(layout); image = gtk_image_new_from_file("linux.png"); gtk_layout_put(GTK_LAYOUT(layout), image, 600, 50); button = gtk_button_new_with_label("PREVIOUS"); gtk_layout_put(GTK_LAYOUT(layout), button, 150, 300); gtk_widget
Hello,I am using the stm32mp157c-ev1 board. I used this guide from digi-key to install debian on it (Debian: Getting Started with the STM32MP157), except in the parts where it says stm32mp157c-dk2 i replaced that with the appropriate '-ev1' suffix. I have also followed the same guide on discovery kit 2 board and it worked without issue.The problem is that when I try to boot from the board via the UART4 through minicom, while everything looks to be booting correctly (minus this error: *ERROR* failed to attach bridge /soc/dsi@5a000000 to encoder DPI-31: -517). Meaning that it shows me the login prompt, however i cannot enter anything. I tried connecting a keyboard to the board and it still does not seem to receive any input.Trying to connect via the st-link is even stranger as it shows me no output at all (even though CubeIDE is able to detect the ST-LINK S/N via the debugger). I have even done the ST-LINK upgrade from CubeIDE.OUTPUT:NOTICE: CPU: STM32MP157CAA Rev.B NOTICE: Model: STMicr
Hi,We are using stm32mp157a processor in our custom board. In Stm32mp157a-Dk1 board i am able to run Cortex-M4 code in uboot using rproc commands Cortex-M4 is working fine. Where as in my custom board I followed the same sequence but Cortex-M4 is not booting. What is the issue. Do i need to modify any configuration in uboot regarding rproc? I refereed 3.1 chapter in following link.https://wiki.st.com/stm32mpu/wiki/How_to_start_the_coprocessor_from_the_bootloader
Welcome, why for STM32MP157FAA1 at "STM32MP1 Series DDR memory routing guidelines examples" there is no terminating resistors?
we are developing the application by using STM32MP1 processor in bare metal.we are able to wake up Cortex A7-1 from Cortex A7-0 both are working fine. Now we tried to wake up Cortex M4 from Cortex A7-0,But we are unable to wakeup Cortex M4 from Cortex A7-0.Individually Cortex M4 is working fine with JTAG .and we can able to wake up Cortex M4 from UBOOT By using RPROC commands . But in our application we need to wake up Cortex M4 from cortex A7-0 in bare metal. Can you give the sequence of waking up cortex-m4 from Cortex-A7-0 in Bare metal.So please help us in this.
Using the KMS/DRM driver, how can I change the emulated framebuffer format? I'm using simple-panel and the framebuffer has always only 16-bit color even though the driver explicit sets the format for 24-bit colors (.bus_format = MEDIA_BUS_FMT_RGB888_1X24). fbset doesn't work:fbset -g 800 480 800 480 24 fbset: FBIOPUT_VSCREENINFO: Invalid argumentmodetestmodetest -M stm Encoders: id crtc type possible crtcs possible clones 32 38 DPI 0x00000001 0x00000001 Connectors: id encoder status name size (mm) modes encoders 33 32 connected DPI-1 154x86 1 32 modes: index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot #0 800x480 57.29 800 1010 1011 1057 480 503 523 545 33000 flags: ; type: preferred, driver props: 1 EDID: flags: immutable blob blobs: value: 2 DPMS: flags: enum enums: On=0 Standby=1 Suspend=2 Off=3 value: 0 5 link-status: flags: enum enums: Good=0 Bad=1 value: 0 6 non-desktop: flags: immutable range values: 0 1 value: 0 4 TILE: flags: immu
When using DCMI camera capture and at the same time play or record audio, there is bad interference in the camera picture. I'm using Linux and ALSA libraries in a platform based on STM32MP157C. Maybe some DMA problem ? The audio is using SAI as with the STM32MP157C-DK2 board.
hi,i would like to be able to control the pmic from user space. everything that i have read in the stm documentation indicates that it is not possible to do this. the sysfs interface is read only. i would like to be able to access the consumer driver interface from user space. or, make the sysfs interface writeable. is it possible to do one of these items or something else?thanks,vince
Hello,In the wiki I have found these lines:5.3 Non-volatile counters↑Each certificate embeds a non-volatile counter value that is checked to control anti-rollback mechanism.There are two non-volatile counters: - Trusted non-volatile counter - Non trusted volatile counterOn STM32MP1, TAMP monotonic counter is used to store the backup value, which requires backup battery to maintain the content. It is mandatory to align the same value between trusted and non-trusted value as only one counter is used as reference.Source: https://wiki.st.com/stm32mpu/wiki/TF-A_BL2_Trusted_Board_Boot#Non-volatile_countersI'm afraid, we are implementing secure boot, but we are not planning to use a battery. VBAT won't be maintained when the board is off. And so content won't be maintained.Instead, we connected VBAT to 3V3 and we added a 100nF decoupling capacitor.What is the impact on the secure boot? Would it be working in that case, even if TAMP is not powered?Thanks,Best regards,Charles
Building per the Developer Package Device Tree Building WikiUsing STM32MP1-Ecosystem_v4.0.0Verified libssl-dev and libncurses have been installedopenssl version 3.0.0 is presentconfirmed libcrypto.so is present at usr/lib/x86_64_linux-gnu[fiptool] Create fip-stm32mp153a-xpro-mp1-mx-optee.bin fip binary into 'FIP_DEPLOYDIR_FIP' folder... fiptool: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory [fiptool] Done
With the holiday season coming up, we are organizing a series of contests around STM32 solutions!We will publish 8 contests on our STM32 Facebook page in December–and you’re welcome to join in every time! We will select 45 winners throughout the month, based on your correct answers to the questions. Enter the contest for a chance to win a prize among over 200 giveaways including:STM32 boardsBluetooth® Low Energy speakersBackpacks, mugs, thermos flasksVittascience starter kits … and many more! To maximize your chances of success, check out our STM32 webpages to prepare for the quiz!See you on December 6 for the first contest.Good luck to all! Links:Join contest: https://www.facebook.com/STM32Learn more about STM32 solutions: https://www.st.com/en/microcontrollers-microprocessors.html?ecmp=tt30010_gl_social_nov2022
I have to use OSDP protocol over stm32mp157 by using LibOSDP in my yocto build. How to build it, from where to start?(sorry but i am new to linux thus maybe a silly question, but any guidance would really be appriciable )
Hello,We are using stm32mp157A processer in my custom board.We need to change voltage values in Arm trusted firmware (TFA 2.5) dtsi file .For that we changed voltages as per our custom board but it is not effected.vdd: buck3 { regulator-name = "vdd"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; st,mask-reset; regulator-initial-mode = <0>; regulator-over-current-protection; }; we need 1.8v for this buck3 so we changed above node to 1.8v using below node.vdd: buck3 { regulator-name = "vdd"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; st,mask-reset; regulator-initial-mode = <0>; regulator-over-current-protection; };After changing also we are getting 3.3 volts. So how can we change voltage from3.3 to 1.8 volts?please help us in this regards..
Hey I found a strange documentation on your wiki pagehttps://wiki.st.com/stm32mpu/wiki/STM32MP15_OTP_mapping 3: 14-7 (8 bits)UART instances disablingIf it is different from zero, then each bit disables an UART instance.Collapse0b00000001: reserved0b00000010: disable USART20b00000100: disable USART30b00001000: disable UART40b00010000: disable UART50b00100000: disable UART60b01000000: disable UART70b10000000: disable USART80b11111111: all UART instances are enabled.Why is all enabled when all UARTS are 1?I set everything to 1 but I get messages on the serial console.Do you have a hint for me?Greetings
I guess there is a typo on the following page (and i couldn't find the proper place to report that)wiki.st.com/stm32mpu/wiki/SPI_device_tree_configuration"Both /delete-property/dma-names and /delete-property/dma have to be inserted to get rid of DMAs."This sould be."Both /delete-property/dma-names and /delete-property/dmas have to be inserted to get rid of DMAs."Thank you for taking care.Best regardstsc
What does the OTP 9 Bit 0 do?There is nothing in the ref manual.
What does the OTP 3 Bit 15 do?Can I disable the boot cache for more security? Or does it have more impact on the system?
The flashing process of our STM32MP1 SoM is very slow, it took about 3 and 1/2 hours to flash to whole 8GB eMMC. We use the STM32_Programmer_CLI and have a usb connection which shows up in DFU mode. How can we speed up the flashing process? How could we debug this? Can we flash multiple devives in parallel?How we use the STM32_Programmer_CLI ( v2.12) with Ubuntu 22.10:sudo STM32_Programmer_CLI -c port=USB1 -tm 30000 -w flashlayout_device-image/flashlayout_device.tsvOur tsv file #Opt Id Name Type IP Offset Binary - 0x01 fsbl1-boot Binary none 0x0 arm-trusted-firmware/tf-a-phycore-stm32mp1-4-serialboot.stm32 - 0x03 ssbl-boot Binary none 0x0 u-boot/u-boot-phycore-stm32mp1-4-trusted.stm32 P 0x04 fsbl1 Binary mmc1 boot1 arm-trusted-firmware/tf-a-phycore-stm32mp1-4-trusted.stm32 P 0x05 fsbl2 Binary mmc1 boot2 arm-trusted-firmware/tf-a-phycore-stm32mp1-4-trusted.stm32 PD 0x06 ssbl Binary mmc1 0x00080000 u-boot/u-boot-phycore-stm32mp1-4-trusted.stm32 P 0x10 bootA System mmc1 0x00180000 st-imag
I've written a script that basically builds everything based on this wiki - wiki.st.com/stm32mpu/wiki/How_to_compile_the_device_tree_with_the_Developer_Package#Updating_the_kernel_device_treeWith the script I can successfully build from the existing DK2 DTS files but not my custom DTS files.
Hi,how to compile fsbl to test ddr3 purposes. Unfortunately, I can't use the official one due to different UART4 debug pins and I2C4 PMIC. I can't find a good link with simple instructions. Maybe someone gives me a link or short instructions on how to compile U-Boot SPL to test/tune ddr3.ThanksBR Michal
I have to read ADC readings from 4 channels on both ADC1 and ADC2. In production mode, when OPENAMP isn't enabled, everything works as expected; however, when it's enabled, two channels are getting garbage readings. I do not know why or how to fix it.P.S I am using starter package from ST and I have updated the device tree
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.