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
I have several projects already configured for STM32MP157C and I don't want to have to build them all over again if I can help it. Also, my team is asking I not move the Ecosystem (but if that is my only answer I will.)
Why are there different device trees for optee, TF-A, u-boot and linux kernel ? Since the hardware does not change between the boot stages, isn't it possible to consolidate it into one dts generated by CubeMX .The different boot modules consume the data form one dtb ? This will help to reduce maintenance and avoiding errors in compilation of the different modules .
Hello,I've tried sent data using STM32MP157 customer board. SPI2 from M4 side using. So if I use standalone M4 data is transmitted. If I try sent data from M4 while Linux is runnig at A7, CTSIZE and TXTF bits at SR register are set and no any data is transmitted. Linux not use SPI2 in device tree. Could anyone help me solve this issues, please?Thanks,Alex.
/* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2023 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** */ /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ #include "main.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ /* USER CODE END Includes */ /* Private typedef -----------------------------------------------------------*/ /* USER CODE BE
I had the distribution package installed, deleted it and wanted to recreate it in another folder. However init repo gives the below message and repo sync only download the layers folder.repo init -u https://github.com/STMicroelectronics/oe-manifest.git -b refs/tags/openstlinux-6.1-yocto-mickledore-mp1-v23.06.21Downloading Repo source from https://gerrit.googlesource.com/git-repo... A new version of repo (2.35) is available.... New version is available at: /media/user/H3D2P1/Tools/distro/.repo/repo/repo... The launcher is run from: /usr/bin/repo!!! The launcher is not writable. Please talk to your sysadmin or distro!!! to get an update installed.
Hi i 'm using stm32 mp1 can i tale autput message from cat /dev/tty/mesg and store data from cortex m4,i want to write code in c with to store autput cat,for example everytime che come a message from m4 interrupt trigged and store data thanks
u-boot yocto build fails with this messagetest -e arch/arm/dts/stm32mp157c-mydemo-mx.dtb || ( \| echo >&2; \| echo >&2 "Device Tree Source (arch/arm/dts/stm32mp157c-mydemo-mx.dtb) is not correctly specified."; \| echo >&2 "Please define 'CONFIG_DEFAULT_DEVICE_TREE'"; \| echo >&2 "or build with 'DEVICE_TREE=<device_tree>' argument"; \arch/arm/dts/stm32mp157c-mydemo-mx.dts existsarch/arm/dts/stm32mp157c-mydemo-mx-u-boot.dtsi existsstm32mp157c-mydemo.dtb has been added to the MakefileAny ideas?
Hello,I'm working on a project that requires precise time synchronization between two sensors.sensor1 is from M4, which is encoder data of motor.sensor2 is from A7, which is sensor connected to ethernet(UDP protocol)For Sensor2, I've set up PTP (Precision Time Protocol), so I can accurately determine when the data is acquired based on the Linux timestamp. However, I'm facing challenges in determining the exact timestamp for the data acquired from Sensor1 on the M4.Are there any recommended solutions or methodologies to achieve precise time synchronization for the M4 sensor data, especially in relation to Sensor2's timestamp(or A7's linux time)?Thank you for your assistance!
Hello,I am trying to read an analog value of PA4 of the STM32MP157CAC with ADC1 but it does not work.I am using from Emtrion the emSTAMP-Argon as module.I also tried to read the internal temperature sensor instead with ADC2 but that failed as well.I do see AD_START to get cleared after being set; thus the basic ADC is working (at least that is my understanding). Nevertheless, I do not see any change of the ADC_DR register is always 0x8000.The ADC_PCSEL is modified to enable the channels and ADC_SQR1 is also configure.The ADC of STM32s are not new to me as I did use STM32F4, STM32F3 and STM32WB for some time. If I am switching from 16 bit to 12 bit e.g. I do see ADC_DR shifting. Any suggestions or hints would be great as I do not know what I am doing wrong.I might be wrong but in engineering mode, there shouldn't be any issues with TF-A etc. possible or?Thank youSteffen
Hi,I've set up 3 pwmleds on my board, 1 led ("led1") on pwm2 (TIM2_CH4 on PA3) and the other 2 ("led2" and "led3") on pwm8 (TIM8_CH1 on PH13 and TIM8_CH2 on PH14). If I put the system in suspend mode it doesn't work. The system gives me the following message:"stm32-pwm 40000000.timer:pwm: PWM 3 still in use by consumer led1PM: dpm_run_callback(): platform_pm_suspend+0x0/0x48 returns -16stm32-pwm 40000000.timer:pwm: PM: failed to suspend: error -16PM: Some devices failed to suspend, or early wake event detected""If I disable the led1 in the devicetree and leave only the other 2 leds (led2 and led3) on pwm8 the suspend works as expected.Any idea?
I am making a board using STM32mp151a. I want to write Linux OS to the SD card. However, the command on the web page below only has STM32mp153 and STM32mp157 for the evaluation board. https://wiki.st.com/stm32mpu-ecosystem-v5/wiki/How_to_create_your_own_machine ./create_sdcard_from_flashlayout.sh ../flashlayout_<built-image>/<FlashLayout file> What do I have to do?
We are migrating from the Kirkstone eco-system to the Mickledore eco-system. We found that the extlinux.conf file that gets created is identical in the two builds. However, u-boot now forces a menu to the user, even though we have CONFIG_BOOTDELAY=-2 and only one boot label in the file. This seems to be an intentional change in u-boot, see commit c23bb03. Although other documentation seems to indicate that a menu with only one label boots that label immediately.The produced extlinux.conf is attached, renamed to extlinux.conf.log to allow upload.The u-boot output is: In: serial Out: serial Err: serial Retrieving file: /extlinux/extlinux.conf Retrieving file: /splash_landscape.bmp ** File not found /splash_landscape.bmp ** There is no valid bmp file at the given address 1: OpenSTLinux Enter choice: We find that if we modify the extlinux recipe to have `UBOOT_EXTLINUX_SPLASH = ""` that this causes the MENU token in extlinx.conf to be removed. Without the MENU
When using the latest git to build TF-A . Have been following the README_HOW_TO form git. All the steps are given blow.1. The git does not contain the build file .sdk , it is only provided in the ECO package. it is not clearly stated to get the file form the ECO package and put above the source folder for the git build. Why is it not there and why put it above the source location ? This apples both to optee and TF-A2. make -f $PWD/../Makefile.sdk allMessage show: Missing u-boot-stm32mp157c-ed1.dtb file in folder: '$FIP_DEPLOYDIR_UBOOT' or '$FIP_DEPLOYDIR_ROOT/u-boot'3. make -f $PWD/../Makefile.sdk TF_A_DEVICETREE=stm32mp157c-dk2 TF_A_CONFIG=trusted ELF_DEBUG_ENABLE='1' allMessage shown: No boot device driver is enabled4 the FIP_DEPLOYDIR_UBOOT has no output files, why is it mentioned in the script ? (item 2)5. the DEPLOYDIR has .stm32 fwconfig and debug files. Is this all that is needed ? The documentation does not state what the output files should be.6. the FIP_DEPLOYDIR_ROOT h
After building the TF-A from ECU 5.0.0 download (not the git). found the FIP folder and bin files. Deleted the FIP folder (export FIP_DEPLOYDIR_ROOT=$PWD/../../FIP_artifacts After running $ make -f $PWD/../Makefile.sdk all again the FIP folder and files are not generated anymore.Also tried make clean but no resolve.Deleted the tf-a folder, restarted everything again (untar the tar etc...and followed all from the readme again ) but still not FIP folder or files are generated, even the build does report the files were generate (see below output)# for some reason this does not create the FIP folder and files after the 1st time run ! it also delets the FIP_artifacts /arm... folder if run for a 2nd time ! this is the same with optee. Why is this designed this way ? the solution might be never ever run this:$ make -f $PWD/../Makefile.sdk all# for some reason this creates the FIP folder and output files but does not create default binaries$ make -f $PWD/../Makefile.sdk DEPLOY
Hi, AllI upgraded the image for our custom board to 5.0 last week.Metadata1/metadata2 (metadata.bin) are on the partition as concerned in the following issue.https://community.st.com/t5/stm32-mpu-products/stm32mp157f-dk2-failing-to-boot-on-custom-image/m-p/115635 As supplementary information, in my custom image, I changed the partition storage location of metadata1/2 as follows. This is for investigation whether the position of the partition can be changed, and whether it can be changed as follows.#Opt Id Name Type IP Offset Binary- 0x01 fsbl-boot Binary none 0x0 arm-trusted-firmware/tf-a-stm32mp157a-ev1-usb.stm32- 0x03 fip-boot FIP none 0x0 fip/fip-stm32mp157a-ev1-optee.binP 0x04 fsbl1 Binary mmc0 0x00004400 arm-trusted-firmware/tf-a-stm32mp157a-ev1-sdcard.stm32P 0x05 fsbl2 Binary mmc0 0x00044400 arm-trusted-firmware/tf-a-stm32mp157a-ev1-sdcard.stm32P 0x06 fip-a FIP mmc0 0x00084400 fip/fip-stm32mp157a-ev1-optee.binP 0x10 bootfs System mmc0 0x00484400 st-image-bootfs-openstlinux-e
Where on git are the files for gcnano in the ECO 5.0.0 located ?The readme in the ECO 5.0.0. repo does not provide a link. gcnano binaries
A particular STM32MP1 based board uses the USB OTG interface configured to the cortex A7. Is there any guidance how to configure the kernel so that it will use the USB device port with a gadget driver, so that the host sees it as keyboard, serial port, mouse, audio interface ? For example, as pictured, a snippet of usb otg in the .dts ( high speed). It uses dwc2 as driver for OTG function, How to assign the device descriptor to the otg/usb interface ? Full speed would be fine as well. In the kernel sources there is "legacy" and "function" code.
Hi :)Working on the EVA32MP257F, I am trying to generate the openstlinux for it, however, I see no target MACHINE in the yocto project for it. I guess that a private repo is required for this?Also, can I apply the RT patch provided for the MP1 on top of it?Adrian
Hello,I need to synchronize the time between the A7 and M4 cores. While I found some resources on the ST Community that accessing the STGEN timer from the A7 side.the article is belowhttps://community.st.com/t5/embedded-software-mpus/how-can-i-get-access-to-m4-timers-from-a7-linux-is-it-possible/m-p/151769So, I tried this on A7 too.for reading/writing peripheral registers from the A7 core is outlined in STWiki article. https://wiki.st.com/stm32mpu/wiki/How_to_read_or_write_peripheral_registersI think accessing /dev/mem offer a same capability. I tried and successfully employed this approach for UART4. However, I failed when it comes to reading the STGENR using this method.Could someone provide guidance on how I might access the STGEN timer from the A7 core? If there's a more efficient or recommended way to synchronize the time between the A7 and M4 cores, that information would be invaluable as well.Thank you for your assistance.
Hi everyone,I'm using STM32g491 and rs485 modules. I'm trying to transmit data from uart1 with DMA when I receive data. There is a dilemma it transmit data but also does not? When I try to send a buffer which defined on stm's code, it transmits but when I try to transmit data come through GUI, it does not transmit. There is no problem about data coming from GUI. I can see it when I debug. Here is my code and the data coming from gui on debug if(uartCh.BLUT == 1) { HAL_GPIO_WritePin(BLUT _EN_GPIO_Port, BLUT _EN_Pin, 1); uart1_return = HAL_UART_Transmit_DMA(&huart1, guiBLUT_gelen, 11); uartCh.BLUT = 0; } if(uartCh.GNS == 1) { HAL_GPIO_WritePin(GNS_EN_GPIO_Port, GNS_EN_Pin, 1); uart1_return = HAL_UART_Transmit_DMA(&huart2, guiGNS_gelen, 21); uartCh.GNS = 0; }
Hello.I have a question about STM32CubeProgrammer.I'm going to use the STM32 system image in Raspberry Pi.How do I flash an STM32 image on an SD card that will be mounted on a Raspberry Pi board?I want to use STM32 program in Windows environment as much as possible.The following are the methods and results I thought of.1. Fit formatted SD card into Raspberry Pi and connect to Rsap's micro5 pin and Windows PC, and USB from 'STM32CubeProgrammer' >>> Program not recognized 2. Connect with Windows PC using SD Card Reader >>> Program not recognized
Hi,I am trying to set the rootfs read-only. With other yocto based environments I usually setEXTRA_IMAGE_FEATURES ?= "read-only-rootfs"in local.conf. Using OpenSTLinux this results in a build error: ERROR: st-image-userfs-1.0-r0 do_rootfs: Unable to remove packages. Command '['/home/jenkins/Development/SW_APP/nexio_tmp/ost-5.15/build/tmp-glibc/work/stm32mp1_nexio-ostl-linux-gnueabi/st-image-userfs/1.0-r0/recipe-sysroot-native/usr/bin/dpkg', '--admindir=/home/jenkins/Development/SW_APP/nexio_tmp/ost-5.15/build/tmp-glibc/work/stm32mp1_nexio-ostl-linux-gnueabi/st-image-userfs/1.0-r0/rootfs/var/lib/dpkg', '--instdir=/home/jenkins/Development/SW_APP/nexio_tmp/ost-5.15/build/tmp-glibc/work/stm32mp1_nexio-ostl-linux-gnueabi/st-image-userfs/1.0-r0/rootfs', '-P', '--force-depends', 'update-alternatives-opkg']' returned 2: dpkg: warning: 'ldconfig' not found in PATH or not executable dpkg: error: 1 expected program not found in PATH or not executable Note: root's PATH should usually co
Hi community,I am attempting to compile TF-A in a straightforward manner, similar to ecosystem v2, which packs BL2 & BL32 to only one single .stm32 file for writing to fsbl1/fsbl2.However, FIP is enabled by default in ecosystem v5. I am curious about how to disable it? Ecosystem v3 release note mentioned that it can be done by setting MACHINE_FEATURES_remove = "fip", but I cannot find the config file.
I'm trying to build an SDK (Yocto Langdale) for core-image-minimal:bitbake -c populate_sdk core-image-minimal and get this error: nothing provides libpython2.7.so.1.0()(64bit) needed by nativesdk-gcc-arm-none-eabi-10-r0.x86_64_nativesdk Full error:ERROR: core-image-minimal-1.0-r0 do_populate_sdk: Could not invoke dnf. Command '/home/giz/projects/Stm32Prototype/yocto-project-langdale/build/tmp/work/stm32mp1-poky-linux-gnueabi/core-image-minimal/1.0-r0/recipe-sysroot-native/usr/bin/dnf -v --rpmverbosity=info -y -c /home/giz/projects/Stm32Prototype/yocto-project-langdale/build/tmp/work/stm32mp1-poky-linux-gnueabi/core-image-minimal/1.0-r0/sdk/image/etc/dnf/dnf.conf --setopt=reposdir=/home/giz/projects/Stm32Prototype/yocto-project-langdale/build/tmp/work/stm32mp1-poky-linux-gnueabi/core-image-minimal/1.0-r0/sdk/image/etc/yum.repos.d --installroot=/home/giz/projects/Stm32Prototype/yocto-project-langdale/build/tmp/work/stm32mp1-poky-linux-gnueabi/core-image-minimal/1.0-r0/sdk/image
Hi all ~We're using STM32MP157C MPU + STPMIC1A for my custom board with ecosystem 4.1We've completed almost all of development for hardware and software. And we just made a sample of 30 units. Unfortunately, we've found some issue in specific 3 units.At first, all of the boards worked successfully, but after a while, we found that a few boards would not boot. We are using eMMC for boot device so I configured boot switch to 010 for eMMC boot mode.Despite of that, MPU enter the DFU mode, and it is detected in STM32CubeProgrammer.Therefore, I've tried to check why MPU enter to DFU mode despite of boot mode is eMMC.And I noticed that Cause is PMIC buck4 voltage level. We are using STPMIC1A, so buck4's default voltage is 3.3v as described in datasheet and it is used for eMMC VCC. But, In a few board which has boot problem PMIC buck4 output 1.8v as default voltage. So, eMMC boot device does not work properly and MPU could not find the FSBL, finally MPU enter the DFU mode.I've alrea
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.