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
Is it possible to control LTDC on STM32MP157 by Cortex M4 co-processor?I have noticed that there is no available HAL driver for LTDC on STM32MP157.Why is it so? Can we use the HAL driver for LTDC intended for STM32H7 processors on STM32MP157?
Trying and failing to toggle LED 7 of the STM32MP157C-DK2 from the STM32. The IOC file indicates that PH7 is configured as GPIO. The mode is Output Push Pull, the GPIO Pull-up/Pull-down state is No pull-up and no-pull-down. The Maximum output speed is Low. I have added the following lines to the following lines to main.c: while (1) { HAL_GPIO_TogglePin(GPIOH, GPIO_PIN_7); HAL_Delay(1000); /* USER CODE END WHILE */The code is executing but the LED is not changing state. I looked in the MX_GPIO_Init() on the STM32 side and there appears to be no code to setup the GPIO port:static void MX_GPIO_Init(void){ /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOH_CLK_ENABLE();}I looked in the CA7 side at the kernel dts file and could find no reference to GPIO H7. From what I read in the documentation I thought the STM32CubeIDE was supposed to generate the setup code for this port. I am using the OpenSTL v2.0.0 Starter Kit image.Does anyone have
In manual UM2369 it states the following:"To set up an STM32MP157C-DK2 Discovery kit as the Edge gateway for your Predictive Maintenance Platform,you can either:• Use a pre-configured image by ST; these can be flashed onto an SD card and run on the Discovery board. Inthis case you can skip the gateway configuration procedure and proceed directly to connecting to thegateway via SSH.– X-LINUX-PREDMNT"I downloaded the appropriate *.imgc file to my HostPC. I also managed to get the STM32Programmer working with DFU and flashed the Starter Package to my Discovery Kit Gateway. The manual or broader website doesn't state how to actually do what UM2369 states in the above paragraph. Anybody have some step-by-step guidance for me?
..
Hello EveryoneI wanted to connect my STM32MP157-DK2 to laptop (Ubuntu 18.04 through a VM). I followed every step in the bellow article but nothing : https://wiki.st.com/.../STM32MP15_Discovery_kits...According to section 6.2 my MP should connect. The STM32Programmer Software is responding (Version 2.5) but the USB connection isn't possible The switches are on the Off mode.There is no explanation on the net, so I hope that you can help me.Thanks
As long as this 0x23 file is larger than 200M, it will fail to burn. I use version 2.5
I cant seem to get the STM32CubeIDE to work with the STM32MP157C-DK2 board. It builds the examples and then when I go to load and debug i get the following:Open On-Chip Debugger 0.10.0+dev-01193-g5ce997d (2020-02-20-10:57) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html cortex_a interrupt mask on cortex_a interrupt mask on cortex_a domain access control fixup on cortex_a domain access control fixup on none separate adapter speed: 8000 kHz adapter_nsrst_assert_width: 200 adapter_nsrst_delay: 200 none srst_pulls_trst srst_only srst_pulls_trst srst_gates_jtag srst_open_drain connect_deassert_srst Info : Listening on port 6666 for tcl connections Info : Listening on port 4444 for telnet connections Info : STLINK V2J36S26 (API v2) VID:PID 0483:3752 Info : using stlink api v2 Info : Target voltage: 3.231496 Info : Unable to match requested speed 8000 kHz, using 4000 kHz Info : Unable to match requested speed 8000 kHz, using 4000 kHz Info : clock spee
Hello.I created a custom device tree in CubMH and added its instructions "How to create your own machine" (https://wiki.st.com/stm32mpu/wiki/How_to_create_your_own_machine)I wanted to run I2C5 in production mode. Running my code stops CM4 and CA9, which then leads to a reboot. At the same time, there are no signals on the pins.Running the example I2C_TwoBoards_ComIT (STM32CubeMP1 / Projects / STM32MP157C-DK2 / Examples / I2C / I2C_TwoBoards_ComIT) CM4 loops at the following code fragment:while (HAL_I2C_GetState (& hi2c5)! = HAL_I2C_STATE_READY) { }In this case, CA9 is working normally.In engineering mode, my code and example code work fine, signals appear on pins.I2c5 setup:m4_i2c5_pins_mx: m4_i2c5_mx-0 { pins { pinmux = <STM32_PINMUX('A', 11, RSVD)>, /* I2C5_SCL */ <STM32_PINMUX('A', 12, RSVD)>; /* I2C5_SDA */ };};&m4_i2c5{ pinctrl-names = "default"; pinctrl-0 = <&m4_i2c5_pins_mx>; status = "okay"; /* USER CODE BEGIN m4_i2c5 */
Hey Team, I'm trying to get through a board bring up with the STM32MP157 silicon ver 2001 marked with a Z. We are trying to boot the system from the on board eMMC (Insignis Technology Corp P/N: NSEC53K008-IT 8GB eMMC ) and are having issues. We have configured the boot pins correctly and also confirmed emmc hardware connections are correct by successfully reading and writing the emmc from linux while booting from the SD card. There seems to be a lack of documentation on how to configure the eMMC and partition it. Is there any specific partition scheme that needs to be followed for the MP1? And link to an app note that documents how to configure the eMMC via STM32Programmer or UBoot for booting would be extremely helpful.Jason
Hi Folks,I am trying to build openstlinux-eglfs/st-example-image-qt using yocto/openstlinux distribution (please see details below) for stm32mp157c-dk2 board. After fixing compilation problem with qt3d (scene2d example failed to compile) I was able to boot from SD card.There is STM background on HDMI and bootloader splashscreen on attached screen (which remains black if no HDMI connected). Whatever example I am trying to run using seral console, they does not work with following errors:root@stm32mp1:/usr/share/examples/gui/openglwindow# ./openglwindow No usable crtc/encoder pair for connector "DSI1"qt.qpa.input: X-less xkbcommon not available, not performing key mappingCould not set DRM mode for screen HDMI1 (Permission denied)Could not queue DRM page flip on screen HDMI1 (Permission denied)(last message repeated continuously)I would highly appreciate any hints how to make eglfs image/examples work.Best regards,Andrey.~/stm32mp157c-dk2/Distribution-Package/openstlinux-4.19-thud-mp1-19-
Hi,I am currently using the STM32MP1-DK1 board in engineering modeWhen I am debugging the program and stepping instruction by instruction in IAR, the debugging process is lost at a time during the execution.I can execute the program and and I can insert breakpoint wherever I want. But, before the instruction msr msp, r0 in the function vPortStartFirstTask in the file portasm.s has been executing, if we stop the program execution by inserting a breakpoint, the debugging process is lost with the error:A vector table read fault has occurred. The processor has escalated a configurable-priority exception to HardFault. An MPU or Execute Never (XN) default memory map access violation has occurred on an instruction fetch (CFSR.IACCVIOL, MMFAR). A precise data access error has occurred (CFSR.PRECISERR, BFAR) at data address 0x34020000. Exception occured at PC = 0x1000ced8, LR = 0x10006e9d
I'm trying to get the OpenSTLinux build environment up & running for the 1st time, following the instructions on the wiki step-by-step.So far I have:Built a Ubuntu 18 Virtual machine in Virtualbox - (18.04.5LTS, 4 cores, 8GbRAM, 500Gb HDD)Followed all the Starter package / Distribution package install & setup stepsProgrammed the DK2 and EVB with the Starter Packages (tip: you need Virtualbox Extensions enabling USB2.0 & add STMicroelectronics* as a USB filter)But now I am trying to actually build the whole project using BitBake and it keeps failing.I have not modified the OpenSTLinux at all, I have set it all up using the directory structure suggested in the Wiki, initialised the environment per the instructions, and invoked:bitbake -v st-image-weston 2>&1 | tee build.logAnd the process appears to have failed, which is rather dissappointing, although I can't tell if the error is a "real" error or just something that doesn't really matter.Here's errors from the log:ER
In our custom board we are using I2C1 to control and configure STPMIC1. I'd like to use I2C1 in TF-A so PMIC can be configured to power DDR during boot. I2C1 is not supported by default in TF-A, but looks like there is a way to do it as described in https://wiki.st.com/stm32mpu/wiki/PMIC_hardware_components#TF-A I followed the procedure described in the above link, but still when I include the reference to &i2c1 in my stm32mp153c-<project>.dts it throws the following build error| Building stm32mp1| Error: fdts/stm32mp153c-<project name>.dts:355.1-6 Label or path i2c1 not found| FATAL ERROR: Syntax error parsing input treeAm I missing something?Thanks,Nikhil
Hey,As a hardware engineer, I worked for a long time with the M7 controller.For a Specific Algorithm, It seems like I should use a stronger core then the M7 480Mhz, when the purpose is to Calculate in Real-time.one of the options is to use the MP153/157 with 2 cores 800Mhz each, for Better performance.in case that I would like to work Bare metal- without operating system like Linux, and the entire purpose of the MPU is to calculate and send the data in serial communication, what is the minimum periphery the MPU Demands?external DRAM is necessary ?in simple words, can I just “supply�? the component?what are the Consequences in using MPU Vs MCU, except from Power Consumption? Best regards peleg
I want to use remoteproc to load and start firmware on Coretex-M4 from Cortex-A7.I refer to the following Wiki page.https://wiki.st.com/stm32mpu/wiki/Linux_remoteproc_framework_overviewIn above Wiki page, I have tried [4.1.1 Remote processor boot through sysfs].However, I can't find "remoteprocX(e.g. remoteproc0)" directory in "/sys/class/remoteproc/" directory.("/sys/class/remoteproc/" directory has no any sub-directory or files at all)What should I do to create "remoteprocX(e.g. remoteproc0)" directory in "/sys/class/remoteproc/" directory?Do I have to modify Linux kernel configuration or Device Tree? For the reference, [Support for Remote Processor subsystem] and [STM32 remoteproc support] is enabled in Linux kernel configuration as modules , and these have being loaded by "modprobe" command.Best regards.H. Masuda
Using the ST provided altium design files for the STM32MP157A-DK1, I've run the design rule check on the PCB as default which shows about 400 violations. Are the design rules set up correctly for this project or am I doing something incorrectly? I'd like to use the PCB file as the base for my project but would like the design rules to be correct before continuing.Thanks
Hi, I'm trying to build a Yocto-Linux for an specific STM32MP157 board. I was working with "thud", but now "dunfell" is required, as it is supposed to be long term stable.The system is built after ST's manual:https://wiki.st.com/stm32mpu/wiki/How_to_create_your_own_machinetf-a-stm32mp-2.2u-boot-stm32mp-2020.01The Device Tree was adapted and Bitbake is compiling it. But now system get stuck while it executes the TF-A Boot (from SD).Is there any way to debug or get the reason for image load fail?When I try to flash it via STProgrammer a "Panic at PC" appears.Thanks in advance for any advise!KaiNOTICE: CPU: STM32MP157AAD Rev.B NOTICE: Model: STMicroelectronics custom STM32CubeMX board WARNING: VDD unknownINFO: Reset reason (0x17): INFO: Power-on Reset (rst_por) INFO: Using SDMMC INFO: Instance 1 INFO: Boot used partition fsbl1 NOTICE: BL2: v2.2-r1.0(debug):v2.2-dirty NOTICE: BL2: Built : 13:36:23, Oct 22 2019 INFO: Using crypto library 'stm32_crypto_lib' INFO: BL2: Doing platform setup IN
I want to know how to specify the address to load Cortex-M4 firmware when U-Boot or Linux Kernel load the firmware of Cortex-M4 in Retention RAM.And, how to specify the address to load Cortex-M4 firmware if I load the firmware of Cortex-M4 in Retention RAM and MCUSRAM separately?In addition, if I load the firmware of Cortex-M4 in Retention RAM and MCUSRAM separately, is the swithing of RetentionRAM and MCUSRAM done by MPU without the programmer being aware of it?
I'm trying to boot an STM32MP157 using the v5.4-stm32mp branch of ST's Linux kernel, and it doesn't appear that peripherals under the simple-bus node in the DTS file are getting probed. I copied the stm32mp157d-dk1.dts file as a starting point, but since my board doesn't have a PMIC, I commented out the PMIC element and instead pass a dummy regulator to the SDMMC peripherals. With no other changes, I got absolutely no output from the console. When I enabled earlyprintk support, I got output that stopped at "printk: console [tty0] enabled." I thought, "hmm, that's weird. Why isn't it loading my UART driver?" I edited the boot arguments to pass console=ttySTM0,115200 to the kernel (obviously it should be getting picked up from the device tree file), and this fixed the console printing issue, but I now have the attached log file.As you can see, the device tree is getting loaded, and the memory pools / CPU settings are handled. However, none of the STM32 peripheral drivers are getting load
want to exchange large data buffers with the coprocessor.I have done following wiki page.https://wiki.st.com/stm32mpu-ecosystem-v1/wiki/How_to_exchange_large_data_buffers_with_the_coprocessor_-_example#Source_codeI want to analyze Cortex-M4 source code, So I have get following source code. https://github.com/STMicroelectronics/logicanalyserI want to build the source code, but README says that "Drivers and Middleware are not included in the project; current assumption is that STM32Cube_FW_MP1_V1.2.0RC2 package is located at the same level as the project root folder."How can I get STM32Cube_FW_MP1_V1.2.0RC2?Or I have to investigate how to build the source code without STM32Cube_FW_MP1_V1.2.0RC2?Best Regards.H. Masuda
I am on environment 2.0.0 and a custom board with PMIC and STM32MP151 booting via serial interface with the STM32CubeProgrammer using UART4 for debug output.I managed to get the TF-A running up until it is in BL32 (sp_min) and prints "Preparing exit to normal world". This seems to be the last message before U-Boot is supposed to print something. Which it does not.I tried to enable early debug, but i am not exactly sure where and how to set those options.I added CONFIG_DEBUG_UART_BOARD_INIT=yCONFIG_DEBUG_UART=yCONFIG_DEBUG_UART_STM32=yto the stm32mp15_basic_defconfig, but this has no effect.I did fill all the user sections in the DT as far as i can think of. Using one of the eval boards as a template.I attached both DT for TF-A and U-Boot as well as a UART Trace.Any idea where to start looking?
Trying to run some test code on the M4 core of a custom stm32mp151a board and can't seem to get far. I have been successful in getting u-boot working on the A core, so the majority of the board has been proven functional.I will attach my make file as well as a simple project that fails. The board is configured to boot in engineering mode.gdb indicates the crash is in memset from _start. I double checked it was pulling in the right version of thumb code for the library, and the .map file says it is.I used the bss loop to write a known value and then verified the startup code was clearing the bss section. The crash appears to happen after that is complete.I've also tried skipping the c _start function and calling __libc_init_array directly and it crashes in there. Skipping the _start altogether on the simple project runs without incident.The indication from gdb at crash with the backtrace is...Loading section .text, size 0x3f4 lma 0x10000000 Loading section .rodata, size 0x4 lma 0x100003
I'm looking for CAD symbols and footprint for STM32MP15x in LFBGA-354 package. Could you guys help me on this? Thank you.
Hello ST Teams!I'd like to know if it's possible to upgrade Python version and at the same time stay at 1.2 SDK.I've read the "STM32MP1 Ecosystem known bugs and common pitfalls" post and "https://community.st.com/s/question/0D53W00000Ab3toSAB/how-to-upgrade-to-python-36"its seems we cannot do it easily?Any advice?We aim to build a st-image-core with embedded upgraded python version.Have a nice weekend!
Hi, i moved to new ecosystem v2.0 "dunfell" and added my layers of wifi,camera, openCV and python packages from old Yocto ecosystem. first boot serial-getty@ttySTM0 working fine. on second boot it died and in /var/log/messeges i got: Unit serial-getty@ttySTM0.service is bound to inactive unit dev-ttySTM0.device. Stopping, tooI can't understand what i did wrong in Yocto layers that making this bug. did someone had this issue?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.