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'm working on an audio-processing application with the STM32MP157F-DK2 discovery board. While evaluating the hardware, I built and installed the system using the distribution package. I used the following command to record sound via the 3.5mm audio jack:arecord -D record_codec -f S16_LE -d 10 /tmp/rec.wavAfter examining the resulting file, it seems like the board was unable to capture any sound from the 3.5mm audio jack input (which I connected to an AKG headphone that has a microphone). The only thing I can hear is some background noise (and it is still the case even if I use SSH to transfer the recorded file to my computer and play it back there, so it can't be the output issue).Any insight for recording audio on this board? Thanks a lot.
I am testing the openstlinux distribution and I am creating an image from the st-image-weston image. The thing is that when I want to use the package installer I can't use the apt-get update command or any other. In this case the problem seems to be that the repository doesn't support the architecture, but I don't really know why since the distribution was created with the intention of working with this MPU. Any suggestion of what could be the fault?This is what I see on console:root@stm32mp1:~# apt-get update The software package is provided AS IS, and by downloading it, you agree to be bound to the terms of the software license agreement (SLA). The detailed content licenses can be found at https://wiki.st.com/stm32mpu/wiki/OpenSTLinux_licenses. Hit:1 http://packages.openstlinux.st.com/3.1 dunfell InRelease Reading package lists... Done N: Skipping acquire of configured file 'main/binary-${DPKG_ARCH}/Packages' as repository 'http://packages.openstlinux.st.com/3.1 dunfell InRelease' do
HelloI read the article related to HUK. However it seems it does not explain how to use the HUK for STM32MP135F-DK.On STM32MP13xC/F lines,STMicroelectronics provisions an HUK in the OTPs. These OTPs cannot be read with the BSEC IP. The OTPs storing the HUK are directly wired to SAES.SAES computes internally a derived HUK (DHUK). The value of the DHUK depends on the privilege level, key selection, key selected mode, the chaining mode, and on whether the SAES peripheral is secure or non-secure.From that I do not understand how can we use HUK with dm-crypt for example for LUKS encryption.Also I saw there is this article not working anymore: https://wiki.st.com/stm32mpu/wiki/How_to_encrypt_a_disk_with_dm-cryptCould you point me to some documentation?Thanks
Hello,I'm working on a STM32MP157D-DK1 demoboard and I want to manually start the coprocessor from u-boot.I'm tried to follow this tutorial: MANUAL START The steps that I maked are:1) I generated the code with STM32CubeMx (I selected the board STM32MP157D-DK1 with default initialization of all peripherals) 2) I imported the code into STM32cubeIDE and I added the following changes:In main.c: while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ HAL_GPIO_TogglePin(GPIOH, GPIO_PIN_7); HAL_Delay(500); } in gpio.c: void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = { 0 }; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOH_CLK_ENABLE(); /*Configure GPIO pin*/ GPIO_InitStruct.Pin = GPIO_PIN_7; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); }3) I loaded the code (a simple toggle of the orang
Hi, I was following the STM32MP157F-DK2 tutorial for developing on ARM Cortex A7. I have two problems:1) Starter package - i have using STM32CubeProgrammer to download the image to a new SD Card, but the board failed to load Linux2) i have tried the example given for hello_world.c . host cross-compilation is successful, but the program cannot run on the board with the following error messages:root@stm32mp1:/usr/local# su -l weston -c "/usr/local/gtk_hello_world"chown: cannot read directory '/home/root': Permission denied/usr/local/gtk_hello_world: /lib/libc.so.6: version `GLIBC_2.34' not found (required by /usr/local/gtk_hello_world)appreciate any help.
STM32MP135 is connect on i2c bus to 3 devices:LM75PCF8563INA233I am using linux kernel 5.15.24 synched with your github repo. LM75 and PCF8563 are working fine. INA233 has problems to manage the PEC (Packet Error Correction)I am seeing lot of this errors:stm32f7-i2c 40012000.i2c: Bad PEC 0x89 vs. 0x79stm32f7-i2c 40012000.i2c: Bad PEC 0x89 vs. 0xc7stm32f7-i2c 40012000.i2c: Bad PEC 0x89 vs. 0xedI checked on the st driver that the PECEN is flagged since the i2c slave device has the PEC capability, and I am receving the PEC fo=rom the device in the log: 0x79, 0xcf, 0xed.The strange think is that the register value read from stm device is always 0x89.This value is read using the internal_pec = readl_relaxed(i2c_dev->base + STM32F7_I2C_PECR)It seems the register is not properly updated.Any idea or suggestion?
Hi,Appreciate any help on how to enable u-boot splash screen during boot. I am using STM32MP157F-DK2.Thank you.
Hello, I’m working on enabling secure boot on our STM32MP15 cards. We are using yocto, with the layer from ST (meta-st-stm32mp). I am currently trying to implement the check of the signature of the fitImage by u-boot. I have added this configuration: UBOOT_SIGN_ENABLE = "${SIGN_ENABLE}" FIT_SIGN_INDIVIDUAL = "${SIGN_ENABLE}" UBOOT_SIGN_KEYDIR = "${KEYDIR}" UBOOT_SIGN_KEYNAME = "u-boot" UBOOT_SIGN_IMG_KEYNAME="u-boot-img" UBOOT_MKIMAGE_DTCOPTS = "-I dts -O dtb -p 2000"We have multiple models of cards, with different device trees for each. U-boot is configured to load the correct one with information from the card. So there are multiple device trees with different configurations in our fitImage. However it appears it is not possible to sign the fitImage with multiple device trees. A fatal error is launched when trying.It seems to comes from a function in recipes-kernel/linux/linux-stm32mp.inc in the layer from ST, but I don’t understand why This is the function: 
Objective: I want to debug using STM32MP157F-DK2 Cortex M4 + STLink + VSCode + GDB.I am planning to perform the following stepsstep1. Enable building the elf file from VSCode.step2. Connect VSCode and GDB.Questions:1. I want to create a Makefile for STM32MP15x M4 and produce an elf file. How should I go about creating the Makefile? I would greatly appreciate any working examples.2. Are there any plans to make STM32CubeIDE compatible with Makefile output for STM32MP1?Issues: Unable to create a Makefile for STM32MP15x M4, and thus cannot create an elf file.What I have done so far:1. I have successfully created an elf file using STM32CubeIDE.2. After building my code using STM32CubeIDE, I managed to generate GPIO_EXTI_CM4.elf. I got this code from `meta-st-stm32mp/recipes-extended` by `devtool modify m4projects-stm32mp` of bitbake. 3. I have successfully created an elf file using Yocto, I manage
Hello, I'm currently working with a STM32MP157D-DK1 Development Board with 4GB DDR3L. I populated the board with a prebuild openstlinux 6.1 build like discribed in a guide in the ST wiki.When checking the total memory i unfortunatly only get 407MB that are used. root@stm32mp1:~# free --mega total used free shared buff/cache available Mem: 407 138 152 13 140 269 Swap: 0 0 0 Is there a way to use the complete 4GB of RAM? Kind regards,Markus
I am working with an STM32MP157F-DK2 board and would like to connect a camera. My requirement is no less than 60fps capture, but it can be at 640x480 resolution. Is this device and bus capable of supporting 60fps capture? And if so, can someone recommend a camera module that hopefully already has Linux support? Thank you!
HI STM32 Team,What is the boot process of STM32MP157A-DK1 BOARD and where to study that. Thanks in advance,Regards,A. Ajith Kumar
Hi,I use the BFA001V2 board as a counterpart for testing IO-Link Master with BLOB transfer. A problem was detected while reading a BLOB.When using BFA001V2, after 15 successful data transfers (flow_control set to 0x2F), an invalid flow_control with a value of 0x30 (last frame) is sent. (However, the total size of the blob must be 16 KB!).According to the IO-Link specification, flow_control should cycle from 0x20 to 0x2F, after almost all bytes have been sent, the Last_block command (0x30) should be sent with the last block of data. Could someone check the stack on BFA001V2?Thanks in Advance D.Krush
Custom STM32MP157AAA3 board with 512MB DDR.[Note: the NOTICE: DEBUG messages in below logs were added to the source code of TF-A]The TF-A DT was compiled with option for SYSRAM with resulting dtb fw-configOP-TEE was compiled for SYSRAM and and enabled with pager as can be seen in the contents FIP file:The reservation was made in OP-TEE DT:The optee-header_v2.bin: file generated:Result:NOTICE: Early console setupNOTICE: CPU: STM32MP157AAA Rev.BNOTICE: Model: STMicroelectronics custom STM32CubeMX board - openstlinux-6.1-yocto-mickledore-mp1-v23.06.21NOTICE: DEBUG: stm32_print_boardinfoNOTICE: DEBUG: stm32mp_is_closed_deviceNOTICE: HELLO: fixed_regulator_registerNOTICE: DEBUG: stm32mp1_arch_security_setupNOTICE: DEBUG: print_reset_reasonINFO: Reset reason (0x14):INFO: Pad Reset from NRSTNOTICE: DEBUG: stm32mp1_syscfg_enable_io_compensation_finishNOTICE: DEBUG: fconf_populateINFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe2000INFO: FCONF: Reading firmware con
I have to deploy a NN on this device and I want to optimize cache for improving the energy efficiency.
I am using the
I have an STM32MP157F-DK2. I am wanting to save the original contents of the sd card. How do I save the sd card to a file that I may later put it back unto the sd card? Will dd do this?Thank you!
The TF-A Makefile.sdk creates a small metadata.bin file for each type of boot (USB, SD-cARD, EMMC)1/ How to generates this outside of Makefile.sdk ? I use this, but is only generates one file and there seems no parameter for the type of the boot device;TF_A_METADATA_JSON=plat/st/stm32mp1/default_metadata.jsontools/fwu_gen_metadata/fwumd_tool.py jsonparse $TF_A_METADATA_JSON -b build/stm32mp1/metadata.bin2/ Is the file the same for each device different or can it be used for SD, EMMC, USB etc.. ?3/ is there a specification for the format of this file ?4/ is there a tool to enumerate the entries and their values in of this file ?
What does the micro sd card contain which is given with stm32mp135f-dk ??
Hi, I'm reading up on stm mp1, in particular the Linux side, my intent was to use the M4 to read data from sensors and transfer them to the A7 on the Linux side. Now I've read the function in C code that reads the messages from the manual: read:int readTtyRpmsg(int FdRpmsg, int len, char* pData) { int byte_rd, byte_avail; int result = 0; if (FdRpmsg < 0) { printf("CA7 : Error reading ttyRPMSG, fileDescriptor is not set\n"); return FdRpmsg; } ioctl(FdRpmsg, FIONREAD, &byte_avail); if (byte_avail > 0) { if (byte_avail >= len) { byte_rd = read(FdRpmsg, pData, len); } else { byte_rd = read(FdRpmsg, pData, byte_avail); } result = byte_rd; } else { result = 0; } return result; }my question if there is a way to read data with interrupt or every time I have to query this function, how do I know if the data to read in msg is available without querying the function Thank you
Dear all,I have a question about ADC.When i used adc in dual regular simultaneous mode, master adc can get correct value, but slave adc can not.Does anyone have some idea?These are my ADC 1 and 2 configuration.In my understanding adcData_DMA = ADC_CDR so adcData_DMA bits[31:16] = ADC2 Data. Is it right?uint32_t adcData_DMA[5]; if (HAL_ADCEx_MultiModeStart_DMA(&hadc1,(uint32_t*)adcData_DMA, 5) != HAL_OK) { Error_Handler(); }ADC1 ADC2Thanks.Best Regards.
I am testing with a STM32MP157D-DK1 board with the goal of developing a custom board later. The board is useful to test everything I need except for the WIFI module. I have seen that in the page it seems that before a WLAN and bluethoot module was installed, but in the test board that I have it is not installed, and in the schematics of the board this module seems to have been removed, and the only thing that is seen is that it says DNF. What was the reason for removing the WIFI module? It did not get to work properly? On the other hand, if I replicate the circuit on a custom board can I make it work or would I have to integrate another module. In fact, is it in itself possible to incorporate the WIFI in the first place?I would appreciate to know the answers and decisions that were taken when removing the module.
Hi. I guess I need some help with flashing the STM32MP157F-DK2. I wanted to use the PKCS#11 TA. But calling$ pkcs11-tool --show-info --module /usr/lib/libckteec.so.0gives me the error that no pkcs11-tool is found. After some research I found out that secure services are disabled by default for the ecosystem >= 5.0.0. To renable them one has to build OP-TEE and TF-A with CFG_STM32MP1_OPTEE_IN_SYSRAM=y and STM32MP1_OPTEE_IN_SYSRAM=1. After doing so and making sure that the files are built with those flags I wanted to flash the board with the new files. But when I flash the board I receive the following output:Exception mode=0x00000016 at: 0x2ffec907NOTICE: CPU: STM32MP157FAC Rev.ZNOTICE: Model: STMicroelectronics STM32MP157F-DK2 Discovery BoardNOTICE: Board: MB1272 Var4.0 Rev.C-03INFO: PMIC version = 0x21INFO: TF-A Reset Reason Called TXNXINFO: Reset reason (0x15):INFO: Power-on Reset (rst_por)INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe2000INFO: FCONF: Reading
Hello, i am working on the STM32MP157C to use its ADCs. at first i was only using the iio framwork on linux , however it is limited. so i'm trying the examples on the (github page) using the Linux Remoteproc . my board configuration is different since that i'm using OSD32MP1-brk. I am using the SWD to debug the MPU using ST-link V2 as shown in the figure 1.Figure1: ST-LINK V2 USB Dongle ProgrammerNow after compiling the code and Loading the compiled ELF firmware in the remote processor memory using the cube mx ide and the provided shell scrip in the example it seems to run without issues. how ever i have no indication of what the ADCs are doing, with the debugger i was only using engineering mode to compile and load it to the M4 but then linux isn't running so the variables are showing empty... I don't know if i'm doing the right thing or not since i'm not using the development board that was originaly used for the examples. since that i have i different pin mapping in the device
Take MYIR’s MYD-YF13X and the STM32MP135F-DK as examples to share training course on how to use STM32CubeMX combined with the developer package to implement the booting of the minimal system.https://www.myirtech.com/news_list.asp?id=8771. Development Preparation1.1 Developer package preparationa. Developer Package Download:https://www.st.com/en/embedded-software/stm32mp1dev.htmlb. Unzip it and Access the Source Folder:c. Source Code Preparation (can be prepared according to the third point in README.HOW_TO.txt in each source folder):TFA Source Code$> cd tf-a-stm32mp-v2.6-stm32mp-r2-r0$> tar xf tf-a-stm32mp-v2.6-stm32mp-r2-r0.tar.xz$> cd tf-a-stm32mp-v2.6-stm32mp-r2$> for p in `ls -1 ../*.patch`; do patch -p1 < $p; doneOP-TEE Source Code$> cd optee-os-stm32mp-3.16.0-stm32mp-r2-r0$> tar xf optee-os-stm32mp-3.16.0-stm32mp-r2-r0.tar.xz$> cd optee-os-stm32mp-3.16.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.