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,I flashed OS "en.FLASH-stm32mp1-openstlinux-5-4-dunfell-mp1-20-11-12.tar.xz" to board STM32MP157C-DK2. Then remove all the cable,and only remain a type C cable connected with my laptop Type C port.But the kit can't power on.Could you tell me how to let it to sink power as USB device,and source power as USB host?Thanks,QiZhang
I created an eglfs Yocto build that can run the simple Qt5 demos, but I'm seeing fairly high CPU usage and I'm trying to figure out if the GPU is being used. I pondered that the GPU may not accelerate 2D graphics very well and does better with actual 3D. So, I thought I'd add support for more Qt5 packages and see if the 3d demos ran any better, but I can't get it to build.I'm getting a compiler error while building QT5's ogl-runtime complaining that <GLES2.gl3.h> cannot be found. I'm new to this, but from what I can tell this header should be supplied with the opengl libraries and presumably ST should be supplying that library with GPU acceleration. Or perhaps something else is going wrong/missing?Is it possible to get the Qt5 3D demos to run under an eglfs build? Is there some way to verify if the GPU is being used?Thanks,Jon======In file included from /home/jon/STM32MP15/Distribution-Package/openstlinux-5.4-dunfell-mp1-20-06-24/build-openstlinuxeglfs-stm32mp1/tmp-glibc/work/cor
Hi, i have a question regarding to exit the Low Power Mode on CM4. Is it possible that i can exit the CStop or CStandby Mode via an Rx Messages of the CAN Bus, when the CAN Bus is assigned to the M4. Iam confused because almost every Bus is listed in https://wiki.st.com/stm32mpu/wiki/Coprocessor_power_management as Wake Up Source except the CAN Bus.
Hello,I am using stm32mp157c-dk2 board and working on "How to exchange large data buffers with the coprocessor - example" from the wiki:https://wiki.st.com/stm32mpu/wiki/How_to_exchange_large_data_buffers_with_the_coprocessor_-_exampleI need to do some modifications on the example to be able to use a UART interface in the user application, usually I modify the device tree to enable the UART by adding the following lines to the .dts file (USART3 as an example):&pinctrl {... usart3_pins_mx: usart3_mx-0 { pins1 { pinmux = <STM32_PINMUX('B', 10, AF7)>; /* USART3_TX */ bias-disable; drive-push-pull; slew-rate = <0>; }; pins2 { pinmux = <STM32_PINMUX('B', 12, AF8)>; /* USART3_RX */ bias-disable; }; }; usart3_sleep_pins_mx: usart3_sleep_mx-0 { pins { pinmux = <STM32_PINMUX('B', 10, ANALOG)>, /* USART3_TX */ <STM32_PINMUX('B', 12, ANALOG)>; /* USART3_RX */ }; };};&usart3 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&us
Hi,i just implemented the OpenAMP_tty_echo example for my device. And i just wanna know if i have the right understanding for it. Iam using two virtualUARTS, does this mean that i have two Endpoints over one RPMSG Channel. Or do i have two RPMSG Channel with one endpoint at one Channel? In my Undertsanding i have one RPMSG Channel with two Endpoints VirtUART0 and VirtUART1. Is there any use case to have multiple RPMSG Channels for communicating between the A7 and M4 (like shown in the picture)? And how i could integrate it? I should have another vdev device with again seperated Memory in the Shared Memory. Is my understanding correct in this cases?Thanks so far
I think I have encountered some difficult problems. I hope the engineer of ST can help me.I configured SPI+DMA to CM4 and then created two rPMSGs. RPMSg0 transmitted the data to CA7 in real time and RPMSg1 transmitted the heartbeat signal.When CA7 returns the heartbeat, the unscheduled CM4 will stop all transmissions.
How to mark a qustion as answered?
Hello ST Community,I had successfully run the "Hello World" code on my STM32MP1 which is based on python by the following link,https://docs.amazonaws.cn/en_us/greengrass/latest/developerguide/module2.htmlI have one sensor connected with STM32MP1. I had used /dev/i2c* and wrote a driver for the sensor in c language.I want to send sensor data to was greengrass, but greengrass only supports python language on lambda.How can I send sensor data written in c to aws green grass?Thanks and Regards,Nikunj Panchani
I want to know the difference of device tree compiling the with the Developer Package and Distribution Package.I understand that when I create my own machine, I can create device tree by following 2 method. Method 1) Building device trees with Developer Package (separately from bitbake) This method is described in following Wiki page. https://wiki.st.com/stm32mpu/wiki/How_to_compile_the_device_tree_with_the_Developer_Package Method 2) Building device trees with Distribution Package (included in bitbake) This method is described in following Wiki page. https://wiki.st.com/stm32mpu/wiki/How_to_create_your_own_machineWhen I checked the operation with the device tree created by above two methods, the behavior was different even though the device tree source before compiling was the same.Specifically, with device trees build with Developer Package I can use remoteproc to exchange data with Cortex-M4, but with device trees build with Distribution Package I can
Strange issueused power supply 24v, 5AIf we connect debug 3.5 MM cable on debug port, then only unit boots up and taking to kernel command line prompt else it does not boot upI tried taking out LCD display , USB, battery, still above issue thereits a customized board,help me to diagnose
Hi All,i want to use ES8388 audio coec with STM32MP157. All hardware connections are tested, ad i can see MCLK on scope, also codec is visible on I2C bus.But i'm facing dificulties with Device Tree configuration. snippet from my dts file :sound { compatible = "audio-graph-card"; widgets = "Headphone", "Headphone Jack"; routing = "Headphone Jack", "LOUT1", "Headphone Jack", "ROUT1"; dais = <&sai2a_port>; status = "okay"; }; ........ &sai2 { clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>; clock-names = "pclk", "x8k", "x11k"; pinctrl-names = "default", "sleep"; pinctrl-0 = <&sai2a_pins_a>, <&sai2b_pins_b>; pinctrl-1 = <&sai2a_sleep_pins_a>, <&sai2b_sleep_pins_b>; status = "okay"; sai2a: audio-controller@4400b004 { #clock-cells = <0>; dma-names = "tx"; clocks = <&rcc SAI2_K>; clock-names = "sai_ck"; status = "okay"; sai2a_port: port { sai2a_en
Hello, ST CommunityI have successfully implemented dB meter code on my STM32L4 Discovery kit and got SPL in dB, But the code has .a file made by ST.I want to implement dBSPL meter in STM32MP1 using PDM sensor. Can it support same .a file on MP1 board? Can I implement dBmeter on MP1?Thanks,Tarun
Hello,I'm trying to add a python GTK application I created to the startup using systemd.In order to do so I created the following gatewayservice.service file:[Unit] Description=Gateway service Requires=graphical.target After=graphical.target [Service] Type=idle ExecStart=/bin/bash /usr/bin/gateway_service.sh [Install] WantedBy=multi-user.targetI am able to manually start the service usingsystemctl start gatewayserviceBut when I try to add it to startup and reboot it doesn't launch automatically.I think I'm getting the requirements wrong in the service file but I'm not sure what to put instead.
Hello , New year 2021 Greetings:party_popper: ! Hope you all are doing great !Looking at the FreeRTOS wiki , there is no support for Cortex - A7?Is there an alternate port available for FreeRTOS for Cortex A7? or some customization for the same?what is the recommendation? Thanks and Regards,Have a great Decade !!D
..
Hello ST Community,I was following below link,https://wiki.st.com/stm32mpu/wiki/How_to_integrate_AWS_IoT_Greengrass_on_top_of_openSTLinux_distribution#cite_note-3I found that I have to buy STPM4RasPI extension board.The board is not available on mouser and digikey.when I followed the given link https://www.st.com/en/evaluation-tools/stpm4raspi.html#overviewIt shows there is no quantity available and I am also confused which to buy for my STM32MP1-DK2 board.Please help me to find one from Thanhks,Nikunj
Hi STI have a question when setting the ADC Clock on the M4 Core side.The STM32MP151C datasheet states that the ADC Clock can be set up to 36Mhz.When the AHB clock is 200Mhz, what clock will it work with if I set "ADC ClockPrescaler" to "ADC_CLOCK_SYNC_PCLK_DIV4"?When calculated, ADC Clock is 50Mhz.However, the maximum operating clock in the datasheet is 36Mhz.Which ADC clock will it work with?I would be grateful if you could tell me the answer.RegardsMachilus
what does MPU_InitStruct.TypeExtField ? mean only three options available #define MPU_TEX_LEVEL0 ((uint8_t)0x00)#define MPU_TEX_LEVEL1 ((uint8_t)0x01)#define MPU_TEX_LEVEL2 ((uint8_t)0x02)does it mean only 3 set of HAL_MPU_ConfigRegion(&MPU_InitStruct); can be called?is any of many macros can be repeated or if HAL_MPU_ConfigRegion can be called more than three times with multiple regions?
We have own MP157 based module and it sometimes hangs after NRST during debug. It doesn't respond to JTAG DAP, further NRST pulses doesn't help but NRST_CORE helps. It seems as errata "Incorrect reset of glitch-free kernel clock switch". We tried sw workaround (QSPI clk src=per_ck) but it doesn't help. Thus we tried hw workaround - connect NRST+NRST_CORE (as we use simple smps chip to power core). But the MP1 is stuck in reset - NRST(_CORE) are at GND. Both VDD (1V8) and VCORE (1V2) are up. Once I disconnect NRST from NRST_CORE (while still powered) it immediatelly boots. I also scoped the signals - after power is turned on, NRST_CORE goes up, followed by NRST after 10ms. When connected together, they sit at 0 all the time. Chip revision is 0x2000. Any idea ? Thanks, Martin
dts:in M4:I find the SPI1 doesn't work.
Hi All,i am getting watchdog Device or resource busy in stm32mp1root@mp1som:~# dmesg | grep watchdog[ 2.108020] iwdg 5a002000.watchdog: unable to set timeout value, using default[ 3.642347] iwdg 5a002000.watchdog: timeout skrinked to 1[ 3.647585] systemd[1]: Hardware watchdog 'STM32 Independent Watchdog', version 0[ 3.654887] systemd[1]: Set hardware watchdog to 30s.root@mp1som:~# echo V > /dev/watchdog-sh: can't create /dev/watchdog: Device or resource busyroot@mp1som:~#
Hi All,In STM32MP1, i have following two problem related RTC 1. Kernel spaceRTC is working fine for me only when i enter following command at every power up , else the default RTC date show local time.hwclock --localtime --hctosys-- makes RTC works.root@mp1som:~# dateMon Sep 7 06:16:00 UTC 2020root@mp1som:~# hwclock --localtime --hctosysroot@mp1som:~# dateMon May 26 11:22:49 UTC 20142 , Uboot side always shows default RTC time. why this ?following is uboot log:U-Boot SPL 2018.11-stm32mp-r3 (Dec 18 2020 - 10:05:24 +0000)Model: STMicroelectronics STM32MP157A-DK1 Discovery BoardRAM: DDR3-DDR3L 32bits 533000KhzTrying to boot from MMC1U-Boot 2018.11-stm32mp-r3 (Dec 18 2020 - 10:05:24 +0000)CPU: STM32MP157CAA Rev.BModel: STMicroelectronics STM32MP157A-DK1 Discovery BoardBoard: stm32mp1 in basic mode (st,stm32mp157a-dk1)
I am not using OTG (Only host USB's) in the PCB I connected OTG_VBUS to GND. Is this problematic? I saw that it should be left open but not sure if it is connected internally
followed stepshttps://wiki.st.com/stm32mpu/wiki/STM32MP1_Distribution_Packagegot following build error| /home/ubuntu-test/GIT_TEST/openstlinux-5.4-dunfell-mp1-20-06-24/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/mozjs/60.9.0-r0/firefox-60.9.0/js/src/vm/JSScript.cpp: In function 'bool js::XDRScript(js::XDRState<mode>*, js::HandleScope, js::HandleScriptSource, JS::HandleFunction, JS::MutableHandleScript) [with js::XDRMode mode = js::XDR_DECODE]':| /home/ubuntu-test/GIT_TEST/openstlinux-5.4-dunfell-mp1-20-06-24/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/mozjs/60.9.0-r0/firefox-60.9.0/js/src/vm/JSScript.cpp:607:26: note: parameter passing for argument of type 'JS::MutableHandleValue' {aka 'JS::MutableHandle<JS::Value>'} changed in GCC 7.1| 607 | if (!XDRScriptConst(xdr, &val)) return false;| | &n
Hi,I tried to follow setup for secure boot as detailed here: https://wiki.st.com/stm32mpu/wiki/STM32MP15_secure_bootI'm working with Linux host PC running Ubuntu 18.04The 1st thing was to try generating keys.For this I tried to use "STM32MP_KeyGen_CLI" previously installed with STM32CubeProgrammer. (Note: STM32_Programmer_CLI installed is v2.1.0 )A first note here, https://wiki.st.com/stm32mpu/wiki/KeyGen_tool indicates keygen tool is named "STM32AP_KeyGen_CLI.sh" and is a script whereas it is "STM32MP_KeyGen_CLI" available in STM32CubeProgrammer bin folder and it is a Linux executable.Simply running STM32MP_KeyGen_CLI with --version gives the following ouput:~~~~$ ./STM32MP_KeyGen_CLI -v ------------------------------------------------------------------- STM32MP Key Generator v1.0.0 &nbs
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.