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 tried downloading the 2.0 SDK but the link goes to the "sources" tarball., not the SDK. I tried to get there various ways but can't find the download.Thanks,Andrew
https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP157C-DK2/Develop_on_Arm%C2%AE_Cortex%C2%AE-M4/Install_STM32Cube_MP1_package There are only a linux path suggested, no windows path. If windows is not supported, then it is not stated in previous steps. If it is supported, then path is missing at step 2.1 /Peter
Button is not visible. I tried to reinstall everything but button is gone.Windows host.Trying to use my DK2 following (step 6)https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP157x-DK2/Develop_on_Arm%C2%AE_Cortex%C2%AE-M4/Modify,_rebuild_and_reload_a_firmware/Peter
Hi All,I'm coding last from 6 years for embedded system projects. I have good knowledge in bare metal programming. I want learn Linux and device driver implementation using Linux.Please suggest me a board, with which I can start my Linux learning journey. Thanks,Basava
..
Hi, I have an STM32MP157C-DK2 reference board and it is booting with yocto linux.From the bootlog I came to know that reset reason is checked in the Primary Bootloader by reading a register from the file tf-a-stm32mp/plat/st/stm32mp1/bl2_plat_setup.c uint32_t rstsr = mmio_read_32(stm32mp_rcc_base() + RCC_MP_RSTSCLRR); Now I want to know the reason in the uboot level before lauching the kenel image to add an extra environmental variable in uboot.I tried to read the register using readl(),_raw_readl() API's but I was throwing data abort error while booting and the board gets reboot.So I need help w.r.t the way to read register or any other way to get the reset reason information.RegardsSrikanth.
To bootup STM32MP157 from SD card, the layout for SD is partition#1, u-boot-spl.stm32, first copy of first stage bootloader partition#2, u-boot-spl.stm32, second copy of first stage bootloader partition#3, u-boot.img, second stage bootloader partition#4, rfs.ext4, root file system here there is single copy of second stage bootloader, if there is power off during flashing firmware, uboot on partition#3 might be corrupted and then my device would not be able to bootup, I would like to change the partition layout to partition#1, u-boot-spl.stm32, first copy of first stage bootloader partition#2, u-boot-spl.stm32, second copy of first stage bootloader partition#3, u-boot.img, first copy of second stage bootloader partition#4, u-boot.img, second copy of second stage bootloader partition#5, rfs.ext4, root file system and modify the spl first stage bootloader to add in check, if it detect 1st copy of uboot is corrupted, then it will load second copy instead, so far haven't seen
Hi,i try to use a ADM DMA with the board in object.I generate the code with CUBE MX and i add only the function HAL_ADC_Start_DMA(&hadc1, (uint32_t*)&buff, 1); before the while loop in the main.After i start the ADC, the hadc1.State remains in HAL_ADC_STATE_REG_BUSY and the DMA2_Stream0_IRQHandler never happens.I attach the .ioc file of the project.Someone can help me?Thanks a lot
Hello,I am working on a project that acquires ADC readings and saves them into a buffer in the M4 side of STM32mp157 chip on DK2 board, now I need to build a kernel module that copies the saved buffer from the SRAM to DDR on the A7 side when a certain interrupt is triggered.As I am a beginner in embedded linux world I am wondering about the way to do this, I tried memcpy() at first but errors arise when inserting the module (Can't page virtual address error), I also tried converting the SRAM address from physical to virtual before memcpy() but that didn't work as well.Is there a direct way to copy data between the memories like memcpy() or do I need to use DMA from the kernel module to copy the data, if the DMA is the way, sharing an example would be great.Thanks
Dear STM32 MPU Community,We are please to announce that New MP1 Ecosystem V2.0.0 ! Step 1 : Emb. SW and Boards is available since the 26th of June 2020.Please refer to release note : https://wiki.st.com/stm32mpu/wiki/STM32MP15_ecosystem_release_note Note the following important message : Up to 26th of July 2020, the new STM32MP15-Ecosystem-v2.0.0 release will include only Emb. SW and Boards deliveriesThe STM32MP15-Ecosystem-v2.0.0 Tools set release will be delivered on the 26th of July 2020. In between, please note that:STM32CubeProgrammer V2.4 from STM32MP15-Ecosystem-v1.2.0 release is compliant with V2.0.0 Emb. SW deliverySTM32CubeIDE V1.3.0 from STM32MP15-Ecosystem-v1.2.0 release is compliant with V2.0.0 Emb. SW delivery with using STM32MP1Cube import projectsSTM32CubeMX V5.6.0 from STM32MP15-Ecosystem-v1.2.0 release is not compliant with V2.0.0 Emb. SW delivery due to device tree evolution.As usual, Ecosystem release has been opportunity to update and enrich the Wiki Online Us
I use STM32MP151CAA3 mounted on my own board.I want to start to count up TIM3 in PWM generation mode in Cortex-M4.I have written following code, However, TIM3 doesn't start to count up (After Line 56, TIM3_CNT value doesn't change at all).In this code, PB04 port is used as PWM output port.void TIM3_Count_Start(void) { TIM_HandleTypeDef m_handleTim3; TIM_OC_InitTypeDef sConfigOC; TIM_SlaveConfigTypeDef sSlaveConfig; TIM_MasterConfigTypeDef sMasterConfig; GPIO_InitTypeDef GPIO_InitStruct; /* Peripheral clock enable */ __TIM3_CLK_ENABLE(); GPIO_InitStruct.Pin = GPIO_PIN_4; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_LOW; GPIO_InitStruct.Alternate = GPIO_AF2_TIM3; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); m_handleTim3.Instance = TIM3; m_handleTim3.Init.Prescaler = 0; m_handleTim3.Init.CounterMode = TIM_COUNTERMODE_UP; m_handleTim3.Init.Period = 0; m_handleTim3.Init.ClockDivision = TIM_
Hi:I would like to ask what is the maximum EMMC capacity supported by stm32mp157A chip.Can you give me some advice.eg:128g
I'd like to use aiohttp on OpenSTLinux but when I try to install it complains about needing Python 3.6+.Is there a straightforward way to upgrade to a new Python? I'm running the STM32MP1 DK2 board.Thanks,Andrew
I designing a developer board with an stm32 MPU. This board have an HDMI port for transfer the audio and video signal from the board to the TV. Which IC can I use for convert video signal( MIPI/DSI ) and audio signal (I2s) to HDMI ?
Dear STM engineers and community,I'm working with STM32MP157-DK2 (Developer-Package 1.2) and an evaluation board for ADAU1977 ADC from Analog Devices. Desired setup entails using the external codec as the master of I2S communication (the same as with the onboard Cirrus codec on the board).Following the great documentation provided by the wiki pages (kudos to the teams working on that!) I have almost managed to get everything working perfectly.In order to get to this point I have done the following:Desoldered SB1 through SB4, and then soldered SB13 through SB16 in order to disconnect onboard codec from SAI2 and access it from the GPIO headerAdded the codec_of_xlate_dai_id in the source of the manufacturers driver according to: https://wiki.st.com/stm32mpu/wiki/SAI_device_tree_configurationIncluded the source files of the edited codec driver through kconfing and menuconfig and configured them as modularEdited the device tree (stm32mp157c-dk1.dts) according to all available documentation
Hello dear.I solved all errors and warnings.But I am getting a do_compile error and I can't figure out the cause, so I need help.I used the devtool build cherry0 command and bitbake cherry0 causes the same situation.The build message is:-------------------------------------------------------------------moonlive@kheng:~/work/STM32MP1/Distribution-Package/openstlinux-20-02-19/build-openstlinuxeglfs-stm32mp1/workspace$ devtool build cherry0NOTE: Starting bitbake server...NOTE: Started PRServer with DBfile: /home/moonlive/work/STM32MP1/Distribution-Package/openstlinux-20-02-19/build-openstlinuxeglfs-stm32mp1/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 42503, PID: 7602WARNING: You have included the meta-gnome layer, but 'x11' has not been enabled in your DISTRO_FEATURES. Some bbappend files may not take effect. See the meta-gnome README for details on enabling meta-gnome support.Loading cache: 100% |############################################################################################
Where can I find a list/table/docs on alternate functions for each pin ??(Not using STM32CubeMX)
Hi: https://wiki.st.com/stm32mpu/wiki/How_to_control_a_GPIO_in_userspace,compiling the user application according to the wiki example while putting it on the board performs an error,how should I deal with the problem?Failed to issue GET LINEHANDLE IOCTL (-25)Failed to issue GPIOHANDLE_SET_LINE_VALUES_IOCTL (-25)Failed to issue GPIOHANDLE_SET_LINE_VALUES_IOCTL (-25)Failed to issue GPIOHANDLE_SET_LINE_VALUES_IOCTL (-25)Failed to issue GPIOHANDLE_SET_LINE_VALUES_IOCTL (-25)Failed to issue GPIOHANDLE_SET_LINE_VALUES_IOCTL (-25)Failed to issue GPIOHANDLE_SET_LINE_VALUES_IOCTL (-25)Failed to issue GPIOHANDLE_SET_LINE_VALUES_IOCTL (-25)Failed to issue GPIOHANDLE_SET_LINE_VALUES_IOCTL (-25)Failed to issue GPIOHANDLE_SET_LINE_VALUES_IOCTL (-25)
I use STM32MP151CAA3 mounted on my own board.I want to generate TIM5 global interrupt in Cortex-M4.I have written following code, However, TIM5 global interrupt doesn't occurs (TIM5_IRQHandler doesn't be called).In Keil MDK-ARM Debbuger, I have confirmed following settings are reflected.--TIM5_DIER->UIE = 1--TIM5_CR1->CEN = 1--When TIM5 CNT reach TIM5_ARR value, TIM5_SR->UIF is set.#include "stm32mp1xx_hal.h" void TIM5_Start(void) { TIM_HandleTypeDef m_handleTim5; TIM_ClockConfigTypeDef sClockSourceConfig; TIM_MasterConfigTypeDef sMasterConfig; __HAL_RCC_TIM5_CLK_ENABLE(); m_handleTim5.Instance = TIM5; m_handleTim5.Init.Prescaler = 41999; m_handleTim5.Init.CounterMode = TIM_COUNTERMODE_UP; m_handleTim5.Init.Period = 0; m_handleTim5.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; HAL_TIM_Base_Init(&m_handleTim5); sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; HAL_TIM_ConfigClockSource(&m_handleTim5, &sClockSource
Hi,I'm testing the UART_Receive_Transmit_Console example from STM32Cube_FW_MP1_V1.2.0 on the STM32MP1-DK1 discovery board. An HAL_ERROR is raised during the HAL_UART_Init and it seems that the function UART_SetConfig cannot find or set the clocksource correctly. I have set the PCLK1 clock in the u-boot and tf-a .dts files and I'm using a linux image with this setting.Is this function UART_SetConfig from the stm32mp1xx_hal_uart.c file only working in engineering mode or should it work also in normal mode?François
Following Wiki page shows how to flash TF-A , u-boot , root file system to SD card with STM32CubeProgrammer.https://wiki.st.com/stm32mpu/wiki/STM32CubeProgrammer#How_to_flash_with_STM32CubeProgrammerIn the above wiki page, I can flash TF-A , u-boot , root file system to SD card using USB.Now, I want to flash images to SD card without using USB (directly from Host Linux PC).Is there any way to flash TF-A , u-boot , root file system to SD card without using USB with STM32CubeProgrammer?Best Regards.H. Masuda
We made device tree for u-boot of stm32151c. But it can't work i2c4 for STPMIC1. PZ4,PZ5 is correctly connected to STMPIC1 with pull-up resistance.SDA,SCL has no signal.Attached is a device tree file.Please let me know what additional point to review.u-boot log message.************************************************************U-Boot SPL 2018.11-stm32mp-r4 (Jun 17 2020 - 11:05:13 +0900)Model: STMicroelectronics custom STM32CubeMX boardRAM: DDR3-DDR3L 16bits 533000Khzstpmic1_read: failed to read register 0x27 : -110ddr power init failedresetting ...U-Boot SPL 2018.11-stm32mp-r4 (Jun 17 2020 - 11:05:13 +0900)Model: STMicroelectronics custom STM32CubeMX boardRAM: DDR3-DDR3L 16bits 533000Khzstpmic1_read: failed to read register 0x27 : -110ddr power init failedresetting ...************************************************************
Hi, i am running yocto on STM32MP157 C reference board,Now I want use the fw_printenv from the user space for that I have found the recipe in the BSP i.e sources/poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2018.07.bb but if I include u-boot-fw-utils in the st-image-core.bb file and try to build I was throwing errors as below:make -f ./scripts/Makefile.build obj=scripts/basic| rm -f .tmp_quiet_recordmcount| make -f ./scripts/Makefile.build obj=scripts/kconfig stm32mp15_trusted_defconfig| scripts/kconfig/conf --defconfig=arch/../configs/stm32mp15_trusted_defconfig Kconfig| ***| *** Can't find default configuration "arch/../configs/stm32mp15_trusted_defconfig"!| ***| scripts/kconfig/Makefile:128: recipe for target 'stm32mp15_trusted_defconfig' failed| make[1]: *** [stm32mp15_trusted_defconfig] Error 1| Makefile:492: recipe for target 'stm32mp15_trusted_defconfig' failed| make: *** [stm32mp15_trusted_defconfig] Error 2| ERROR: oe_runmake failed| WARNING: exit code 1 from a shell comm
Dear ST community,I’m trying to use the distribution package as described in the guide https://wiki.st.com/stm32mpu/wiki/STM32MP1_Distribution_Package#Installing_the_OpenSTLinux_distribution, but the oe-init-build-env file is absent.The first commands:$ repo init -u https://github.com/STMicroelectronics/oe-manifest.git -b refs/tags/openstlinux-20-02-19And$ repo syncFinish successfully.However when I initialize the OpenEmbedded build environment (chapter 5.1):PC $> DISTRO=openstlinux-weston MACHINE=stm32mp1 source layers/meta-st/scripts/envsetup.shThe command fails due to the missing of the oe-init-build-env file.I check the revision of the openembedded-core folder and it is cd7cf933b3235560ec71576d8f3836dff736a39f as indicated in the manifest (https://github.com/STMicroelectronics/oe-manifest/blob/thud/default.xml), however inside the openembedded-core folder there is no oe-init-build-env file.How can I solve this problem?.Thanks in advance for any suggestions.Regards
Recently, I bought STM32MP1 DK2 board. Does DK2 board include NPU (Neural Processing Unit)? Can we use the NPU device via galcore.ko (Linux kernel module) to run deep learning network models on the DK2 board? Welcome to any hints and comments.BRs,Geunsik
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.