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
Our board is using STM32MP15 and doesn't use PMIC, when we try poweroff command, it seems to work but after around 30 seconds, the board reset automatically.During this time, I see power consumption just goes down a little bit.Does anyone have same issue or something like this?
Hello,I was wondering how hard is to convert the simple OpenAMP_TTY_echo (I have it installing the STM32Cube_FW_MP1_V1.6.0 package from STMicroelectronics' web site) to a Makefile driven project.I need it so, because the firmware auto building of my BSP (partially based on buildroot, makerootfs and others shell based scritps).I have a custom board based on the STM32MP151AAA3 and STM32MP151CAA3.At the moment I am running a vanilla 6.1.55 Linux Kernel on top of Debian 11 Bullseye (11.7) with all needed stuff compiled in as static modules:CONFIG_REMOTEPROC=y CONFIG_REMOTEPROC_CDEV=y CONFIG_STM32_RPROC=y CONFIG_RPMSG_TTY=y CONFIG_RPMSG_CHAR=y CONFIG_RPMSG_CTRL=y CONFIG_ROMSG_VIRTIO=y CONFIG_RPMSG_NS=y CONFIG_STM32_IPCC=y In that case Linux, will show any remoteproc stuff under /sys (sysfs).In my device-tree there is everything (I think) set for CM4 execution code: reserved-memory { #address-cells = <1>; #size-cells = <1>; ranges; mcuram2: mcuram2@10000000 { com
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,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 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!
What does the micro sd card contain which is given with stm32mp135f-dk ??
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
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.
Still trying to get a custom board with a STM32MP151AAC and 512MB ram to boot from eMMC. Switched to using this guide.After various new issues (one of them being this), I managed to bitbake a set that I'm able to fully program with CubeProgrammer.However, that was the only good news about that. The board doesn't boot from eMMC, instead i get the following output.NOTICE: Model: STMicroelectronics custom STM32CubeMX board - openstlinux-6.1-yocto-mickledore-mp1-v23.06.21 INFO: PMIC version = 0x21 INFO: Reset reason (0x15): INFO: Power-on Reset (rst_por) INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe2000 INFO: FCONF: Reading firmware configuration information for: stm32mp_io INFO: Using EMMC INFO: Instance 2 INFO: Boot used partition fsbl1 NOTICE: BL2: v2.8-stm32mp1-r1.0(debug):lts-v2.8.6-dirty(ff0bd5f9) NOTICE: BL2: Built : 17:57:15, Apr 21 2023 WARNING: Failed to access image id=3 (-2) ERROR: Unable to find a metadata partition WARNING: Failed to set reference to ima
On STM32MP1 discrete power. 512MB DDR , TF-A & OPTEE configure in SYSRAME/TC:0 0 Panic at core/arch/arm/plat-stm32mp1/cpu_opp.c:106 <set_clock_then_voltage>Log attached.This message seems to unique for stm32mp1 in OP-TEE code. no other platform source file seems to use this message.Looking further this cpu_opp.c file is not part of OP-TEE on github in ST's stm32mp1 , thus ST unique and added afterwards to the ECO system. Seems to be patch. So that anyone familiar, outside ST, with what this code is doing is probably zero. The source does not reveal much about what is is doing. (no comments) w/o support this may take much more time to debug.Move the regulator part in the DT (in root USER area) after the CPU clocks. Same result. what does ST's code expect ?Added some debug traces:D/TC:0 0 stm32mp1_cpu_opp_get_dt_subnode:296 Found OPP 0 (650000kHz/1200mV) from DTD/TC:0 0 stm32mp1_cpu_opp_get_dt_subnode:302 DEBUG: clk_cpu: 650000000D/TC:0 0 stm32mp1_cpu_opp_get_
Hi All,I have an question when i used STM32MP157.I encountered an issue when using DMA to store the values of ADC conversions.When I store the data from the ADC_DMA_Buffer to the ADC_DATA_Buffer in the HAL_ADC_ConvCpltCallback() function.Then check the buffer values using STM32CubeIDE. I notice that the ADC_DMA_Buffer[1] and ADC_DATA_Buffer[1], ADC_DATA_Buffer[3] ... do not match. What could be the reason for this? Here is the code and ADC1 configuration: (TIM2 frequency is 1000 Hz (1ms)) uint32_t ADC_DMA_Buffer[2] ={0}; uint32_t ADC_DATA_Buffer[500] ={0}; uint16_t ADC_Conversion_Done_Count = 0; void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc) { if(hadc->Instance == ADC1) { ADC_DATA_Buffer[ADC_Conversion_Done_Count] = ADC_DMA_Buffer[0]; ADC_Conversion_Done_Count++; ADC_DATA_Buffer[ADC_Conversion_Done_Count] = ADC_DMA_Buffer[1]; ADC_Conversion_Done_Count++; ADC_Conversion_Done_Count = ADC_Conversion_Done_Count % 500; } } int main(void) { HAL_Init(); if(I
Hey all, I'm trying to test DRM/KMS on an STM32MP1 board, but I can't do this while weston is taking over DRM. The documentation says to quit weston, then run any KMS stuff while it's not running. This is all well and good, and this is the way it's supposed to work on any Linux system, but any time weston leaves the screen, the board becomes unresponsive.EDIT:I built my own kernel image, and it's is working now.
Hi ~I am using STM32MP157C MPU + STPMIC1A for my custom board with ecosystem 4.1And unfortunately I'm wrestling with some problem regarding PMIC.I produced 30 boards for sample.Some board is working fine but some board has power issue.1) Custom board configurationMy custom board consists of a CPU and BASE board like EV1 Evaluation board.CPU board has STM32MP157C MPU + STPMIC1A + DDR, eMMC.Base board has various peripheral such as USB, I/O, HDMI, microSD and so on.2) PMIC issueBoot device is eMMC (SDINBDG4-16G-XI1).STPMIC1A BUCK4's default output level is 3.3V and eMMC use it for VCC.In some boards without any problem, BUCK4 output 3.3V normally.In some boards with the problem, BUCK4 output 3.17V abnormally.Plus, it looks like as following with a cycle time of about 250ms,As a result, the board fails to boot.Yellow is 5VIN and Blue is BUCK4 output.3) VIN ThresholdThe first is a picture of a normal board andthe second is a picture of an abnormal board.4) OthersAll the pictures above were
When we use the PMIC values from DK2 example.1 . ERROR: regul ldo3: max value 750 is invalidWARNING: register_pmic:600 failed to register ldo3PANIC at PC : 0x2fff05cb2 Next we tried setting the ldo3 max, min values to 3V and 1.8V and it was working fine but had next layer of issue as mentioned below.NOTICE: CPU: STM32MP157AAD Rev.ZNOTICE: Model: MelodySOMINFO: PMIC version = 0x21WARNING: VDD unknownNOTICE: Reset reason (0x15):INFO: Power-on Reset (rst_por)INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe2000INFO: FCONF: Reading firmware configuration information for: stm32mp_ioINFO: Using USBINFO: Instance 2INFO: Boot used partition fsbl1NOTICE: BL2: v2.6-stm32mp1-r1.0(debug):v2.6-dirtyNOTICE: BL2: Built : 13:14:26, Nov 23 2021INFO: BL2: Doing platform setupINFO: &
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.