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 was working on the STM32MP157A-DK1 board which has Cortex-A7 + Cortex-M4 processors. I wanted to configure the watchpoints present specifically on the Cortex-A7 processor via C code. The Cortex-A7 technical reference manual indicates the use of MRC and MCR instructions for the same, which I think should be inlined into my C code. But I am not completely sure about this. If I try to configure using MCR instruction, it would involve configuring the general-purpose register first(R0-R14) first to move some value into the debug register, which I was not able to do. Kindly someone help me with some required documentation.
Hello, I am currently working on bringing up a production board design with the OSD32MP157C-512M-BAA. The board design is very similar to the octavo systems osd32mp1-red boardSdcard is located on SDMMC1 with the same pinout.EMMC is located on SDMMC2 with the same pinout.The board can boot all the way into Linux if I use the provided development kit sd card image from octavo. This indicates to me that the core of the PCB is functioning correctly.A requirement of our project is to use buildroot. For testing, I am using the following setup: github. com / bootlin/buildroot-external-stThis (with the st_stm32mp157c_dk2_defconfig) builds a STM32mp1-DK2 development board compatible image with the following repository versions:TF-A: v2.4-stm32mp-r1U-Boot: v2020.10-stm32mp-r1.1Linux: v5.10-stm32mp-r1This buildroot image works on the DK2 development board without issue. However, I cannot get it to work on the OSD32MP157C SIP even with device tree updates based on the
..
Hi all,I was wondering whether we can achieve a PWM frequence of 1-3Hz with the existing timer which we have. I am targeting to generate a PWM signal within the same frequency range but using A7 as primary.How can we achieve that ?? I do have some idea looking at the blog here : https://wiki.st.com/stm32mpu/wiki/PWM_overviewWhat shall be the reference period value here? How can we perform calculation for any period value?
Hello,I am having a hard time setting the DDR clock at pll2 for an stm32mp157.The clock has been configured to 528MHz using CubeMX. I checked cfg for pll2 in the DeviceTree against the Datasheet / Referance Manual and all settings seem correct.Yet /sys/kernel/debug/clk/clk_summary returns 533MHz for pll2_r.PLL2 gets 24MHz from HSE. My current configuration for tf-a:&rcc { ... pll2:st,pll@1 { compatible = "st,stm32mp1-pll"; reg = <1>; cfg = < 2 65 1 1 0 PQR(1,0,1) >; frac = < 0x1400 >; }; ...PLL2 gets configured in the dts-file for tf-a only. For kernel and u-boot there are only empty rcc-nodes:&rcc{ u-boot,dm-pre-reloc; status = "okay"; /* USER CODE BEGIN rcc */ /* USER CODE END rcc */ };Any ideas?
Does ST-Linux run for any configuration of eMMC pins, i.e. if it is connected to SDMMC1/SDMMC2/SDMMC3 . or do we need to fix as per reference design / Dev kits.
Hello , I have a few queries related to assignments of GPIO wrt to Cortex M4 and Cotex A7 . Task is to add a I2C peripheral to a GPIO and access it using Cortex M4.But I cant see the cortex assignment options ? I see on few but not on some on which I actually want.(like PA12) Also I see pin locking on some GPIO? Does that mean I can’t connect anything to these GPIOS? Also on the I2C1 , to which context it is assigned by default? Both Cortex M4 and A7 or to one of them? please advise!Thanks in advance!D
Hi all,I am trying to debug an C++ user space application on A7using STM32CubeIDE.Build happens fine. But when i try to debug it i run into following errors.I can confirm the toolchain is installed both on system as well as embedded in CUBEIDE.How can i get past these errors?Any idea as to what this might be related to?
hello,I'm a new member here so if i am uploading this question in a wrong way please notify me.i am working at the moment with octavo board OSD32MP15x that integrates the STM32MP15x dual core Arm cortex A7 and an arm cortex m4.i am trying to run a simple example with HAL_SPI_TransmitReceive_DMA() just to transmit and receive the same byte every time. the code is not showing me any errors when building but when i use the logic analyser there is no data transmission or reception. i added the dma_rx and dma_tx requests using the the ioc file and working with the circular mode in both cases. is there any suggestions as to what might be the reason behind it ?PS: the same example with HAL_SPI_TransmitReceive() worked just fine.thank you in advance!
Hi,We are using stm32mp157a processor in my custom board.I need to select SPI2_NSS for PB9 But when i configure PB9 as SPI2_NSS it is not configured as SPI2_NSS.We are unable to enable Hardware NSS signal Option in Stm32 cube MX but it is mentioned in Data Sheet.How can i come out of this?Thank You.
On the host computer, i try to connect the terminal to the STM32MP157F-EV1 board using ssh with Ethernet cable but I can't access I use STM32MP157F-EV1 board. I set manually the IP adress of board with Board $> ifconfig eth0 uuu.***.yyy.zzzthen I try connect ssh root of board with this command on my Terminal:ssh root@xx.xx.xx.xxand then I get ssh: connect to host xx.xx.xx.xx port 22: Connection timed out error. How i can fix this issue. Can anyone help me?Kind regards
I followed the guide from the following ST's video: https://www.youtube.com/watch?v=PsiFDHH87vo&t=407s In the guide, the A7 core is initiating the communication. I have been playing with the code to make M4 the one to initiate the communication, but still no luck.Any guidance would greatly be appreciated.
I was generate key-pair (privateKey.pem, publicKey.pem) by STM32MP_KeyGen_CLI and also got publicKeyhash.bin. After this i was sign FSBL TF-A bootloader and then make FIP (OP-TEE, U-Boot, configs) with "TRUSTED_BOARD_BOOT=1" option, kernel, rootfs. At now i have a question: is any easy way to put publicKeyhash.bin on device OTP (about hundred devices)?Usage "STM32_Programmer_CLI -c port=usb1 -otp program wordID=0xNNNN value=0xMMMM" command is not easy way, because absent command to read OPT. How to check programmed value after write, before lock device? And also need some script to convert "publicKeyhash.bin" to STM32_Programmer_CLI commands.How was solved this case on mass production?
Hi,I have a small problem during stm32mp1xxx bring up. The Uart4 is debug console and is connected to stlink v2.1 on virtual serial. The problem is that this stlink makes all the time interrupt U-Boot and stack in it (stlink not connected to USB). To go system father I need to connect stlink to USB and type 'boot'. I tried to addCONFIG_BOOTDELAY=-2 CONFIG_SILENT_CONSOLE=y CONFIG_SYS_DEVICE_NULLDEV=y CONFIG_SILENT_CONSOLE_UPDATE_ON_SET=y CONFIG_SILENT_U_BOOT_ONLY=ybut without success.In the hardware, I added pull up resistorsTo prove my theory I make a shortcut on resistor R58 and the system boot-up all the time.How to correctly resolve this problemThanks in advancedBR Michal
HiI try to implement a virtual UART communication between the A7 and the M4 on a STM32MP157 device based on OpenAMP. I used the OpenAMP_TTY_echo example from the cube firmware package and adapted it to my own board. The virtual UART is working. But there are log commands in the example like " log_info("Virtual UART0 OpenAMP-rpmsg channel creation\r\n");" and this messages are not printed.Is there a way to print this logs on the Linux terminal that is connected to the A7 or to forward it to an additional UART or something similar?Thanks.
Hi.... there Hope you all are doing well From past few days, I'm playing with STM32MP1I need to integrate the Quectel EG25G module with the image having ppp functionality To do so, i have enable ppp support at Make-menuconfig and build the image Now the problem is, after building the image from scratch, i haven't found the directory /etc/pppEven i have also try with the installation from apt-get But unfortunately, it's not working Any suggestions ?Thanks
Hi,I am using an official STM32MP157C-DK2 board.I tested to build OP-TEE 3.17.0 for stm32mp1 however the boot hangs.I am building OP-TEE OS using:make PLATFORM=stm32mp1 \ CROSS_COMPILE_core=arm-linux-gnueabihf- \ CROSS_COMPILE_ta_arm64=arm-linux-gnueabihf- \ CFG_ARM32_core=y \ CROSS_COMPILE_ta_arm32=arm-linux-gnueabihf- \ CFG_TEE_CORE_LOG_LEVEL=2 \ CFG_TEE_CORE_DEBUG=n \ CFG_EMBED_DTB_SOURCE_FILE=stm32mp157c-dk2.dtsThe full image (st-image-core) I am using is based on meta-st-stm32mp and open-stlinux (dunfell branch)The kernel is the one present in the meta layer: kernel (5.10.61)I am aware that an existing version of OP-TEE is present in the build however it's from version 3.12.0.I tried to build OP-TEE OS version 3.16.0 apart and include it in the final image and it works as expected.I investigated and the issue comes from the linux-stm32mp kernel patches because when I built the stable kernel based on the same version 5.10.61 without patches, it works with OP-TEE 3.17.0 without issu
Hi everyone,I'm new to using STM32MP1, in particular I bought a STM32MP157A-DK1 and I wanted to know if it was feasible to load Linux with the classic GUI, open a TCP-IP server and run some python code that I had already developed.Thank you all
Same situation as before - using a STM32MP157C based design + KSZ9021GN PHY but now actually wired for MII mode. Previous board was wired for GMII mode, even verified by Microchip/Micrel, not realizing the MPU did not support that mode (should have checked with CubeMX!) . So, we made the change to actually MII wiring into a different but similar board being designed at the time. That board is now being brought up. Again, PHY issue, but different this time and I hope its not another design error. I suppose there could be an assembly problem of course. I only have one board currently to test. Here is the TL;DR of the bootup relating to ethernet. Note "device missing", and we are at address 3. ... [ 2.510008] stm32-dwmac 5800a000.ethernet: PTP uses main clock [ 2.514391] stm32-dwmac 5800a000.ethernet: no reset control found [ 2.520607] stm32-dwmac 5800a000.ethernet: No phy clock provided... [ 2.527384] stm32-dwmac 5800a000.ethernet: User ID: 0x40, Synopsys ID: 0x42 [ 2.533753] stm32-dwmac
I am debugging a STM32MP1 boot but the bootrom does not manage to boot the FSBL from the SDMMC interface.I extracted the traces and ran the bootrom trace analyzer script. However, some of the error messages contain error codes for which I could not find an explanation.The relevant lines are:< @ 00981105 | [ERR ] - SD_OverallRetryCnt ( 0x00000003 ) > < @ 00981491 | [ERR ] - SD_InitDetailedErrorDesc ( 0x00000029 ) > < @ 00981907 | [ERR ] - SD_InitFailed >What do the hexadecimal codes mean (the 0x00000003 and 0x00000029)?In case it is needed, the full output from the script is attached.Thank you for your help
Hi,I want to perform the SSP process as detailed at:https://www.st.com/resource/en/application_note/an5510-overview-of-the-secure-secret-provisioning-ssp-on-stm32mp1-series-stmicroelectronics.pdf(I also went over the STM32_prog documents)I am now trying to program my HSMv2 card and I don't understand which file I need to provide in "Personalization data file"(Trusted Package Creator - HSM Tab)There are 2 options:STM32MP1_5000200A_SSP_01000000_00000000.enc.binSTM32MP1_5000300A_SSP_01000000_00000000.enc.binI don't understand which one I need to pickmy MPU is "STM32MP157CAB3" (Rev Z)is it 5000300 because of the "3" after the "CAB" ?The "5000" part I understand, I can see this value in the DFU device infoThe "200" vs "300" I don't understandAccording to the Docs, I need to know the product ID of my MPUAnd they suggest using "STM32_Programmer_CLI –c port=swd –gc "certificate.bin"" to find out this valuebut this command is failing:"an error occurred while uploading data from the virtual part
Our board is similar to STM32MP157C-DK2 Disco board - All the Developer packages has been installed, At the initial FSBL stage itself board is not booting whereas required power supply is provided, In which the Voltage (VDDCORE_1V2) value related to DDR circuit has fallen below Threshold voltage to 0.88V , so the voltages related to it has also went down to 0v. What is the solution to wake up the MPU ?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.