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
STM32F157F-EV1 board and RaspberryPi 7-inch LCD were connected using B-LCDAD-RPI1.However, the LCD does not output.The image is in use by building Yocto st-image-weston and flashing it to the SD card.How do I operate the Raspberry Pi LCD?
Hello Attached is my i2c ioc file and I have connected an ADXL sensor to the stm32mp1 on its Arduino connector(I2C5). ( address: 3A, Chip id value : E5, Chip ID read register : 0x00)I am trying to read this chip id but getting an error at the below line always if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)Can you please tell me what's wrong in the code or ioc file?attached is my main.c and ioc file as well.Do I need any changes I the device tree file on the A7 side?Thanks !,P
Hello ST community,For a project, we use the STM32MP157F-EV1 where we are trying to implement the secure boot chain. For this, we have to generate a FIP package that contains all required certificates. In the ST wiki two methods are proposed :One using the FipTools and cert_createUsing the TF-A make system to generate the FIP.The second method doesn't work from my side. I have a build error. Here is my modus operandi :Source the STM32MP1 toolchain./opt/st/stm32mp1/3.1-openstlinux-5.10-dunfell-mp1-21-03-31/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabiGo to the TF-A source directorycd <Developer_Package_directory>/stm32mp1-openstlinux-5.10-dunfell-mp1-21-03-31/sources/arm-ostl-linux-gnueabi/tf-a-stm32mp-2.4.r1-r0/tf-a-stm32mp-2.4.r1 Launch the build of TF-A as specified in the wiki :make ARM_ARCH_MAJOR=7 ARCH=aarch32 PLAT=stm32mp1 \ MBEDTLS_DIR=~/mbedtls \ AARCH32_SP=sp_min \ BL33=../../u-boot-stm32mp-2020.10.r1-r0/deploy/u-boot-nodtb-stm32mp15.bin BL33_CFG=../../u-b
Hi STI enabled DISTRO_FEATURES_append = "tpm2" in the file ".../layers/meta-st/meta-st-openstlinux/conf/distro/include/openstlinux.inc" as described in the ST Wiki.When building with "st-image-weston" I get the following error message:ERROR: Nothing RPROVIDES 'packagegroup-security-tpm2' (but /home/stm32mp1/Work/Ecosystem-V2.1.0/201119_DVT/layers/meta-st/meta-st-openstlinux/recipes-st/images/st-image-weston.bb RDEPENDS on or otherwise requires it)NOTE: Runtime target 'packagegroup-security-tpm2' is unbuildable, removing...Missing or unbuildable dependency chain was: ['packagegroup-security-tpm2']ERROR: Required build target 'st-image-weston' has no buildable providers.Missing or unbuildable dependency chain was: ['st-image-weston', 'packagegroup-security-tpm2']"... / layers / meta-st / meta-st-openstlinux / recipes-st / images / st-image-weston.bb" of the contents of the file "$ {@ bb.utils.contains ('COMBINED_FEATURES', ' tpm2','packagegroup-security-tpm2','', d)} \"There seems to be
I am a beginner with STM32MPUs and I've been trying to follow the example: How to stream camera over network (can't add links because I'm a new member but it's in ST Wiki)I'm trying to stream the video from an USB Webcam connected to the STM32MP157F-DK2 over the network to another Ubuntu PC running on a virtual machine.Unfortunately it doesn work. When I run:v4l2-ctl --set-parm=30;v4l2-ctl --set-fmt-video=width=640,height=480,pixelformat=JPEG --stream-mmap --stream-count=-1 --stream-to=- 2>/dev/null | gst-launch-1.0 fdsrc ! jpegparse ! rtpjpegpay ! udpsink host=192.168.0.9 port=5000I see the webcam's LED on and I get the following output:Frame rate set to 10.000 fps Setting pipeline to PAUSED ... Pipeline is PREROLLING ...Then, when I run the command below on the host PC side, nothing happens.gst-launch-1.0 udpsrc port=5000 ! application/x-rtp, encoding-name=JPEG ! rtpjpegdepay ! jpegparse ! decodebin ! videoconvert ! autovideosinkI have been able to test the webcam and I can see th
Hello, For generating the I2C5 init code, I took the I2C4 discovery kit example and modified it accordingly.Unlike in I2C4, I see the banks of the I2C_DATA and I2C_CLK are different I2C5: ( GPIOz and GPIO D)for I2C4 (GPIOZ): in the I2C4 code generation, there was this critical section code which is present around the CLK and DATA , since in I2C4 both the gpio banks are same, there was this code, /* Configure I2C Tx, Rx as alternate function */ gpio_init_structure.Pin = DISCO_I2C4_SCL_PIN | DISCO_I2C4_SDA_PIN; BSP_ENTER_CRITICAL_SECTION(DISCO_I2C4_SCL_SDA_GPIO_PORT); HAL_GPIO_DeInit(DISCO_I2C4_SCL_SDA_GPIO_PORT, gpio_init_structure.Pin); BSP_EXIT_CRITICAL_SECTION(DISCO_I2C4_SCL_SDA_GPIO_PORT);but for I2C5 does it has to be changed for both the GPIO Banks of CLock and data?Is it mandatory?Please advice.Best,Ped
Hello, I have two questions : (1) Is I2C5 the one on which the peripheral can be connected on the I2C lines on the Arduino connector with the cortex M4? I checked this and it is I2C5.PLease correct me? (2) I was trying to search/look the BSP methods for this I2C 5 like the BSP for I2C4 as provided in the STM32Cube_FW_MP1_V1.5.0\Drivers\BSP\STM32MP15xx_disco_bus.c where BSP methods related to I2C4 are defined and also the pin numbers in the corresponding header file.Is it possible to generate these methods using a code generator? or I can manually change the BSP I2C by looking at the ioc files ?
Hi, I'm trying to set up the TF-A sp_min for the 157F-DK2. Here is the info I have. Build EnvironmentUbuntu 22.04Used for OpenSSL 3.0 supportNeeded because trusted-firmware-a cert_create requires 3.0; ST calls are deprecated.ToolchainsGCC: arm-none-eabi-gcc --version = 10.3.1Linaro: arm-linux-gnueabihf- --version = 12.0.1 (20220205)KeyGen_CLISTM32MP_KEYGEN_CLI --abs=/home/<user>/keys/ -pwd <password>SigningTool_CLISTM32MP_SigningTool_CLI -bin $HOME/starter-image/stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17/images/stm32mp1/arm-trusted-firmware/tf-a-stm32mp157f-dk2-sdcard.stm32 -pubk $HOME/keys/publicKey.pem -prvk $HOME/keys/privateKey.pem -pwd <password> -t fsbl -o $HOME/signedFile.binThis works, I can boot the FSBL authenticated. Build ST U-Bootmake CROSS_COMPILE=arm-none-eabi- DEVICE_TREE=stm32mp157f-dk2 all Build TF-Amake CROSS_COMPILE=arm-none-eabi- PLAT=stm32mp1 ARCH=aarch32 ARM_ARCH_MAJOR=7 AARCH32_SP=sp_min BL33=$HOME/u-boot/u-boot-nodtb.bin BL33_CFG=$HOME/u-b
I have installed the developer package and activated the samebut not able to compile dts filesfollowing are the commands I have used with the first 13 lines of dts file
Hello , I see from the stm32mpu wiki RTC is not available for CM4. I am porting one RTC project from F411 to CM4 . Is there any alternate to this which i can use having same functionality?Br,D
Hello, There may be another variant of this question available but I am reposting it as I couldn't get any success so far redirecting prinf messages to uart4 and viewing them on serial terminal utility.below are the snapshots which shows I have mapped the PUTCHAR method, configured UART4 in the fw and also the serial port utility is having the same connections but I am not able to get any data on the terminal. The code has a comment: LD Linker > Libraries > Small printf > am I missing this step? Where do I have to do this in the IDE Settings?Regards,D
Hello , I am building one application using Open gl es code. but gettign this error.Not sure if it is error as the final applications is building fine but giving error while elaunching .No package 'wayland-client-protocol' foundFinished building target: my applicationon launching this application it gives : ========== init_wayland_system ==========Error : No such file or directorycan't connect to wayland display========== init_wayland_system ==========WHats happening here?Regards,D
I can read the eeprom in uboot and the kernel. If I add ethernet@...{ local-mac-address = [ 00 01 02 030 40 05]; }; to the device tree it will be used by the kernel. I can't seem to get any other device tree modifications to work. I'm using a stock kernel, and I'm not sure what other information might be relevant. That you for your attention.-russ
Hi all, I am using stm32mp157f-dk2 with ecosystem 3.1.During development, I need to update the device tree and kernel config very often.My current approach is to do bitbake -c cleansstate <image> bitbake virtual/kernel -c menuconfig bitbake <image>However, I found that bitbake -c cleansstate will reset all my kernel config that I have done in menuconfig. This mean I need to reconfig my kernel every time I update my device tree, which is quite troublesome. There should be some better way to do this.Regards, Leung
Hello , Currently, i am working on STM32MP157. I am trying to change the device tree USB type C configuration into a USB type A host.I've disabled usbotg option under stm32mp1571.dtsi file. I would like to know where i could add USB A host configuration. Thank you
I am writing an application for STM32MP157F MPU which required TCP and UDP sockets. Is there any example?
Hi,I am working on a functionFS usb gadget based on gmidi. Following the gadget_configfs.rst and using stm32_usbotg_eth_config.sh as starting point was straight forward. After writing the shell script and modifying my device tree configuration to support high-speed OTG in the usb-c port as explained in the USB device tree guide, the usb gadget loaded with no errors and it was recognised by Mac, Windows and Linux hosts as usb-midi. USB-MIDI Shell script:configfs="/sys/kernel/config/usb_gadget" g=g1 #Gadget name c=c.1 #Configuration name d="${configfs}/${g}" #gadget path func_midi=midi.usb0 #Midi Function declaration #Product and Vendor for getting recognised VENDOR_ID="0x1d6b" PRODUCT_ID="0x0104" #Take the serial from the MP1 and make it a serial for our USB MIDI get_mac_address_from_serial_number(){ sha1sum /proc/device-tree/serial-number \ | fold -1 \ | sed -n '1{h;d};2{y/1235679abdef/000444888ccc/;H;d};13{g;s/\n//g;p;q};s/^/:/;N;H;d' } #To call the gadget do_start() { #Call depen
CPU: STM32mp153CACProblem: CPU is unable to boot further because of error:"ERROR: Node system_off_soc_mode not found"I have temporarily commented out the panic in the TF-A This allows us to boot further into u-boot and then linux. But I'm worried that this is creating problems down the line. We do not use STPMIC1 chip, can this be the reason for this error?I suspect that something is missing in the device-tree. I have attached it.
This is how I would like to use rs485:&usart3{ pinctrl-names = "default", "sleep"; pinctrl-0 = <&usart3_pins_mx>; pinctrl-1 = <&usart3_sleep_pins_mx>; status = "okay"; uart-has-rtscts; linux,rs485-enabled-at-boot-time; rs485-rts-delay-ns = <800 300>; };But it does not work.The setup function stm32_usart_config_rs485() in drivers/tty/serial/stm32-usart.c does not get executed. This seems wrong. Could you elaborate on this?When configuring rs485 from userland by using the ioctl, the setup function stm32_usart_config_rs485() does get executed and rs485 does work.
Hello, I am looking for the right documentation for creating a custom poject using stm32mpu M4 cortex but using the peripheral connected to 40 pin header and not the Arduino connector.please let me know and also the limitation if any if i connect an i2c sensor to the 40 pin header instead of i2c on the Arduino connectors. i think they are not inter-connected (40 pin to Arduino connector), please correct me !Br,D
Hi all, I am studying the pmic of stm32mp157f-dk2.My ultimate goal is to write a device tree structure for other pmic chip like tps65 series to replace the stpmic&i2c4{ ... stusb1600@28{ compatible = "st,stusb1600"; reg = <0x28>; ... }; pmic:stpmic@33{ compatible = "st,stpmic1"; reg = <0x33>; ... }; };I am interested in how the reg variable(0x28 and 0x33) are determined. So I go through the data sheet of stm32mp157f.In table 357, it suggests that 0x00-0x28 are used. As the device tree claim the stusb register should start with 0x28, their register are overlapping with each other. But stusb1600 datasheet, table 16 suggests that 0x0-0x0a of stusb1600 is reserved.Although their register are overlapping, they are reserved in stusb1600, so only the mp1 i2c are using those space. So far, so good.but for the stusb1600, it require up to 2Fh space. why are the pmic start with 0x33, Shouldn't the pmic register start with 28+2F=57?I must be missing something important
I have a STM32MP157F-DK2 board.I have installed the distribution package from the tutorials from st.com. I want to install the lxml package which seems to need the libxml2 and libxslt development packages as dependencies, but these packages are not available in the apt manager. How do I install them with the present distribution package. I am very much newbie in this field, so providing step-by-step methods or reference to an easily understandable documentation is appreciated :)
This is an STM32MP157c based board design with Micrel KSZ9021GN PHY in 100 MII mode. Have you ever seen this situation before? Here are the relevant parts of the boot, the early kernel part looks normal and the LEDs are on.... [ 2.507568] stm32-dwmac 5800a000.ethernet: PTP uses main clock [ 2.512079] stm32-dwmac 5800a000.ethernet: no reset control found [ 2.518073] stm32-dwmac 5800a000.ethernet: No phy clock provided... [ 2.524955] stm32-dwmac 5800a000.ethernet: User ID: 0x40, Synopsys ID: 0x42 [ 2.531304] stm32-dwmac 5800a000.ethernet: DWMAC4/5 [ 2.536191] stm32-dwmac 5800a000.ethernet: DMA HW capability register supported [ 2.543532] stm32-dwmac 5800a000.ethernet: RX Checksum Offload Engine supported [ 2.550811] stm32-dwmac 5800a000.ethernet: TX Checksum insertion supported [ 2.557657] stm32-dwmac 5800a000.ethernet: Wake-Up On Lan supported [ 2.563937] stm32-dwmac 5800a000.ethernet: TSO supported [ 2.569235] stm32-dwmac 5800a000.ethernet: Enable RX Mitigation via HW Watchdog Timer [
Hello,I am having difficulties initializing the USB OTG in the ST Ecosystem 3.1.0 with the STM32MP157C in the Octavo OSD32MP15x SiP. With the ST Ecosystem 2.1.0 there was no issue and the previous image still works on my development board. I only need the host mode because we have only an LTE module connected to it.The kernel log says the device timeouted when probing.dmesg |grep usb [ 0.112487] usbcore: registered new interface driver usbfs [ 0.112570] usbcore: registered new interface driver hub [ 0.112642] usbcore: registered new device driver usb [ 1.595777] usb33: supplied by regulator-dummy [ 1.648809] usbcore: registered new interface driver pegasus [ 1.648893] usbcore: registered new interface driver asix [ 1.648970] usbcore: registered new interface driver ax88179_178a [ 1.649033] usbcore: registered new interface driver cdc_ether [ 1.649112] usbcore: registered new interface driver smsc75xx [ 1.649192] usbcore: registered new interface driver smsc95xx [ 1.649265] usbcore: reg
Hello every one I am starting with the STM32MP157, and i wonder if there is a schematis that i can follow that doesn't require the use of external DRAM or any IC meaning without (linux) using bare meatal code through the IDE. just to operate the ADC ? in this case i please seek your help for experts or any one that has a clue on STM32MP1s. thank you
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.