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
In AN5031 Rev4,Figure 49. Gigabit Ethernet 2-port switch example with VDD = 3.3 V (RTL8363NB-VG)There is the RTL8363NB used, but I can't find the driver anywhere.Can you provide the driver file or tell me where it is?
Hello!I am trying to replicate the workshop STM32MP1 - 11 Inter-Processor Communication Lab Example. I create a new STM32 project and copy all the data from the lab example. Then I connect the device (STM32MP157C-DK2) but the /dev/ttyRPMSG0 does not initialize (so I can´t send message between processors):My programSTM32MP1 - 11 Inter-Processor Communication Lab Example I create my program in STM32CubeIDE version 1.10.1.How can I initilize ttyRPMSG0 and ttyRPMSG1?Thanks!
We quite recently learnt of the move from U-Boot SPL to STM32DDRFW-UTIL and that the MX too would not longer work with the former. That wasted a decent amount of time.The problem is although the code for STM32DDRFW-UTIL is available our PMIC is on I2C6 and the code for the DK2 board doesn't abstract the connection of its PMIC to I2C4 cleanly.For example there's a function called BSP_I2C4_WriteReg that calls I2C4_WriteReg. Elsewhere it says#define DISCO_I2C4_CLK_DISABLE() __HAL_RCC_I2C4_CLK_DISABLE()and there are a load more defines that DISCO_I2C4 is I2C4_something. I feel a lot more of this could have been done making better use of pre-processing to reduce the repetition of things of the form#define <w>_I2C<n>_<x> <y>_I2C<n>_<z> .It should be that the disco's STPMU1_Register_Write calls I2C4_WriteReg and that's the board abstraction.Is there a guide to the simplest way to change the I2C port the PMIC is connected to in STM32DDRFW-UTIL ?Thanks,Jon
..
We are trying to read an analog value from a sensor (PF14 pin - A0 on Arduino connectors) and send it over UART (UART7 - PE7 for RX, PE8 for TX) for reading in the terminal of computer. We use M4 for this aim. Our final goal is to read the analog value over OPENAMP to be used on A7 side. But we want to be sure about the data integrity, and correctness of analog output as a first step. That's why we use UART7 through FTDI. We can read only "enclosed question marks" in the terminal. We are able to correctly read and graph analog readings with NUCLEO-STM32L432KC, using the same sampling rate and using USART1 and FTDI (although data resolution seems to be decreased significantly, compared to reading data over ST-LINK). Since ST-LINK is dedicated to A7 in STM32MP157F-DK2, it seems that it can not be used on M4 side (in Engineering Mode) for our aim.The pin configuration in A7 dts file is as follows.m4_uart7_pins_mx: m4_uart7_mx-0 { pins {
In engineering mode (BOOT0:off, BOOT2:On) I want to update my cortex-m4 firmware from CMD, not an IDE. What is the command to do so?Thank you!Note: I tried using the STM32_Programmer_CLI executable but it keeps seeing the a7 only, I cant communicate with the m4.Note: I think the IDE uses OpenOCD to do so but I can't find how to extract the command line it uses.
I'm having trouble closing a device as per the recommended method.STM32MP> fuse read 0 0 Reading bank 0: Word 0x00000000: 00000017  
Next problem with my board is the RS485. I can send bytes, but can't receive because after sending once the DE stays always high. Without sending receive of course works.&uart5 { status = "okay"; pinctrl-names = "default", "sleep","idle"; pinctrl-0 = <&uart5_pins_a>; pinctrl-1 = <&uart5_sleep_pins_a>; pinctrl-2 = <&uart5_idle_pins_a>; rts-gpios = <&gpioc 6 GPIO_ACTIVE_HIGH>; rs485-rts-delay = <0 0>; linux,rs485-enabled-at-boot-time; };uart5_pins_a: uart5-0 { pins1 { pinmux = <STM32_PINMUX('B', 6, AF12)>; /* UART5_TX */ bias-disable; drive-push-pull; slew-rate = <0>; }; pins2 { pinmux = <STM32_PINMUX('B', 5, AF12)>; /* UART5_RX */ bias-pull-up; }; }; uart5_idle_pins_a: uart5-idle-0 { pins1 { pinmux = <STM32_PINMUX('B', 6, ANALOG)>; /* UART5_TX */ }; pins2 { pinmux = <STM32_PINMUX('B', 5, AF8)>; /* UART5_RX */ bias-pull-up; }; }; uart5_sleep_pins_a: uart5-slee
Hi i want to access remotely my stm32mp157c-dk2 with graphical interface. I am running openstlinux-20-02-19 from starter package. I installed tigervnc (apt-get install tigervnc and apt-get install xauth) and start it by typing "vncserver". But when i connect to it (from vncviewer) only terminal shows up, nothing else. I tried to start some desktop session from this terminal by typing (weston / weston-start / dbus-launch weston-start / weston-launch) but nothing works. I also tried to modify ~/.vnc/xstartup and changed to :#!/bin/shunset SESSION_MANAGERunset DBUS_SESSION_BUS_ADDRESSexec dbus-launch weston-startBut after this change, only black screen shows up : /I am new to wayland/weston and vnc configuration. I hope somebody with more experience can help me with this.
Hello!I am trying to replicate the workshop STM32MP1 - 11 Inter-Processor Communication Lab Example. I create a new STM32 project and copy all the data from the lab example. Then I connect the device (STM32MP157C-DK2) in production mode to send message between processor but the following message appears in the terminal:/dev/ttyRPMSG0: no such file or directory Can somebody help me?Thanks!
Hi, i am trying to build linux image along with cortex-m4 firmware which developed using STM32CubeIDE,so for that i have copied a Stm32CubeIDE project under folder DistributionPackage/openstlinux-5.10-dunfell-mp1-21-03-31/layers/sources/m4projects-stm32mp1/Projects/STM32MP157C-DK2/Examples/TIM/project/project1/STM32CubeIDE/Added the project path in /DistributionPackage/openstlinux-5.10-dunfell-mp1-21-03-31/layers/meta-st/meta-st-stm32mp/recipes-extended/m4projects/ m4projects-stm32mp1.bbiam getting error as arm-none-eabi-gcc: error: /home/akshay/project/stm32/DistributionPackage/openstlinux-5.10-dunfell-mp1-21-03-31/build-openstlinuxweston-stm32mp1/tmp-glibc/work/stm32mp1-ostl-linux-gnueabi/m4projects-stm32mp1/1.4.0-r0/build/STM32MP157C-DK2/Examples/TIM/Project/JCIProject1/out/Debug//home/akshay/project/stm32/DistributionPackage/openstlinux-5.10-dunfell-mp1-21-03-31/layers/sources/m4projects-stm32mp1/Projects/STM32MP157C-DK2/Examples/TIM/Project/Project1/STM32CubeIDE/Common.
Hi,After installing and running the latest, OpenStLinux discovered a problem with M4. Firmware is loading fine, but the system doesn't create /dev/ttyRPMSGx channel. What is changed in comparison to the dunfell?[ 2399.320707] remoteproc remoteproc0: powering up m4 [ 2399.330950] remoteproc remoteproc0: Booting fw image my-m4-firmware_CM4.elf, size 3297396 [ 2399.361010] rproc-srm-core 10000000.m4:m4_system_resources: bound 10000000.m4:m4_system_resources:timer@40000000 (ops 0xc0e1da) [ 2399.391021] rproc-srm-core 10000000.m4:m4_system_resources: bound 10000000.m4:m4_system_resources:serial@4000f000 (ops 0xc0e1d) [ 2399.403977] rproc-srm-core 10000000.m4:m4_system_resources: bound 10000000.m4:m4_system_resources:serial@40011000 (ops 0xc0e1d) [ 2399.437731] rproc-srm-core 10000000.m4:m4_system_resources: bound 10000000.m4:m4_system_resources:serial@40018000 (ops 0xc0e1d) [ 2399.474831] rproc-srm-core 10000000.m4:m4_system_resources: bound 10000000.m4:m4_system_resources:serial@40019000 (
Hi, I saw the release document of STM32CubeIDE v1.3.0 that says supported use the JLink debugger. So I try to use JLink with STM32CubeIDE v1.3.0 on my pc (the os is Debian 9 ). But I saw the console has some error. It's shows cann't detect the MPU core. Below is the debug messageSEGGER J-Link GDB Server V6.62 Command Line Version JLinkARM.dll V6.62 (DLL compiled Jan 24 2020 16:34:42) Command line: -port 2331 -s -device STM32MP157CACx -endian little -speed 4000 -vd -----GDB Server start settings----- GDBInit file: none GDB Server Listening port: 2331 SWO raw output listening port: 2332 Terminal I/O port: 2333 Accept remote connection: yes Generate logfile: off Verify download: on Init regs on start: off Silent mode: off Single run mode: on Target connection timeout: 0 ms ------J-Link related settings------ J-Link Host interface: USB J-Link script: none J-Link settings file: none ------Target related settings------ Target device: STM32MP157CACx Target interface: JTAG Target
Hello,I have a STM32MP157F-DK2 and I'm planning to develop some python applications to run on the A7 processor. I have some questions related to python development for this platform, as I have not found too much documentations regarding this:Software package: Which ST software package do you recommend for python dev? Given that I will not need to cross-compile any C/C++ application with an SDK, can I use the Starter package, or do I need to use the dev package?Will the default starter of dev packages contain the python modules that I will need to connect and read data from Bluetooth devices?Will the default starter of dev packages contain the python modules that I will need to create GUIs for the TFT display?If I need to install a python module that is not present by default on the image, can I do it at run time, or do I need to create a custom distribution package? how?If you have any examples or tutorials for python development for the STM32 they are very welcome. The "hello world" e
I am using PlatformIO extension on Visual Studio Code and ZephyrRTOS framework to run blinky sample code for stm32mp157c-dk2 board in engineering mode. my use-case is to debug only in engineering mode with A7 core not being active or running.Debugging in engineering mode is not getting started and "target needs reset " message(line-39) is thrown in debug terminal as shown belowundefinedC:\Users\E0565260\.platformio\packages\toolchain-gccarmnoneeabi\bin\arm-none-eabi-gdb.exe: warning: Couldn't determine a path for the index cache directory. Reading symbols from C:\Users\E0565260\Documents\PlatformIO\Projects\test4_mp1\.pio\build\disco_mp157c_dk2\firmware.elf... PlatformIO Unified Debugger -> http://bit.ly/pio-debug PlatformIO: debug_tool = stlink PlatformIO: Initializing remote target... xPack OpenOCD, x86_64 Open On-Chip Debugger 0.11.0-00155-ge392e485e (2021-03-15-16:44) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html srst_only srst_
Hi, I'm trying to leverage the capability of lower words to be programmed once to one bit by bit to implement a sort of "forever growing counter", not sure if there is a proper naming for this.In the lower OTP zone, if I understood correctly, word 10 and word 11 are for OEM, does that mean that they are totally free to be used?Best regards,Charles
I have problem to get USB to work. I'm using custom board but I know that USB works because if I boot the board with the delivered image (MyIR) the USB works. I'm using buildroot with the 5.10 kernel and the linux kernel configuration from bootlin git. In TF-A I have enabled CLK_USBPHY_HSE and CLK_USBO_USBPHY.Kernel device tree:&usbh_ehci { phys = <&usbphyc_port0>; phy-names = "usb"; status = "okay"; }; &usbh_ohci { phys = <&usbphyc_port0>; phy-names = "usb"; status = "okay"; }; &usbotg_hs { compatible = "st,stm32mp15-hsotg", "snps,dwc2"; phys = <&usbphyc_port1 0>; phy-names = "usb2-phy"; dr_mode = "host"; status = "okay"; }; &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>; };Kernel bootlog (I enabl
I would like to clear up some confusion regarding the DSI VIO, the stm32mp157a datasheet mentions "1.2 V I/O for DSI interface" but in the EV1 kit the LCD used (the RK055AHD042-CT, for which it's impossible to find a datasheet for, could that be shared too?) uses the RM68200 driver which seems to require 1.8V for IO.The LCD I would like to use also requires 1.8V so I'm wondering if I need a high-speed voltage translator or will the STM32MP1 support my LCD?
I just spent a day trying to configure a gpio with internal pullup using gpiolib. Could not get it configured. Then spent 2 days with device drivers and device trees, and got it working. Seems insane to me that configuring gpios should be this complex. Is there an easier way?
I have a customized STM32MP157AAD board with STPMIC1E PMIC.STPMIC1E is pre-programmed to have same NVM as 1A version.After power up, the board can download firmware by CubeMX and run uboot from SD card, even partially boot the linux kernel.However, there is no action to load stpmic-regulator driver after kernel displays this line.[ 2.191543][ T54] stpmic1 1-0033: PMIC Chip Version: 0x21There should be no hardware problem because there is proper signal to read version number and turn on DDR powerThe kernel image file itself is tested on DK2 board and has no problem. The pr_debug data from kernel indicates “Bad cell count�? error[ 21.000604][ T25] stpmic1 1-0033: PMIC Chip Version: 0x21[ 21.010922][ T25] OF: of_platform_populate()[ 21.015427][ T25] OF: starting at: /soc/i2c@5c002000/stpmic@33[ 21.021500][ T25] OF: of_irq_parse_one: dev=/soc/i2c@5c002000/stpmi
Hi ST Community,I'm trying to build my linux image for STM32MP157F-EV1 board with the following commands.Linux Commands:PC $>cd <working directory path>/Distribution-PackagePC $>mkdir openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15PC $> cd openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15PC $>repo init -u https://github.com/STMicroelectronics/oe-manifest.git -b refs/tags/openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15PC $>repo syncPC $>DISTRO=openstlinux-weston MACHINE=stm32mp15-eval source layers/meta-st/scripts/envsetup.shPC $>bitbake st-image-westonThe following error is outputed and the build stops.Could you please tell me the cause of the error?**********************************ERROR: st-image-resize-initrd-1.0-r0 do_rootfs: Unable to update the package index files. Command '['/home/toku/STM32MPU_workspace/STM32MP1-Ecosystem-v4.0.0/Distribution-Package/openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15/build-openstlinuxweston-stm32mp15-eval/tmp-glibc/work/stm32mp
The default configuration for the trusted defconfig has CONFIG_ENV_IS_NOWHERE=y . How can I store the u-boot-env on mmc such that fw_printenv can read it. When I took out CONFIG_ENV_IS_NOWHERE I am unable to get the boot process to u-boot. The last thing I get is NOTICE: SP_MIN: v2.4-r1.0(debug):devtool-patched-5-g73e4b89f4-dirty NOTICE: SP_MIN: Built : 19:06:02, Sep 21 2022 INFO: ARM GICv2 driver initialized INFO: Set calibration timer to 60 sec INFO: stm32mp1 IWDG1 is secure INFO: SP_MIN: Initializing runtime services INFO: SP_MIN: Preparing exit to normal world INFO: CPU 0 IT Watchdog 2 INFO: CPU : 0 INFO: sp_usr : 0x0 INFO: lr_usr : 0x0 INFO: spsr_irq : 0x0 INFO: sp_irq : 0x0 INFO: lr_irq : 0x0 INFO: spsr_fiq : 0x0 INFO: sp_fiq : 0x0 INFO: lr_fiq : 0x0 INFO: spsr_svc : 0x0 INFO: sp_svc : 0xc00fcf08 INFO: lr_svc : 0xc0174d5d INFO: spsr_abt : 0x0 INFO: sp_abt : 0x0 INFO: lr_abt : 0x0 INFO: spsr_und : 0x0 INFO: sp_und : 0x0 INFO: lr_und : 0x0 INFO: spsr_mon : 0xa00001f3 INFO: sp_mon :
Hi I am working on a drivers for the various peripherals on the STM32. Let me take the GPIO as an example. GPIO BSRR is a write only register that I want to read and I need to read back always 0x00000000. Why?I made a bit-field struct on the whole GPIO block. That struct is accessed based on Register name and specific bit field. The processor can not operate on individual bits so the compiler translates the Bit field instruction in to a register read followed by mask and shift operations ending with a Register write. It's the compiler that manipulates individual bits in a register in this way.So the value of the write only register like a BSRR when it is read is important and needs to be 0x00000000 for a bit set operation.Here is my question, is the read back of a write only register like the BSRR well-defined in the design of the STM32 chip or is that value undefined.Question:Can someone tell me if the read back of Write only registers is well-defined as 0x0000000 for the STM32 family
I am having difficulties using built-in ST-Link debugger on STM32MP157D-DK1 Discovery Kit. I am using the latest version of the STM32CubeIDE, Version: 1.10.1. Upon connecting the debugger it asked for FW upgrade on the ST-Link which I accepted and it completed the FW upgrade successfully. GDB Connection: Autostart local GDB serverDebugger Load Mode: thru JTAG/SWD LinkI have configure the debug probe to be OpenOCDConnection setup: SWDDropped the clock to 4, and 1.8 none worked.Here is the log for the debugger:Open On-Chip Debugger 0.11.0+dev-00449-g53fa0f7 (2022-06-09-09:42) Info : Listening on port 6666 for tcl connectionsInfo : Listening on port 4444 for telnet connectionsInfo : STLINK V2J40M27 (API v2) VID:PID 0483:3752Info : Target voltage: 3.245293Info : clock speed 125 kHzInfo : stlink_dap_op_connect(connect)Info : SWD DPIDR 0x6ba02477Info : stlink_dap_op_connect(connect)Info : SWD DPIDR 0x6ba02477Info : STM32MP157DACx.cm4: Cortex-M4 r0p1 processor detectedInfo : STM32MP157DACx.cm
I have a successful emmc image running on my STM32MP157FAD. However, fw_env.config is incorrect. This is my first project using FIP and I'm a little confused where the uboot environment variables are now located.Partition Layout:/dev/mmcblk1p1 34 8225 8192 4M Linux reserved FIP /dev/mmcblk1p2 49152 180223 131072 64M Linux filesystem Boot /dev/mmcblk1p3 180224 3227647 3047424 1.5G Linux filesystem RootA /dev/mmcblk1p4 3227648 6275071 3047424 1.5G Linux filesystem RootB /dev/mmcblk1p5 6275072 8372223 2097152 1G Linux filesystem DataHere is the wks output (I'm not sure how to interpret where uboot.env is placed)part fip --source rawcopy --fstype=ext4 --fsoptions "noauto" --part-name=fip --sourceparams="file=/datadrive/gen3-dev/openstlinux-5.10-dunfell-mp1-21-03-31/build-openstlinuxweston-stm32mp1-henson/tmp-glibc/deploy/images/stm32mp1-henson/fip/fip-stm32mp157f-henson-mx-trusted.bin" --ondisk mmcblk --part-type 0x8301 --fixed-size 4096K part --source rawcopy --sourceparams="file=/datadri
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.