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 have a custom board with STM32MP157F silicon rev Z with emmc 24AA64T-I/OT . We are able to flash out OS with cubePorgrammer but we are not able to boot on emmc after flashing. According to :https://wiki.st.com/stm32mpu/wiki/STM32MP15_ROM_code_overview#Boot_from_SD_card https://wiki.stmicroelectronics.cn/stm32mpu/wiki/How_to_update_OTP_with_U-BootandRM0436 part 4 we programmed OTP registers with the following parameters :CFG3 = 0x00000007 ( emmc_if_id=2 qspi_not_default_af=1 (config by mistake) )CFG5=0x10953191CFG6=0x2f952e95CFG7=0x24952395where :-0x3191 == sdmmc2_ck PC1 AF9 no pull medium speed-0x1095==sdmmc2_cmd PA0 AF9 pull up high speed-0x2e95==sdmmc2_D0 PB14 AF9 pull up high speed-0x2f95==sdmmc2_D1 PB15 AF9 pull up high speed-0x2395==sdmmc2_D2 PB3 AF9 pull up high speed-0x2495==sdmmc2_D3 PB4 AF9 pull up high speedWhen we set the boot pins according to emmc boot no thing append. We have no log on serial port and the MP1 entrer in usb/uart dfu mode.
Hi all,I have small query around u-boot.How can i update my custom boot screen for the u-boot?How can add my custom application to start post boot?Thanks.
Hello,I am trying to get familiar with vitualUart between A7 et M4 side.The example OpenAMP_tty_Echo given in the wiki works well with my setup.Next step i would like to replace the "echo "msg" > /dev/ttyRPMG0" terminal commands" by a C linux user space application by using Read/Write file operations.Writing operations work OK but i am struggling to get the Echo with read operation.No change made on the M4 echo example.Below an extract of my GTK c programWhen read operation is reached the program blocks despite the timeout settings.But when I echo the M4 with a terminal M4 is still alive. And a very interresting thing is that this echo gives also the caracteres sent with my GTK c app.I did not find any example on the web for this task.Thank you by advance for any help.Regard serial_port = open("/dev/ttyRPMSG0", O_RDWR); struct termios SerialPortSettings; tcgetattr(serial_port, &SerialPortSettings); SerialPortSettings.c_cc[VTIME] = 10; w
Hi, We have acquired this board called Audio Injector (in the image) that has a WM8731, it is a raspberry pi hat, but we want to use it with the STM32MP157D-DK1 but the drivers we have found on the internet seems to be not compatible with this board (we are using the base OpenSTLinux), despite the board has the pinout of raspberry. Someone has used it before? Another question, how can we manipulate the Cortex M4 from the Operating system? there is a way we can use it capabilities from the OS? because we noticed that for the Cortex A7 we cannot use the SAI ports as I2S but from the Cortex M4 is possible to use them as I2S. (we saw that on the STM32Cube IDE and CubeMX).Thanks for your answer.
1. Using a virtual machine in Windows, DOWNLOAD hangs when the virtual machine is turned off while downloading LINUX OS and BOOTLOAD to USB.2. Subsequent USB not recognized by Windows and LINUX.3. Hardware check confirms over current in PCB, overheating in USB recognition IC (USB2514B) - this circuit has no external connection other than MPU and power.4. Estimate, is it right to estimate that the internal program is incompletely downloaded and the MPU is abnormal operation as the OS downloading occurs?5. I want to reset the software to recognize USB again and download it again, what should I do?
..
Hi everyone,I'm working with OpenAMP on CM4 and I would like to increase the buffer size of RPMsg messages. When sending with VIRT_UART_Transmit() from CM4 to CA7, gives me an error when the message exceeds 496 bytes due to the RPMSG_BUFFER_SIZE value in rpmsg_virtio.h, which is set to 512 bytes.Aiming to reach 1024 bytes in size, when I set that value, RPMsg keeps giving the same error. Why?This is my simple code:void t0Task(void *argument) { int i; int count = 0x0, simulated_channels = 64; const int SIZE_DATA = 7; unsigned char msg[SIZE_DATA * simulated_channels], msg2[SIZE_DATA]; while (1) { strcpy(msg,""); for (i = 0; i < simulated_channels; i++) { sprintf(msg2, "%06X ", count); strcat(msg, msg2); count = (count + 1) % 0xFFFFFF; } if(VIRT_UART_Transmit(&virtUART0, (uint8_t*)msg, strlen(msg)) == VIRT_UART_ERROR) { VIRT_UART_Transmit(&virtUART0, "Error size\n", 20); } osDelay(1); } }Note that messages
I am using STM32MP157C and want to add 1GB of RAM. 512MB DDR3L Ram are common in market.Please suggest layouting of 2xRAM and if possible please give layout/pcb project file for altium .
I am using STM32MP157C MPU on my SOM Board and I want to use Boundary scan feature of JTAG to check Manufactured PCB for any short or defects.I have following qs. What JTAG Hardware tool i should use.What software tool I should use to do boundary scan using GUI.What procedure I have to follow to test my board.
Hi,I want to communicate data between two cores i.e,cortex A7and cortex M4.Can anyone share IPCC example code for Both M4 and A7 in stm32mp157A
Is there no driver support for VBAT and VSENSE monitoring via ADC on Linux for STM32MP157C?
Hello everyone I want to use external power for my STM32MP157A-DK1. I connect 5 volts directly to the Raspberry Connector. But the U-boot in the console tells me that I should use USB Type C. How do I change the U-boot so that I can use more than just USB Type-C
HelloA STM32MP15 deviceif flahs proccess is started with STMCube programmer, the proccess finished inmediatly saying "process sucessfull" so the device is not booting , in eMMC mode or SD mode
Hi All -I was attempting to build the Qt example images for the DK2, following the wiki directions here:https://wiki.st.com/stm32mpu/wiki/How_to_build_and_use_an_SDK_for_QTI got to the step where it's building the SDK, after compiling the image successfully.PC $> bitbake st-example-image-qt -c populate_sdkAnd got a compile error:arm-ostl-linux-gnueabi/9.3.0/ld: .obj/moc_qgeotiledmaplabs_p.o:(.data.rel.ro+0x70): undefined reference to `QGeoTiledMap::setCopyrightVisible(bool)'| /home/mtd/STM32MPU_workspace/STM32MP15-Ecosystem-v3.0.0/Distribution-Package/openstlinux-5.10-dunfell-mp1-21-03-31/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/qtlocation/5.14.2+gitAUTOINC+feb604c326_d9577fdebe-r0/recipe-sysroot-native/usr/bin/arm-ostl-linux-gnueabi/../../libexec/arm-ostl-linux-gnueabi/gcc/arm-ostl-linux-gnueabi/9.3.0/ld: .obj/moc_qgeotiledmaplabs_p.o:(.data.rel.ro+0x80): undefined reference to `QGeoTiledMap::clearScene(int)'| /home/mtd/STM32MPU_wor
hi, I have been working on compiling an openstlinux image with yocto, when compiling the image with bitbake it does not show me any error, but when mounting the image on the SD card it shows me the error that it cannot find "uInitrd", check in the bootfs partition and indeed the file cannot be found, however, if I first mount the partitions using the started package and then mount the generated image ignoring the bootfs partition, the operating system boots.I have not found a reason why the uInitrd file is not generated, I would greatly appreciate the help.
Hi all,What is the most correct and easiest way to generate dtb for the STM32MP1?I tried following this : https://wiki.st.com/stm32mpu/wiki/How_to_compile_the_device_tree_with_the_Developer_PackageLooks way complicated and I get below error :/opt/st/stm32mp1/3.1-openstlinux-5.10-dunfell-mp1-21-03-31/sysroots/x86_64-ostl_sdk-linux/lib/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib/gcc/x86_64-linux-gnu/10/liblto_plugin.so)post that came across workshop video which does it in few steps.https://www.youtube.com/watch?v=XhB0rGLjl_Q&list=PLnMKNibPkDnFeV4sBarnsAtFTg7h6V-9_&index=9I couldn't seem to get it up and compile file in any case? I mean it exists cleanly but not dtb gets generated?What i might be missing here?
Hello,I try to make a simple PWM work on PD15 with TIM4_PWM4, wich normally output the PWM on D6, the 6th pin of CN14. I followed example of https://wiki.st.com/stm32mpu/wiki/PWM_overview as I only need two PWM controlled with sysfs (the first beeing PE9 like in the example).For a reason I don't understand doing the same with TIM4CH4 don't work. Do someone have any idea what is laking in my configuration of TIM4CH4 ?Here is my device tree : stm32mp157c-dk2.dts/* PWM DT provider on TIM1: "pwm1" */ &timers1 { status = "okay"; /* spare all DMA channels since they are not needed for PWM output */ /delete-property/dmas; /delete-property/dma-names; /* define pwm1 label */ pwm1: pwm { /* configure PWM pins on TIM1_CH1 */ pinctrl-0 = <&pwm1_pins_a>; pinctrl-1 = <&pwm1_sleep_pins_a>; pinctrl-names = "default", "sleep"; /* enable PWM on TIM1 */ status = "okay"; }; }; &timers4 { status = "okay"; pwm4: pwm { pinctrl-0 = <&pwm4_pins_a
I am using STM32MP157C and as part of the project i am trying to configure the hardware by enabling and disabling certain security features(tamper detection,trust zones,rd and wr protection etc)I would like to know if there is a way to access the system registers for these features and write to them using the A7 in the Stm32.
HI all,Is it possible to just compile the kernel in yocto environment for stm32mp1 using command : bitbake -C compile virtual/kernelThis command is currently failing with below error message : If not this , then what is the correct way to do it?I have another thread running here , where in if try to build it stand-alone with SDK it is failing due to GLIBC issues.
I'm using a SoM with a STM32MP157C. I've connected a LTE modem to uart7, its connected with a 4-wire uart, going trough a level shifter. The device tree contains the following:uart7_pins_mx: uart7_mx-0 { pins1 { pinmux = <STM32_PINMUX('E', 7, AF7)>, /* UART7_RX */ <STM32_PINMUX('E', 10, AF7)>; /* UART7_CTS */ bias-disable; }; pins2 { pinmux = <STM32_PINMUX('E', 8, AF7)>, /* UART7_TX */ <STM32_PINMUX('E', 9, AF7)>; /* UART7_RTS */ bias-disable; drive-push-pull; slew-rate = <0>; }; }; uart7_sleep_pins_mx: uart7_sleep_mx-0 { pins { pinmux = <STM32_PINMUX('E', 7, ANALOG)>, /* UART7_RX */ <STM32_PINMUX('E', 8, ANALOG)>, /* UART7_TX */ <STM32_PINMUX('E', 9, ANALOG)>, /* UART7_RTS */ <STM32_PINMUX('E', 10, ANALOG)>; /* UART7_CTS */ }; };and &uart7{ pinctrl-names = "default", "sleep"; pinctrl-0 = <&uart7_pins_mx>; pinctrl-1 = <&uart7_sleep_pins_
as the pictures shows,I use stm32mp157c borad to driver the raspberrypi,7inch-touchscree .when the systen run on,i used "modetest" command to list panel on system,I can see panel,but the connector and crtc is null,I can't understander the reason . ask for help
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.