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
Hello We are using STM32MP157A processor in our custom board. Now we are implemented IWDG1 in Cortex A7 processor. The IWDG1 bit is not going to set after reset the processor with Watchdog timeout.we checked in following registers• RCC BOOTROM reset status clear register (RCC_BR_RSTSCLRR),• RCC MCU reset status clear register (RCC_MC_RSTSCLRR),• RCC MPU reset status clear register (RCC_MP_RSTSCLRR) and• RCC MPU reset status set register (RCC_MP_RSTSSETR). Getting same value in these registers while power on reset and IWDG1 reset.May be what was the issue, any one help me in this regards.regardssrikanth
Hi ST Team,We have developed a board based on the STM32MP257F. Currently, I am focusing on the audio section. We use an I2S port to connect to a codec called ES8388 chip. You can find the schematic in the attached picture,the connection between ES8388 and STM32MP25 like the following path,I2S2_MCK --- PI15I2S2_CK --- PB0I2S2_SDO -- PK1I2S2_WS --- PI14I2S2_SDI --- PB6I modified the dts, like the following code show, / { es8388: es8388@11 { compatible = "everest,es8388"; reg = <0x11>; #sound-dai-cells = <0>; clocks = <&i2s2>; /* The codec is a consumer of I2S2 master clock */ clock-names = "MCLK"; /* Feed MCLK codec clock with I2S2 master clock provider */ status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; es8388_in: endpoint { remote-endpoint = <&i2s2_endpoint>; }; }; }; }; }; &i2s2_pins_a { pins1 { pinmux = <STM32_PINM
Dear Readers,I try to flash my board in Debian 6.1 on 64bit version in a VirtualBox.Whatever I doSTM32_Programmer_CLI -l usbalways fails.I have donesudo apt-get install libusb-1.0-0cd xyz /Drivers/rules sudo cp *.* /etc/udev/rules.d/I rebootet, but a usb device index is never shown. Is the reason VirtualBox-usage?Thanks in advanceBubra
Description: I'm working with the MYIR MYD-YA157C board, based on the STM32MP157C, and experiencing an issue with UART data reception. When receiving data via UART, the same 10-byte buffer is repeated multiple times (50-60 times) instead of getting fresh data. I verified the setup using a TTL converter and can confirm that the data stream appears as expected when monitored directly, so the problem seems to be specific to the board.I've attached my program below. Any insights or solutions to receive fresh data on each read would be appreciated.Code Example:#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <unistd.h>#include <termios.h>#include <string.h>volatile unsigned char Data[10];int UART_Receive() {int uart_rxfilestream = -1;struct termios options;uart_rxfilestream = open("/dev/ttySTM4", O_RDWR | O_NOCTTY); // Adjust to your UART deviceif (uart_rxfilestream == -1) {perror("Unable to open UART");}// Configure UARTtcgetattr(uart_rxfi
Hi,I am working on STM32MP133FAFx (I2C Master) for I2C communication with STPMIC1 IC (I2C slave) fast mode(400KHz) and HSI clock(64MHz). I2C->TIMINGR = 0x00C0216CI am trying polling method in bare-metal environment for communication in I2C.Below is my algorithm for polling1. Configure HSI clock and Initialize clock for I2C.2. Configuring GPIO I2C pins (No pull up, no pull down, I2C AF, Medium speed)3. Disable I2C before configuration with I2C_CR1_PE4. Setting I2C->TIMINGR = 0x00C0216C for 400KHz baud5. Setting 7-bit addressing, enable clock Stretching, clear general call & enable filters6. Enable I2C and shift slave address by 1 as its 7 bit (SlaveAddress << 1)7. Setting I2C in I2C_AUTOEND_MODE mode8. After calling I2C_TransferConfig() function I am getting NACK bit is getting set as in attached picture Please help me how to resolve this issue and provide me the solution.
My current application uses 2 USB ports, both connected to USBPHYC (STM32MP157F). The OTG one is used for programming using CubeProgrammer.My new revision requires 3 USB ports, 2 host and the programming port.According to https://community.st.com/t5/stm32-mpus-software-development/how-to-enable-3-usb-ports-on-stm32mp1/td-p/269938 it is (still) not possible to configure this in CubeMX.Im wondering if this configuration is going to work:USBH_HS1->USBPHYC-> USB_DM/DP1 pins (Host)USBH_HS2->USBPHYC-> USB_DM/DP2 pins (Host)USB_OTG->OTG FS Phy->PA11/PA12 pins (device/programming)AN5031 states that the internal bootROM will use high-speed, which means my suggested setup is not possible?
Dear all,I'm trying to run a TA application on STM32MP157C-DK2 board. Im using the STM32MPU Developer Package to build the TF-A and the OP-TEE.I've built the TF-A using the command below:make -f $PWD/../Makefile.sdk TF_A_DEVICETREE=stm32mp157c-dk2 TF_A_CONFIG=optee-sdcard STM32MP1_OPTEE_IN_SYSRAM=1 ELF_DEBUG_ENABLE='1' allAfter that, I copied the file generated file STM32MP1-Ecosystem-v5.1.0/Developer-Package/stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/sources/arm-ostl-linux-gnueabi/tf-a-stm32mp-v2.8.15-stm32mp-r2-r0/deploy/tf-a-stm32mp157c-dk2-optee-sdcard.stm32 to STM32MP1-Ecosystem-v5.1.0/Starter-Package/stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/images/stm32mp1/arm-trusted-firmware/Is this right?Then, I built the OP-TEEmake -f $PWD/../Makefile.sdk CFG_EMBED_DTB_SOURCE_FILE=stm32mp157c-dk2 CFG_STM32MP_PROFILE=secure_and_system_services allAnd copied the files from STM32MP1-Ecosystem-v5.1.0/Developer-Package/stm32mp1-openstlinux-6.1-yocto-mickl
I am trying to connect to audio codecs to give 4 channel of audio on a MP257. Can I connect SAI2.SCKA TO BCK on both , SAI2.FSA to LRCK on both, SAI2.SDA to DIN on the first and SAI2.SDB to DIN on the second.My concern is the clocking, can I common both clocks, or do I also need to use SAI2.FSB (which as I am using the ethernet switch & 3 ports I don't seem to be able to do).
I am getting an error when working through the README.HOW_TO.txt in linux-stm32mp-6.1.82-stm32mp-r2-r0 directory.It seems to work fine until:6.2 Compile External Device tree* Compile and install on a build directory (different of kernel source code directory)Line 221 $ make ${IMAGE_KERNEL} O="${OUTPUT_BUILD_DIR}" KBUILD_EXTDTS="${EXTDT_DIR}/linux" <name of external devicetree .dtb>where I get this output:jtest@jtest-B250M-D3H:~/stm_dev/Developer-Package/stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/sources/arm-ostl-linux-gnueabi/linux-stm32mp-6.1.82-stm32mp-r2-r0/linux-6.1.82$ make ${IMAGE_KERNEL} O="${OUTPUT_BUILD_DIR}" KBUILD_EXTDTS="${EXTDT_DIR}/linux" stm32157f-dk2-a7-examples.dtbmake[1]: Entering directory '/home/jtest/stm_dev/Developer-Package/stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/sources/arm-ostl-linux-gnueabi/linux-stm32mp-6.1.82-stm32mp-r2-r0/build1'GEN MakefileCALL /home/jtest/stm_dev/Developer-Package/stm32mp1-openstlinux-6.1-yocto-mickledor
If I have grasped USB-C correctly, the BootROM must communicate with the STUSB1600 chip for role negotiation, otherwise it couldn't switch to device mode and thus it wouldn't be possible to use serial boot mode over USB-C. On the DK2, the STUSB1600 is connected to I2C4, and quite obviously, serial boot mode works on that hardware.Since I was unable to find any information on these details:1. Does the boot ROM communicate with the STUSB1600?2a. If it does, is it hard-coded to I2C4 or is it possible to use a different I2C?2b. If it doesn't, how/why does role selection work without proper negotiation?In other words: is it possible to send the TF-A bootloader to an STM32MP157 via USB-C if the STUSB1600 chip is connected to a different I2C bus than I2C4?Best regards,Robert
I have started working on STM32MP257f board. I have installed open st linux distribution package on my board. Now I want to blink led on my board using my own yacto customized layer. Can anyone please help me with the steps. I have executed simple helloworld program using my own yacto layer, now I want to access gpio periheral using A-35 core.
Hi all, I work on a STM32MP153 device and I used the command echo mem > /sys/power/state to put CPU A7 in Cstop mode, but I still have MCU running. Before to enter suspend mode I have shared some memory buffers with MCU M4 with virtio RPMSG (as recommended). In such case the suspend procedure doesn't come to end and it freezes in the middle. If DMA buffers are not allocated everything works. I have stopped every write operation from MCU M4 to don't interfere with the suspend process, but it freezes as well. Thank you in advance Andrea
Dear Sir, We are using stm32mp135f processor on our custom board. We want to interface flexible external memory controller bus with an external FPGA device. How this can be achieved? Are there any reference or example that you can provide? Is it possible to connect FPGA as an external device?
Hello,I’m trying to build an EKF (Extended Kalman Filter) application using Bitbake on an STM32MP1 platform, but I’m encountering the following error:Nothing RPROVIDES 'gnss1-ekf' (but /home/futura/STM32MPU_workspace/Distribution-Package/layers/meta-st/meta-st-openstlinux/recipes-samples/images/st-example-image-qtwayland.bb, /home/futura/STM32MPU_workspace/Distribution-Package/layers/meta-st/meta-st-stm32mp/recipes-st/images/st-image-userfs.bb RDEPENDS on or otherwise requires it)Here are the steps I’ve taken so far:Sourced the environment: DISTRO=openstlinux-weston MACHINE=stm32mp1 source layers/meta-st/scripts/envsetup.shAdded "gnss1 gnss1-ekf" in layer.conf and appended the line: IMAGE_INSTALL: "gnss1 gnss1-ekf"Included "gnss1-ekf" in st-image-userfs.bb.Ran bitbake st-example-image-qtwayland to create the Qt image, where I encountered the error mentioned above.It seems like the gnss1-ekf package is not being found. Could someone guide me on what might be missing or misconfigured in
Hi everyone,Currently, I am working on STM32MP153 mpu. I am building a Linux image using Yocto.In the image, I want to add a Python package (pyarrow).But when I built the Linux image I got the error, Please see the attached image.
Hi All,i am using STM32MP135-DK kit & i want to interface the ultrasonic sensor HC-SR04.from user space i have tried to make gpio toggle at 10uSec ON/OFF which will be trigger signal for sensor but what i observe in the trigger output pin is not toggling at same rate what i made it in bash script. can someone help me to resolve this or if we have ready solution available i can utilize it instead of reinventing it again.
Hi, I'm new to yocto project, I'm trying to set password for custom image in yocto in stm32mp157d-dk1(scarthgap) ,by editing the bb layer in image, its successfully build and flashed into SD card , but I'm trying to enter the login id and password , it says login Incorrect ,I tried in all ways , but still it shows login incorrect ,I attached the Picture of the bb layer of my image above , Please anyone could tell me what I'm missing there..
I am planning to ultimately use the MPU from the STM32MP131 line. Before that, I am reviewing various aspects using the STM32MP135DK board. I'm planning to configure Wi-Fi using the Murata-1DX product on the DK board. Since there doesn't seem to be any related middleware available, I intend to port the source from the H7 Middleware Pack.Inquiries:Are there any tips or precautions I should be aware of regarding this?(especially during the Source Adding process and concerning Registers)Is there any support planned for 1DX-related Wi-Fi Pack or demos?
Hi STM team,I'm working on a solution based on STM32MP2 and camera being one of the primary components I want to integrate the camera with the STM32MP2 processor and make use of the ISP present in it.I saw a video (https://www.youtube.com/watch?v=c0fKAj5rlH8) explaining the ISP present in the processor and its tuning tool. I couldn't get any datasheet or details related to the "STM32 ISP IQTune". It would be really helpful if I could get my hands on the tool and the documents related to it.Regards Akash
Hi, good morning!First of all, let me tell you that this is my first post (I'm new here in the community of STM32) but I have some experience in the embedded world (I mean, I've used ESP32, Arduino, RPI, BB(Black, Play and AI-64) and other devices for projects at work). The only problem I have is I don't have any experience with STM32 devices and all related stuff so bear in mind with me please. The thing is, after reading the Wiki section (Getting started) I see the first thing I have to do to connect the hardware (STM32MP157) to my computer is to buy some wires I don't have right now. The Wires are:Connect your laptop to the board ST-LINK/V2-1 port through the micro USB Type-B to USB Type-A cable.Connect the USB Type-C™ to USB Type-C™ cable to the 5V/3A power supply.Connect your laptop to the board USB Type-C™ OTG port through the USB Type-C™ to USB Type-A cable.I don't have those wires (in this moment). I just have a USB Type-C
When compiling uboot, an error message is displayed when executing the script fiptool-stm32mp: create_st_fip_binary.sh: Command not found.I found the folder after decompression but did not find the file create_st_fip_binary. What is the reason?
Hey, I’m working with an STM32MP157D-DK1, I’m trying to trace for System Management Interrupts, to check how they affect the system.The following attempt was made to detect the latency of SMIs occurring on the system: # mount -t debugfs debugfs /sys/kernel/debug# mount -t tracefs nodev /sys/kernel/tracing# cd /sys/kernel/tracing# cat hwlat_detector/window1000000# cat hwlat_detector/width900000# cat tracing_thresh10# cat tracing_max_latency0# cat tracing_cpumask3# cat hwlat_detector/modenone [round-robin] per-cpu# cat tracing_on1# cat current_tracernop# echo hwlat > current_tracer# sleep 1800# cat trace# tracer: hwlat## entries-in-buffer/entries-written: 0/0 #P:2## _-----=> irqs-off/BH-disabled# / _----=> need-resched# &
Hello,Based on 157DAC1-DK1, my board designed using 157DAA1. After I confirmed boot on DK1 board using image of sd card, I tryed boot on my board using sd card on same DK1 Image of sd card but failed. My board have only one I2C (I2C4) for PMIC. Can you advise or solution? My error Log is that :NOTICE: CPU: STM32MP157DAA Rev.ZNOTICE: Model: STMicroelectronics STM32MP157D-DK1 Discovery BoardERROR: I2C device not readyPANIC at PC : 0x2fff1247Exception mode=0x00000016 at: 0x2fff1247
Hello, I developed a custom board with a pinmap based on stm32mp157f - dk2.I think if you match the pinmap and use the start package, lcd and other features will work.I re-created the sd card according to that advice, and I also rebooted it, but the same thing is happening.What should I do?History: https://community.st.com/t5/stm32-mpus-products/error-message-inquiries-and-display-problems/m-p/714459#M11850https://community.st.com/t5/stm32-mpus-boards-and-hardware/check-error-code-for-uart4/td-p/700161
Greeting.I'm trying to get our ADC subsystem up and running and getting weird errors in dmesg during boot. I'm assuming I've done something wrong with devicetree but I can't seem to figure out a working combination from the docs.Full part number of our MPU is STM32MP157CAC3.During boot we get error -61 during the probe of the two converters as shown belowThanks,-LinuxAddict $ dmesg | grep -E "adc|iio"[ 2.510869] iio iio:device0: No channels configured[ 2.514812] stm32-adc: probe of 48003000.adc:adc@0 failed with error -61[ 2.522467] iio iio:device0: No channels configured[ 2.526055] stm32-adc: probe of 48003000.adc:adc@100 failed with error -61Here's our devicetree portions:&pinctrl { adc1_pins: adc1-single-ended { analog-inputs1 { pinmux = <STM32_PINMUX('C', 0, ANALOG)>, <STM32_PINMUX('A', 5, ANALOG)>; bias-disable; } ; } ; }; &adc { pinctrl-names = "default"; pinctrl-0 = <&adc1_pins>; status = "okay"; vdda-supply = <&vdd>; vre
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.