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
Hi, Can we use a DDR3L from Winbond with part number W634GU6NB-11 (Speed bin 1866) with STMPU STM32MP1ADD3. As STM32MP1 datasheet suggest that it can support up-to 1066. So using above part from Winbond will have any interface issue ? Thanks. Hi @Community member can you please share your input on above issue.
The RGB PANEL will not work and cannot generate device nodes,linux version v5.15-stm32mp-r1,I see your Wiki page has this problem as well:[ 0.100769] platform 5a000000.dsi: Fixing up cyclic dependency with 5a001000.display-controllerCould you please confirm the problem? I have checked the device tree and it is OK in 5.4。What should I do?
Hello We are using STM32MP157A-dk1 evaluation board. To this we are writing bare metal code in SEGGER Embedded Studio. We have written code for all three cores (A7_0,A7_1,M4). Individually we are able to debug(with limitations), For final testing we would like to debug one processor(one of the core) while other are running. How to load code to other cores to run/simulate actual system. We are debugging only one core but others should be in running. How to load code and put them in full run state for application testing. Example situation: In this case STM32MP157 has two cortex A7 and one cortex M4. We would like to debug cortex M4, while other two cores running independently. For this We need to put boot mode pins in JTAG mode(for M4 debugging). Then Both A7 will not boot at all. Alternatively, we put Boot mode to QSPI(any device other than JTAG) so that Both Cortex A7 are running. Also, We can activate M4.  
I am using STM32MP1 EV board.
I have LCD COG with ST7586 Controller but my device must by drive this LCD by FMC ( backward compatibility ) How can I Drive this LCD from Linux ? I found driver stm32mp1-fmc2-nfc for using FMC by Micrel ETH but i'm not have any idea for use it for LCD.
We built a customised board based on the stm32mp175c-dk2, with some changes, one of which was the addition of two USB type-c connectors.When I try to use the USB in DFU mode, everything works fine, as long as the boot switch is turned off. When I turn the switch on, my computer does not "see" the USB at all. The same image is used on both the stm32mp175c-dk2 and our board. My computer sees the USB in stm32mp175c-dk2, but our board does not.Anyone who can help me with this problem, as I am unable to establish an ssh connection using ethernet-over-usb?I want to usb USB_DM/P 2 in our connector I have change the DNP resistors to use USB 2 instead of USB 1
helloWe are using STM32MP157A-dk1 evaluation board. To this we are writing bare metal code in SEGGER Embedded Studio.Actually, We have enabled group and set enable registers for respected SGI and PPI interrupts in GICC and GICD registers. By this we are able to generate SGI and PPI interrupts for cortex A_0 but unable to generate for cortex A_1. what might be the issue ?regards srikanth
Hello,I created a new project in STM32CubeIDE for my STM32MP157A by using STM32CubeMX. In it I enabled UART and FreeRTOS on CMSIS-RTOSv2 and that's all. I use the auto generated code.Then I wanted to use TraceAlyzer on top of FreeRTOS however, upon including#include "trcRecorder.h"In the FreeRTOSConfig.h I got a strange error:/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c:154: multiple definition of `SysTick_Handler'; ./Core/Src/stm32mp1xx_it.o: ./CM4/Core/Src/stm32mp1xx_it.c:160: first defined hereThe SysTick_Handler is defined in both files, here are the implementations if it may help:in cmsis_os2.c :/* SysTick handler implementation that also clears overflow flag. */ void SysTick_Handler (void) { /* Clear overflow flag */ SysTick->CTRL; if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) { /* Call tick handler */ xPortSysTickHandler(); } } #endif /* SysTick */In stm32mp1xx_it.c :/** * @brief This function handles System tick timer
Hello,I'm working with STM32MP1-DK2. I want to run a project on it.I need to implement a callback function in the A7-core (Linux side) to read a pin whenever a signal comes in (on the rising or falling edges).Actually, I need to have a callback() function to read the incoming signal and do something after that. I don't know how to implement the callback() for a pin from a GPIO port for my STM32MP157F. I would be grateful if you could give me a hand with it. Best,Saeed
I'm testing the Developer Package for STM32MP157c-dk2 demo board. Starter Pack is installed. When I compile the kernel as described in the Dev. Package's "README_HOW_TO.txt" file and update the kernel, The "Cube" example ceases running. It only says "No GCNANO GPU STACK capabilities to run 3D GPU demo. What I'm missing here ?The boot log says something about galcore time out.
I want to enable input capture functionality on our stm32mp157c based system. I am using Timer 1 channel 4 for the same and have made the necessary additions in the device tree as follows: &dma1{ status = "okay"; /* USER CODE BEGIN dma1 */ sram = <&dma_pool>; /* USER CODE END dma1 */ }; &dma2{ status = "okay"; /* USER CODE BEGIN dma2 */ sram = <&dma_pool>; /* USER CODE END dma2 */ }; &dmamux1{ dma-masters = <&dma1 &dma2>; dma-channels = <16>; status = "okay"; /* USER CODE BEGIN dmamux1 */ /* USER CODE END dmamux1 */ }; &timers1{ /* USER CODE BEGIN timers3 */ /* Enable DMA "ch1" for PWM input on TIM1_CH1 */ dmas = <&dmamux1 13 0x400 0x80000001>; dma-names = "ch3"; status = "okay"; /* USER CODE END timers3 */ pwm { pinctrl-names = "default", "sleep"; pinctrl-0 = <&tim1_pins_mx>; pinctrl-1 = <&tim1_sleep_pins_mx>; status = "okay"; /* USER CODE BEGIN timers1_pwm */ /* U
Hello,I need to send several kilobytes of data from the M4 to the A7. However, I am experiencing data loss during this transfer. Is there a function that waits on the M4 side, until the A7 has collected all data from the tty./* * Channel direction and usage: * * ======== <-- new msg ---=============--------<------ ======= * || || || CHANNEL 1 || || || * || A7 || ------->-------=============--- buf free--> || M4 || * || || || || * ||master|| <-- buf free---=============--------<------ ||slave|| * || || || CHANNEL 2 || || || * ======== ------->-------=============----new msg --> ======= */for instance channel2 - buf free.Many thanks!
I ran GENERATE-CODE on STM32CubeMX and M4 files were created. There is #include "stm32mp1xx.h" in stm32mp1xx_hal_def.h in Include, but there is no stm32mp1xx.h file. where is it?
We have a custom PCB application that uses the STM32MP151CAC1 as the main CPU. We have tried to use an STLink v3 to connect to the chip over SWD, but have been unable to do so. The chip (through UART4) throws the following error when I try to connect:ERROR: Illegal access to 0xe000edf0: ERROR: FAIL_ID = 0x2 ERROR: Non-Secure ERROR: Privilege ERROR: Write PANIC at PC : 0x2ffc9b61 Exception mode=0x00000016 at: 0x2ffc9b61Meanwhile, on the STCube Programmer, depending on what settings I have, I get one of the following error messages:Error: Cannot connect to access port 1 If you are trying to connet to a device with TrustZone enabled please try to connect with HotPlug modeError: DEV_UNKNOWN_MCU_TARGETError: Cannot identify the deviceSome additional information:The signals I'm trying to communicate over are:JTMS (pin C20 on the STM32MP1)JTCK (B20)JTDI (A20)JTDO (A19)JTRST (19)Of those, JTMS and JTRST are pulled up to VDD through 10K resistors. JTCK is pulled down to ground through another 1
Hi, I have a STM32MP157A-EV1 board. I'm running it in the engineering boot mode and programming the Cortex-M4 directly through the STM32CubeIDE. At the moment, I do not use the Cortex-A7. I would like to enable USART2 and use it through the ST-LINK to view the printf command that I do on the Cortex-M4. What I did was enabling USART2 in STM32CubeMX : I did not change any other configuration and simply regenerated the code. Then I used these functions: In retarget.c UART_HandleTypeDef *gHuart; void RetargetInit(UART_HandleTypeDef *huart) { gHuart = huart; /* Disable I/O buffering for STDOUT stream, so that * chars are sent out as soon as they are printed. */ setvbuf(stdout, NULL, _IONBF, 0); } In main.c #include "main.h" #include "cmsis_os.h" ... UART_HandleTypeDef huart2; static void MX_USART2_UART_Init(void); ... int main(){ ... MX_USART2_UART_Init(); RetargetInit(&huart2); ... while (1) { /* USER CODE END WHILE *
Hi there, I just received the STM32157f-dk2 discovery board, and I just started to dive into the tutorials. I am trying to simply follow the step to just cross-compile and flash the kernel image. When I complete all the steps and reboot the board, the kernel does not start U-Boot 2018.11-stm32mp-r4 (Nov 14 2018 - 16:10:06 +0000)CPU: STM32MP157FAC Rev.ZModel: STMicroelectronics STM32MP157C-DK2 Discovery BoardBoard: stm32mp1 in trusted mode (st,stm32mp157c-dk2)Board: MB1272 Var4 Rev.C-02DRAM: 512 MiBClocks:- MPU : 800 MHz- MCU : 208.878 MHz- AXI : 266.500 MHz- PER : 24 MHz- DDR : 533 MHzNAND: 0 MiBMMC: STM32 SDMMC2: 0, STM32 SDMMC2: 1Loading Environment from EXT4... OKIn: serialOut: serialErr: serialNet: eth0: ethernet@5800a000Hit any key to stop autoboot: 0Boot over mmc0!switch to partitions #0, OKmmc0 is current deviceScanning mmc 0:4...Found U-Boot script /boot.scr.uimg1628 bytes read in 1 ms (1.6 MiB/s)## Executing
I'm trying to set otg on stm32mp157d in device only mode, according to the guidance on OTG device tree configuration - stm32mpu (stmicroelectronics.cn), &usbotg_hs { compatible = "st,stm32mp15-hsotg", "snps,dwc2"; phys = <&usbphyc_port1 0>; /* 0: UTMI switch selects the OTG controller */ phy-names = "usb2-phy"; dr_mode = "peripheral"; /* could be "host", see USB generic bindings [6] */ usb-role-switch; /* see USB generic bindings [6] */ role-switch-default-mode = "peripheral"; /* could be "host", see USB generic bindings [6] */ status = "okay"; /* enable OTG */}; I also enable usbphyc like this:&usbphyc { status = "okay";};&usbphyc_port0 { phy-supply = <&vdd_usb>; st,phy-tuning = <&usb_phy_tuning>;};&usbphyc_port1 { phy-supply = <&vdd_usb>; st,phy-tuning = <&usb_phy_tuning>;};However , when I using the Uboot system ,I can use the otg port using the command ums to loa
..
I am new to STM32 boards and IDE but have an STM32MP157A-DK1 board which came with an SD Card / OS on it. We want to make our own OS image using the ST linux.In the downloads accompanying the workshop videos we have the DK2_TIMER1_OpenAmp_Solution to toggle an LED and present some ttyRPMSG devices to talk through.I can take the code and build it on STM32CubeIDE Version: 1.10.1 and get no errors to give an ELF file. I can also get the demo ELF file in the workshop zip.I can load both types of firmware into both the supplied SD Card OS and our development OS and in all cases I can flash the LED, start and stop the M4.With the workshop ELF file it works to provide the /dev/ttyRPMSG0 & 1 devices only on our OS build. The ELF file I can build provides the devices only on the supplied ST OS from the SD Card. But no ttyRPMSG devices appear with the alternate mixes.So what needs to be set compatible on the OS kernel / DTB's etc to make them appear.I have tested my build code to change the
Hi,We are using stm32mp157a processor in my custom board. I need to change MAC address because in uboot log it is showing it is showing invalid MAC address. I am setting MAC address using setenv ethaddr 11:22:33: 44:55:66 command. But when i set ethaddr i am getting following error messages in uboot log. you can see my log below. i have followed stm32mp1 trouble shooting guide.STM32MP1 bring-up troubleshooting guideHow can i come out of this issue. Please help us.
Hi everyone,I'm working on a custom STM32MP157 based board running custom Linux with Kernel v5.10.116. A LCD panel is connected using the LTDC display controller.I want to implement a splash-screen as soon as the power supply is on.I managed to add my panel interface in U-Boot and display my splash-screen but when the kernel is initialized the GPIOs connected to the LCD panel (reset-pin and power supplies commands) are reset and re-initialized so the LCD display is switched off and on.The final sequence is : U-Boot displays the splash screenthe kernel is launchedthe LCD display is re-initializedthe splash-screen is re-displayedSo there's a black screen for 2 seconds and I would like the splash-screen to remain displayed until the main application is launched.Is it possible in the kernel DTS files to add an option so the GPIO (maybe PMIC) drivers won't re-initializes the pins tied to the display ?I know it is possible with the TI drivers by adding "ti,no-reset-on-init" in the GPIO descr
Hi, I got the result as below while I was building kernel images (uImage and vmlinux) and device tree (dtbs). Can anyone help me fix it?$ make ARCH=arm uImage vmlinux dtbs LOADADDR=0xC2000040 GEN Makefile CALL /home/rickweng/STM32MPU_workspace/STM32MP15-Ecosystem-v3.1.0/Developer-Package/stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17/sources/arm-ostl-linux-gnueabi/linux-stm32mp-5.10.61-stm32mp-r2-r0/linux-5.10.61/scripts/checksyscalls.sh CALL /home/rickweng/STM32MPU_workspace/STM32MP15-Ecosystem-v3.1.0/Developer-Package/stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17/sources/arm-ostl-linux-gnueabi/linux-stm32mp-5.10.61-stm32mp-r2-r0/linux-5.10.61/scripts/atomic/check-atomics.sh CHK include/generated/compile.hmake[3]: *** No rule to make target 'drivers/cpuidle/cpuidle-stm32.o', needed by 'drivers/cpuidle/built-in.a'. Stop.I wonder why there's no rule to make target. I didn't do any modification and just followed
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/stmicro/stmmacCan anyone tell is this driver for some specific ST(?) IP, or for a runaway collection of various Synopsys based IPs? Does the ethernet controller of STM32MP1 work with this driver?
We have also deleted the OTG (USBC) hardware and have commented out the code to check for the OTG power., Otherwise we are using the basic defconfig and the DK2 devtree.
I've build chromium from meta-browser for stm32mp157 dk. When run chromium I'm getting:/usr/bin/chromium: error while loading shared libraries: libgbm.so: cannot open shared object file: No such file or directoryWhen use wayland version everything works fine. Any ideas what can be missing please? Thanks.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.