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
Hello I have a question concerning how to build a customized image.I followed this link first to get a general IdeaAfter that, I found that if I need to customize my Kernel and choose my packages (Customer apps) I can follow these links: Customer App and Kernel config1- Should I customize before building my image using "bitbake <image>" or after (I suppose before but just asking) Just to be clear I will give some examples:Customer app will be used to add packages that may not be present Kernel configurations: To activate modules and features for example security, Bluetooth and Wi-Fi features.2- In which file do I need to be in order to apply the modifications that I want in my final image that I will flash.Best regards
My goal is to add i2c5 in the dts for userspace access however it is not visible at /sys/bus/i2c/devices. My steps are as follows:1) bitbake virtual/kernel -c devshell2) in new shell, modify the arch/arm/boot/dts/stm32mp157a-dk1.dts3) in new shell, make dtbs or make stm32mp157a-dk1.dtb, and close the new shell4) in original shell, bitbake virtual/kernel -f -c compile and bitbake virtual/kernel -f -c compile5) build-openstlinuxweston-stm32mp1/tmp-glibc/deploy/images/stm32mp1/scripts/create_sdcard_from_flashlayout.sh ../flashlayout_st-image-weston/trusted/FlashLayout_sdcard_stm32mp157a-dk1-trusted.tsv and create the .raw for dd to the sdcardHowever, with above steps seems the updated dtb file is not populated to the sdcard image. Am I missing some steps?
Hello,I create a custum linux distributuion for specific application. My goal is to use QT framework with OpenGl library trough GPU. To do that I used Buildroot 2019.023.1 and custum linux (V4.19) provided by your github. What parameters should I activeted to run my QT application with the -plateform elgfs argument ?I mean what library should I need (mesa or an other one) to run properly my application ?
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
Hello,will there be updates to the gcnano-binaries?The latest version (6.4.3) seems to be broken.When trying to start the cog browser (wpewebkit based) it crashes on eglCreateWaylandBufferFromImageWL.After reverting to gcnano 6.4.1 it is working again. Also RDP screen-share is broken in weston with gcnano version 6.4.3 but working with 6.4.1.
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 trying to get CubeProgrammer to flash a NAND on a custom board.UBOOT detects the NAND chip and mtdparts lists the following:STM32MP> sf probe STM32MP> mtdparts device spi-nand0 <spi-nand0>, # parts = 4 #: name size offset mask_flags 0: fsbl 0x00200000 0x00000000 0 1: ssbl1 0x00200000 0x00200000 0 2: ssbl2 0x00200000 0x00400000 0 3: UBI 0x1fa00000 0x00600000 0 active partition: spi-nand0,0 - (fsbl) 0x00200000 @ 0x00000000 defaults: mtdids : spi-nand0=spi-nand0 mtdparts: mtdparts=spi-nand0:2m(fsbl),2m(ssbl1),2m(ssbl2),-(UBI)It looks as though the FSBL partition size is 0x00200000 and it located at 0x0; however, when I attempt to use cube programmer with this TSV:#Opt Id Name Type IP Offset Binary - 0x01 fsbl1-boot Binary none 0x0 arm-trusted-firmware/tf-a-stm32mp157c-viper-serialboot.stm32 - 0x03 ssbl-boot Binary none 0x0 bootloader/u-boot-stm32mp157c-viper-trusted.stm32 P 0x04 fsbl1 Binary spi-nand0 0x00000000 arm-trusted-firmware/tf-a-s
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've attempted to build my own u-boot image based on the trusted defconfig and a dk1 device tree, i.e.$ make stm32mp15_basic_defconfig $ make DEVICE_TREE=stm32mp157a-dk1 allThe build worked successfully, however when I attempted to use the `u-boot.stm32` image it failed to flash/boot. Getting the older fsbl working to flash my image into the ssbl ended up with failing messages:stm32_smc: Failed to exec in secure mode (err = -3) stm32_smc: Failed to exec in secure mode (err = -3) stm32_smc: Failed to exec in secure mode (err = -3) stm32_smc: Failed to exec in secure mode (err = -3) stpmic1_read: failed to read register 0x22 : -110stpmic1_read: failed to read register 0x22 : -110stpmic1_read: failed to read register 0x22 : -110stpmic1_read: failed to read register 0x22 : -110Can't enable vdda-supply: -110 stpmic1_read: failed to read register 0x22 : -110stpmic1_read: failed to read register 0x22 : -110stpmic1_read: failed to read register 0x22 : -110stpmic1_read: failed to read register
Hello,I'd like to drive a DSI panel using STM32MP157AAC Rev.Z.I have no problem with the panel in the u-boot and everything is ok [i can see the u-boot splash screen].So the hardware on both sides [board and panel] is ok, the panel init sequence, dts config, dsi, ltdc, bridge config and drivers are ok,....but after kernel start, the panel is not working any more:1- I can confirm the initial sequence works fine,2- Even, i can read the internal register of panel in LP mode in kernel boot time.3- drm, bridge, panel connection to ltdc, cma memory allocation are ok, [i add a lot of debuging print], there is no error from any modules and everything seems ok.4- I can confirm pll is ok, The pll and clock config is fully similar to u-boot configs.***But in the DSI video mode, the panel is not showing anything.[Using oscilloscope]: I can see the lanes signal in DSI video mode of u-boot but after entering DSI videos mode in kernel there is no activity in lanes,At this point I am confused, Re
Hello!I see many having similar issues, but I have have yet to find a solution to the reason my boot is not happening.ATF: v2.2-stm32mp-r2.1U-Boot: 2021.01Linux: v4.19-stm32mp-r3.3Works just fineATF: v2.2-stm32mp-r2.1U-Boot: 2021.01 (Edit: and v2020.01-stm32mp-r2.1)Linux: kernel-stm32mp1-openstlinux-5-4-dunfell-mp1-20-11-12.tar.xzResults in the kernel outputting the following (LL debug enabled with highest level)[ 0.398268][ T1] pinctrl core: initialized pinctrl subsystem...[ 0.628638][ T1] bus: 'platform': add driver stm32mp157-pinctrl...[ 1.831777][ T1] device: 'soc:pin-controller@50002000': device_add[ 1.838307][ T1] bus: 'platform': add device soc:pin-controller@50002000[ 1.845361][ T1] PM: Adding info for platform:soc:pin-controller@50002000[ 1.852543][ T1] bus: 'platform': driver
Hello,I have a custom board based on STM32MP151c with an eMMC on it (no SD card). The eMMC is successfully found in the U-Boot and has the following partitioning:part list mmc 0 Partition Map for MMC device 0 -- Partition Type: EFI Part Start LBA End LBA Name Attributes Type GUID Partition GUID 1 0x00000400 0x000013ff "ssbl" attrs: 0x0000000000000000 type: 8da63339-0007-60c0-c436-083ac8230908 guid: 81ae02b5-e823-4dfa-909e-f18021275bd7 2 0x00001400 0x000213ff "boot" attrs: 0x0000000000000004 type: 0fc63daf-8483-4772-8e79-3d69d8477de4 type: linux guid: 8691f7b3-c55d-4979-ad45-ab006af4d469 3 0x00021400 0x000293ff "vendorfs" attrs: 0x0000000000000000 type: 0fc63daf-8483-4772-8e79-3d69d8477de4 type: linux guid: c1241248-0452-4a9d-a181-dd26b1b8dc4a 4 0x00029400 0x001a93ff "rootfs" attrs: 0x0000000000000000 type: 0fc63daf-8483-4772-8e79-3d69d8477de4 type: linux guid: e91c4e10-16e6-4c0e-bd0e-77becf4a3582 5 0x001a9400 0x0075fbff "userfs" attrs: 0x0000000000
Hi!So I was reading the wiki here https://wiki.st.com/stm32mpu/wiki/How_to_configure_system_resourcesand they tell you to use PERIPH_LOCK, which is a function that can be found here:https://github.com/STMicroelectronics/STM32CubeMP1/blob/1.3.0/Projects/STM32MP157C-DK2/Templates/Src/lock_resource.cHowever, HAL_HSEM_FastTake does a read lock and not a write lock.When should I be using HAL_HSEM_FastTake() vs HAL_HSEM_Take()? Why does PERIPH_LOCK call HAL_HSEM_FastTake() to get a read lock when it is writing to GPIO/EXTI registers?
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
I have modified STM32MP157C-DK2 board with NAND flash connected through FMC and it works properly with linux kernel 5.4-stm32mp-r1. I notice that there are some changes to FMC in 5.4-stm32mp-r2 and tried to build my custom linux using the newer release. Unfortunately, the kernel always crashed because it can't open the MTD device. The device can boot TF-A and u-boot properly but it always stuck at the kernel.in 5.4-stm32mp-r1 version I only modify the DK2 device tree by stripping unused nodes, removing nodes that use the same pin as FMC, and adding FMC node by copying the configuration from stm32mp15xx-evx.dtsi. I use the same approach in 5.4-stm32mp-r2 as I assume the configuration from stm32mp15xx-evx.dtsi is enough to make the device boot from NAND.[ 1.158408] UBI error: cannot open mtd UBI, error -2 [ 1.162737] stm32_rtc 5c004000.rtc: setting system clock to 2000-01-16T08:50:47 UTC (948012647) [ 1.173134] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6 [ 1.179
I am configured both the FDCAN interfaces on the STM32MP1 discovery board with the settings below using STM32CubeMX. FDCAN1: PA11 (RX) PA12 (TX)FDCAN2: PB12 (RX) PB13 (TX)But I can't seem to get any data from either interface. I have a logic analyzer connected and have verified that there are packets going to the discovery board but candump doesn't show anything and cansend doesn't seem to be sending out any frames.I also use the following command to turn on each interface. ip link set can0 type can bitrate 500000ifconfig can0 upAm I missing something in the settings?Thanks,
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
HelloI built a Yocto based image for my stm32 and made sure that the required packages were installed. When I flashed my Image some packages were not found although before building the image I checked the list of packages to be integrated with bitbake -g st-image-weston && cat pn-buildlist | grep -ve "native" | sort | uniqThe .manifest file also contains the right packages to be installed. Why weren't they included in the image after the build? Thank you.
Hi All,i am have a usb drive enabled in stm32mp1, which works only as a pendrive,but when i connect mouse or keyboard , kernel is not detecting the device.but if i do same procedure in ubuntu machine, the usb port detect pendrive and mouse.what i am missing ?
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
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.