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 all, As part of the evaluation of the 32MP15 series, I was trying to build the u-boot and TF-A binaries. I tried the u-boot SPL bring up and it seems to be working fine (except for failure to launch the Linux Kernel, as per your late updates). For U-boot, I used : https://github.com/STMicroelectronics/u-bootAnd Build commands: $ make -j12 stm32mp15_defconfig $ make -j12 DEVICE_TREE=stm32mp157d-dk1 allFor TF-A binary, I used : https://github.com/STMicroelectronics/arm-trusted-firmware/tree/v2.8-stm32mpAnd Build command of BL32 (SP MIN mode):$ make -j12 ARM_ARCH_MAJOR=7 ARCH=aarch32 PLAT=stm32mp1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157d-dk1.dtb bl32 dtbsand Build command of BL2: make -j12 ARM_ARCH_MAJOR=7 ARCH=aarch32 PLAT=stm32mp1 STM32MP_SDMMC=1 STM32MP15=1 DTB_FILE_NAME=stm32mp157d-dk1.dtb LOG_LEVEL=40 DEBUG=1 and to generate FIP binary from TF-A Makefile, I used: $ make ARM_ARCH_MAJOR=
I have a custom built STM32MP131FAF7T board and can't set my VOUT2. The only line that is down is my VDD DDR Lines since I can't program my PMIC (STPMIC1DPQR) to have the VOUT2 to be 1.35 volts instead of 1.1 volts. My VCPU is at 1.2V, VDD is at 3.3V and VCORE is at 1.2V.
Hello,We will development IoT panel platform. We are examining STM32MP135 product for use in the project. However, there is something we are worried about. Is it possible to use VOIP SIP directly with this linux image?It will be used directly through the PBX server (asterisk, etc.).In fact, we are wondering whether we will need to do additional development at the linux kernel level. Can you publish example works for us?
Hey, I'm following the Getting started tutorial and have some troubles at the chapter "Modify, rebuild and reload the Linux kernel":https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP157x-DK2/Develop_on_Arm%C2%AE_Cortex%C2%AE-A7/Modify,_rebuild_and_reload_the_Linux%C2%AE_kernel Everything works up until Building the Linux images withmake ARCH=arm uImage vmlinux dtbs LOADADDR=0xC2000040This creates the following error:CALL scripts/checksyscalls.shCC drivers/clk/clk-scmi.odrivers/clk/clk-scmi.c: In function ‘scmi_clk_round_rate_get’:drivers/clk/clk-scmi.c:49:33: error: ‘const struct scmi_clk_proto_ops’ has no member named ‘round_rate_get’49 | ret = scmi_proto_clk_ops->round_rate_get(clk->ph, clk->id, &round_rate);| ^~drivers/clk/clk-scmi.c: In function ‘scmi_clk_get_duty_cycle’:drivers/clk/clk-scmi.c:61:33: error: ‘const struct scmi_clk_proto_ops’ has no member named ‘get_duty_cycle’61 | ret = scmi_proto_clk_ops->get_duty_cycle(clk->ph,
I'm trying to use an ADV7280 videodecoder with DCMI and embedded linux on a board based on STM32157c-dk2. The decoder should output 720x576 picture resolution with the camera (PAL,CV) attached. However the DCMI seems to be in 'normal mode' which allows max 480x272 resolution based on app. note AN5020. How to change mode to circular buffer mode which should allow higher resolutions? I haven't found any linux device tree setups for that. Some settings for dma or dcmi ? Examples?
Hello all, good day I hope your Christmas season is going well. I'm looking for a pdf document that gives description for STM32MP157F-DK2 HAL and low-layer drivers. I tried searching the internet but I couldn't find it, (basically looking for an equivalent of the PDF that is attached to this post) for my STM32MP157F-DK2 board as I am using STM32CubeIDE to program it please provide kind support thank you best regards.
Hi all,We have a custom board based on stm32mp157f-dk2, with small changes. But we have an issue that the board will not wakeup after remoteproc0(m4) is turned off (cmd: echo stop > /sys/class/remoteproc/remoteproc0/state). When m4 firmware is running, wakeup source works. The dk2 board is ok, no such issue. What may be the cause? We have spent much time on it but no finding. Please give some advice...Attatch my devicetree as follow.
I am trying to dump LED blink program in STM32MP157D-DK1. I don't want to use any other software like STMCubeMX, meaning that, create project in Eclipse and write program to blink LED. I created project and build it successfully, but when run the code, it generates an error " 'Launching Debug' has encountered a problem." int main(void) { // Enable GPIO clock for GPIOC RCC_MC_AHB4ENSETR |= (1U << 2); // Set bit 2 for GPIOCEN // Set PC0 as output GPIOC_MODER &= ~(3U << (GPIOC_PIN_0 * 2)); // Clear bits GPIOC_MODER |= (1U << (GPIOC_PIN_0 * 2)); // Set as output while (1) { // Toggle the LED state GPIOC_ODR ^= (1U << GPIOC_PIN_0); // Toggle PC0 delay(1000000); // Delay } return 0; }
Working on setting up SPI bus and get a connection to ESP32C6 WiFi/BT module. Trying to configure SPI5 clock in device tree for STM32MP151. Have used different sources (HSI, HSE, PLL4Q), but the enable count on the SPI5_k clock is always zero. I am suspecting now that problem must be elsewhere. Has anyone stumbled upon this?
any tips on how to enable and debug pll4_r and fdcan_k clock?
Hi,i implemented our TF-A update by using both bootareas:1) checking EXTCSD for active bank2) flashing opposite bank3) after verification switching EXTCSD (mmc bootpart enable)not failsafe but at least atomic / verified.(btw, i'm missing the feature that the ROMCode does a fallback to the inactive bootarea in case the selected one is unbootable.)The TF-A is not printing any information about the used partition. It's always showing:INFO: Using EMMCINFO: Instance 2INFO: Boot used partition fsbl1which is of course misleading, because there is no fsbl1 partition anywhere on the emmc. It's also "1" if i boot from second boot area ([PARTITION_CONFIG: 0x50]), so the bootcontext information for this seems only to be valid in case of booting from userarea, e.g. SDC?Is there any (undocumented) information for that (reflecting used boot area) in the bootcontext i could use for a debug message? I ensured that the mechanism is working by selecting a bootpartition without content - nothing happens t
Hi I used pip3 install python submodule.The submodule inclued xxx.c files.The install processing be use 'arm-ostl-linux-gnueabi-gcc' compiler tool, The processing be fail.I can't find gcc-arm-aarch32-arm-none-linux-gnueabi tool for The STM32MPU157-DK2.I find out tools are 'gcc-arm-aarch64-arm-none-linux-gnueabi', But it can't use on the STM32MPU157-DK2.I use STM32-SDK provider comliler tools, it is don't working too. The other question, The other way, How to install python submodule in the linux kernel image?
HelloI have an STM32MP135x-DK board and have built my own openstllinux image and rootfs for it as shown in this article.https://wiki.st.com/stm32mpu/wiki/STM32MP1_Distribution_PackageNow I'm trying to get spi5 to show up in /dev so I can use spidev to write some user applications using spi5 as a generic spi master. The tl;dr is that I'm having issues even getting anything to show up in /sys/class/spi_master, much less /dev/spidev.DETAILS:I have followed the instructions here to configure the kernel and used a separate install of stm32cube IDE with the STM32MP135x-DK example project to generate my device tree with SPI5 enabled. Since then though, I have tried making a lot of hand-edits to my .dts file as I became more familiar with the syntax.https://wiki.st.com/stm32mpu/wiki/SPI_overviewHere's what my .config file looks like in my kernel's build directory (with commented out options removed).CONFIG_SPI=yCONFIG_SPI_MASTER=yCONFIG_SPI_MEM=yCONFIG_SPI_GPIO=mCONFIG_SPI_STM32=mCONFIG_S
Hi,i'm implementing our field-update using the A/B mechanism for FIP image.Would like to use the Update Client described on the page as a template:https://wiki.st.com/stm32mpu/wiki/Secure_Firmware_Update#Update_ClientBut no idea where to find it. I didn't find anything promising in the meta- repos from st?Where to get it? I think i will be able to do the metadata things. But it would be interesting how to read the backup registers from Linux:register TAMP_BKP10R ? How to read it?I'm on a STM32MP13xthanks + br,Simon KretschmerDSA Datasystems / comlet GmbH
HI,I am working on a custom STM32MP151AAC3 board, and working on OpenSTLinux 4.10 distribution package.Now I can connect to the board through UART4(PB2 and PG11) by STM32CubeProgrammer, and I want to tune the DDR3 to verify the design. I need the u-boot-spl.stm32 binary file.Firstly, I create a custom layers for the custom board following the instruction from https://wiki.stmicroelectronics.cn/stm32mpu-ecosystem-v4/wiki/How_to_compile_the_device_tree_with_the_Distribution_Package , and I can built the system image successfully. But I cannot find u-boot-spl.stm32 or u-boot.stm32 in the **/deploy/images/customboard/u-boot directory.Then I find a wiki page said that “The ouput file u-boot.stm32' is only generated for stm32mp15_trusted_defconfig with CONFIG_STM32MP15x_STM32IMAGE; it is not more used for ecosystem release ≥ v4.0.0”. So, I adjust the machine.conf and append "UBOOT_CONFIG[trusted] = "stm32mp15_trusted_defconfig,,u-boot.dtb", still cannot get the u-boot stm32image.I have attac
Hello everyone!I am trying to bring up a custom board based with a STM32MP151 (C Variant) with OPTEE, TF-A and U-BOOT.So far so good, but when running the FIT Image (Kernel + DTB) it fails finding the boot storage. It looks like the device-tree is not correctly parsed, because I did not find any activated/bind drivers in the kernel log dmesg during boot.Here is the bootlog (from OPTEE/TF-A/UBOOT/FIT)NOTICE: CPU: STM32MP151CAA Rev.ZNOTICE: Model: STMicroelectronics custom STM32CubeMX board - openstlinux-6.1-yocto-mickledore-mp1-v23.06.21INFO: PMIC version = 0x21INFO: 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 SDMMCINFO: Instance 1INFO: Boot used partition fsbl1NOTICE: BL2: v2.8-stm32mp1-r1.0(debug):()NOTICE: BL2: Built : 12:46:46, Dec 14 2023INFO: BL2: Doing platform setupINFO: RAM: DDR3-DDR3L 16bits 533000kHzINFO: Memory size =
Hi,I have written a cpp program with two threads, one thread for uart serial communication and other thread to control the GPIOsi have compiled it, and i got a binaryButWhen i transfered it to the board i get the error ./fw_dali_controller: line 1: syntax error: unexpected ")" I will paste the Makefile below knidly help me in resolving the issue.Makefile# Makefile for fw_dali_controllerPROG = daliCC = g++ #CFLAGS = -Wall -std=c++11#LDFLAGS = -lpthread # Add / change option in CFLAGS and LDFLAGS CFLAGS += -Wall $(sudo shell /home/nitesh/STM32MPU_workspace/STM32MP1-Ecosystem-v5.0.0/Developer-Package/SDK/sysroots/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/usr/share --cflags gtk+-3.0) CFLAGS += -Wall $(sudo shell /home/nitesh/STM32MPU_workspace/STM32MP1-Ecosystem-v5.0.0/Developer-Package/SDK/sysroots/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/usr/src/debug --cflags shared-mime-info) LDFLAGS += $(sudo shell /home/nitesh/STM32MPU_workspace/STM32MP1-Ecosyste
Hi! I am using an STM32MP153 and am working on implementing the STOP mode functionality for my application. The MCU shall wake up on a falling edge on pin PI8. The pin PG15 has an interrupt attached to it for another functionality. Before going into stop mode, I must disable the PG15 interrupt for applicational reasons. Going into stop mode and waking up works fine unless I disable the interrupt on PG15. If going to stop mode fails, the power consumption is approx. 830mW and I cannot wake up the system on pin PI8. I cannot explain this behaviour, does anyone have an idea? Thanks a lot!Here are snippets of my code: /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = GPIO_PIN_8; GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOI, &GPIO_InitStruct); /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = GPIO_PIN_15; GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GYRO1_INT1_GPI
Hi,I use in my project STM32MP153, which is a model without a GPU. My application also doesn't need any graphical representation like Wayland, X11, etc. How can I update st-image-weston.bbappend to remove these unnecessary elements?ThanksMW
Hi All, I'm trying to boot a custom board using the Starter Package through the STM32CubeProgrammer. I'am flashing the SD Card on the board through the UART interface as USB interface(CN7/USB_OTG) is not provided for the board. During this process I'am getting the following error.It would be very helpful if any one can give some leads on this.
Hello all,I'm working on a custom board based on a stm32mp157c & stpmic1 (connected on I2C4). We are using secure boot and have configured the I2C4 to work in secured mode. To control the stpmic1 from the unsecure / normal world, we use the scmi-regulator under linux.The following configuration seems to work:- i2c4 clock source: CLK_I2C46_PCLK5- stpmic will be initialized in optee (stpmic will be detected and the various regulator entries will be created)- regulator entries are created under linux- regulator entries can be controlled by userspace consumers (echo "enabled" > /sys/devices/platform/userspace_consumer_vdd_xyz)Changing the clock source to CLK_I2C46_PLL3Q (which is configured to provide the same frequency as PCLK5) results in the following behaviour:- stpmic will be initialized in optee (stpmic will be detected and the various regulator entries will be created) - everything seems to be fine (communication with stpmic1 is working)- regulator entries are created u
Hi, We would like to drive pin PWR_ON to low for low power mode.First, on MCU, we use HAL library: HAL_PWR_EnterSTANDBYMode(), load to M4 and run it first, so M4 now enter standby mode.Second, on MPU, we set TZEN=0 so non-secure, allow us to modify PWR and RCC registers.We write a small application, using devmem to change registers, code is below:...int main() { Register.SetBits(PWR_MPUCR, 1 << 9); //PWR_MPUCR_CSSF Register.SetBits(PWR_MPUCR, 1 << 3); //PWR_MPUCR_CSTBYDIS Register.SetBits(PWR_MPUCR, 1 << 0); //PWR_MPUCR_PDDS Register.SetBits(PWR_CR1, 1 << 0); //LPDS Register.SetBits(PWR_CR1, 1 << 1); //LPCFG Register.SetBits(PWR_CR1, 1 << 2); //LVDS Register.Write(RCC_MP_SREQSETR, 1 << 0);//RCC_MP_SREQSETR_STPREQ Register.Write(RCC_MP_RSTSCLRR, 0x7FF);//RCC_MP_RSTSCLRR => clear reset flags __asm volatile ("dsb" : : : "mem
I am working on a system designed on stm32mp157c mpu. I am trying to setup a remote debugging setup wherein I am running an openocd debugger script on this stm32mp1 mpu. The target I am debugging is an stm32f405 discovery board, which is connected to the mpu via stlink/V2 in-circuit debugger using SWD. Finally, I will be connecting to the debugger on my remote PC through CubeIDE using the 'Connect to remote GDB server port'. I was successful in creating the openocd environment at the stm32mp1 end, however, connecting to this via CubeIDE gave me an error.---------------------------------------------xPack OpenOCD armhf Open On-Chip Debugger 0.11.0+dev (2021-10-16-21:24)Licensed under GNU GPL v2For bug reports, read http://openocd.org/doc/doxygen/bugs.htmldebug_level: 2Warn : Interface already configured, ignoringError: already specified hl_layout stlinkInfo : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWDsrst_only separate s
I am working with an STM32MP157d-dk1 board, but am trying to make my own MVP board running yocto on the STM32MP157 chip and have questions concerning the use of the debug console.I believe the debugging console for the dev board runs via uart4, and in the schematic of the dev board, I can see that uart4 is relayed through the on-board stm32f103 stlink mcu.Is there a need to run the uart via a separate mcu, or can I route uart4 so that I may access it directly on my own board?Where is uart4 configured to capture stdin/stdout etc? I can see in the linux device tree that uart4 is the only uart having "status = "okay";", but where is the configuration made for stream capture, baud rate, etc.?
when we run the minicom -D /dev/ttyACM0then it show below errorminicom: cannot open /dev/ttyACM0: Permission deniedhow i can solve this problem ?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.