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
Hello, I have the STM32MP157-DK2 board and the GNSS2 eval board (w/Taoglas antenna) and I am trying to follow UM2909 (getting started). It seems the ST Wiki is updated past the UM2909. For example in 3.3 titled “Downloading the kernel sources (developer package)” the link the kernel sources (titled “Modify, rebuild and reload the Linux kernel” goes to a wiki page that is labeled NRND. If I start the wiki from scratch, I go to a different wiki page: https://wiki.st.com/stm32mpu/wiki/STM32MP157x-DKx_-_software_distributions The instructions on this page (going to the Yocto build) are not complete or they are different. Any help/suggestions are appreciated. If it makes sense to follow the NRND pages, I can do that - but my Linux is not as strong as I would like. I am willing to start from scratch if necessary as well but if there are any insights out there I do appreciate the help. Thank you.
Hello,I use a stm32mp135f-dk and would like to develop a Gui with gtk and also use the hardware (Uart, gpio's, etc.).I went through the “get started” https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP135x-DK in advance.When I wanted to create a new project with CubeIDE, the HAL drivers for the board are not loaded.When creating a project from an STM32MP157, the HAL drivers are loaded https://wiki.st.com/stm32mpu/wiki/How_to_debug_a_user_space_application_with_STM32CubeIDE/User_space_GTK_library_project What do I have to do to get the HAL drivers into the project and how do I flash them onto the STM32MP135x-DK?
Hello all,I'm trying to cross-compile with Developer Package,My main source was this link: https://wiki.st.com/stm32mpu/wiki/STM32MPU_Developer_PackageCurrently, above link directed me to this one:https://wiki.st.com/stm32mpu/wiki/How_to_cross-compile_with_the_Developer_PackageBut there is a problem in the instructions described in second link. I can display my menuconfig when I type make menuconfig in my Linux kernel directory, and I can go into Device Drivers - Generic Driver Options. However, "Size in Megabytes" is not visible in my Generic Driver Options, contrary to description below:Can you help me with that?Thanks.
Hi, I usb buildroot(branch: st/2023.02.2) to buid my system.I want to know how to configure to enable secure boot.if i just enable TRUSTED_BOARD_BOOT=1MBEDTLS_DIR=$(MBEDTLS_DIR)then compile error as follow make[2]: *** No rule to make target '/home/gary/test/stm32mp15/buildroot/output/build/mbedtls-2.28.2/library/aes.c', needed by '/home/gary/test/stm32mp15/buildroot/output/build/arm-trusted-firmware-hgs_test/build/stm32mp1/release/libmbedtls/aes.o'. Stop.make[2]: *** Waiting for unfinished jobs....package/pkg-generic.mk:290: recipe for target '/home/gary/test/stm32mp15/buildroot/output/build/arm-trusted-firmware-hgs_test/.stamp_built' failedmake[1]: *** [/home/gary/test/stm32mp15/buildroot/output/build/arm-trusted-firmware-hgs_test/.stamp_built] Error 2Makefile:82: recipe for target '_all' failedmake: *** [_all] Error 2
The issue I am having is BKPSRAM is not retaining the information I write to it after a power cycle. I can read and write to BKPSRAM after I set it to non-secure in optee, removed the power features in pwr_regulator, and I enabled the CLK bit. I have followed the apps notes on page 440 of the reference manual, and the backup regulator is enabled. Every time I boot it up it reads back 0x00003000, instead of what was written to it. I am trying to ultimately store a 4KB struct that needs to be non-volatile. An FAE already mentioned trying to look through TF-A source code, but I cannot find any place that would clear the BKPSRAM, I only see clk configuration when I search through it, nothing to actual do with the BKPSRAM memory itself.I am using a custom board, I have OpenSTLinux configured for this custom machine and I am using st-image-core.Thank you very much for your time.
Hello,I am trying to use I2C2 peripheral with DMA2 streams 2 (Tx) and 3 (Rx). I am also using OpenAMP to communicate with A7 core, which runs Linux.A short time after launch, a Hard Fault is triggered. I noticed this only happens when DMAs are initialized as well as OpenAMP. If I comment out one (either DMA or OpenAMP), the code works fine.Any idea why this would happen ? I suppose this might be caused by some kind of memory conflictThank you.
We got the STM32MP157F-EV1 and struggle a bit with the understanding of OTPs. We cloned the STM32PRGFW-UTIL repository [1], put the dip switches into "forced USB boot for flashing" mode (all off) and uploaded the provided image: STM32PRGFW-UTIL\Projects\STM32MP15xx\Binary> stm32_programmer_cli -c port=usb1 -w .\FlashLayout_STM32PRGFW_UTIL.tsv That works great and we can query a register like this: stm32_programmer_cli -c port=usb1 -otp displ word=93 We then tried writing to it: > stm32_programmer_cli -c port=usb1 -otp write word=93 value=0xF0 and querying again shows the correct value: | Data93 : 0x000000F0 | Status93 : 0x00000000 We tried writing a second time with a similar value > stm32_programmer_cli -c port=usb1 -otp write word=93 value=0xF1 and the value changed as expected: | Data93 : 0x000000F1 | Status93 : 0x00000000 Then we wrote 0xF0, 0xF1 and 0x01 again just to see what happens. The Register still rea
Hello,I'm ustin stm32MP135F-DK and try to modify device tree Menuconfig or how to configure kernel - stm32mpuin this link I came to make ARCH=arm uImage LOADADDR=<loadaddr of kernel>And ı getting this error how can ı solve itCALL scripts/checksyscalls.shCC drivers/usb/dwc3/dwc3-stm32.odrivers/usb/dwc3/dwc3-stm32.c: In function ‘stm32_dwc3_init’:drivers/usb/dwc3/dwc3-stm32.c:73:35: error: implicit declaration of function ‘FIELD_PREP’ [-Werror=implicit-function-declaration]73 | FIELD_PREP(SYSCFG_USB3DRCR_HOST_PORT_POWER_CONTROL_PRESENT_MASK,| ^~~~~~~~~~cc1: some warnings being treated as errorsmake[4]: *** [scripts/Makefile.build:250: drivers/usb/dwc3/dwc3-stm32.o] Error 1make[3]: *** [scripts/Makefile.build:500: drivers/usb/dwc3] Error 2make[2]: *** [scripts/Makefile.build:500: drivers/usb] Error 2make[1]: *** [scripts/Makefile.build:500: drivers] Error 2make: *** [Makefile:2035: .] Error 2
We have custom SOM which has been designed with STM32MP157C and we want to enable the backlight of a display panel using a PWM driver in uboot. For this, we tried enabling the pwm_backlight.c driver available in /drivers/video/ in uboot.Following configuration was done to enable the driver:Changes in the dts file Updated the Kconfig in /driver/video/ Updated to Makefile in /driver/video/ obj-$(CONFIG_BACKLIGHT_PWM) += pwm_backlight.oAdded the config in defconfig CONFIG_BACKLIGHT_PWM=y CONFIG_DM_PWM=y The image builds successfully, however looking at the log of lists.c during boot, it is unable to find the driver and hence fails to bind.Another observation is that there is no stm32 core driver file for PWM in uboot. Is this the reason why any of the pwm-based drivers fails to be enabled or is something missing in the configuration mentioned above?TIA.
Hi st frends: Yestarday I fuse the OTP PKHTH as followBut today I found the key I fuse is not the correct one. So I want to re-fuse the OTP ,it seems that can't no fuse again. is there any way to fuse the OTP this situation?
Hi Team,In the DTS node property mwifiex mentioned below, the default operating frequency is 25 MHz. I would like to update my SDMMC1 clock to 50 MHz and require assistance with configuring it accordingly. Could you please provide me with details or reference documents?&sdmmc1 {pinctrl-names = "default", "opendrain", "sleep";pinctrl-0 = <&sdmmc1_pins_mx>;pinctrl-1 = <&sdmmc1_opendrain_pins_mx>;pinctrl-2 = <&sdmmc1_sleep_pins_mx>;non-removable;st,neg-edge;bus-width = <4>;vmmc-supply = <&scmi_vdd_sd>;mmc-pwrseq = <&wifi_pwrseq>;mmc-ddr-3_3v;#address-cells = <1>;#size-cells = <0>;status = "okay";mwifiex: mwifiex@1 {compatible = "marvell,sd8978";reg = <1>;interrupt-parent = <&gpiof>;interrupts = <3 IRQ_TYPE_LEVEL_LOW>;//marvell,wakeup-pin = <3>; /* FIXME: check */};};Regards,Sateesh
Hello!I'm currently working with a stm32mp157f-dk2 development kit and designing a custom PCB with a STM32MP153A. I have working with the Developer/Distribution package of openST. I want to enable the TimeStamp function of the RTC, and be able to read the TimeStamp Time Register (RTC_TSTR) and Date Register (RTC_TSDR). I have been looking information for some time and I didn't found any support in the RTC linux driver bindings (<linux/rtc.h>), or in the stm32-rtc linux driver (<linux/drivers/rtc/rtc-stm32.c>). Also in the wiki I have not been able to find information about it's integration with the device tree. I have already check this post about reading from the M4: https://community.st.com/t5/stm32-mpus-products/how-can-the-cortex-m4-access-to-rtc-timestamp/td-p/276948 . But for reading the timestamp I have to enable it from the linux core.Does anyone have any suggestions on how this situation can be addressed?I have been modifying the linux driver,
Hi,I want to send and receive data using Ethernet.I tried this Linux version code, but it didn't works. https://gist.github.com/austinmarton/1922600 After I failed to try, I found this header code, STMMAC.https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/stmicro/stmmac/stmmac.h Should I make a program based on this code?? I've searched a lot, but I couldn't find any related cases.I'm not good enough to make the whole program code.If you have any relevant content or examples, please let me know....
@Erwan SZYMANSKIHello, I am having trouble with another topic . I was learning how to modify my distribution packet . I started with learning how to change backlight of my daughter board (ım using stm32mp157f-dk2). As I was trying to learn I make a patch to change default-brightness-level = <10>; ; panel_backlight: panel-backlight { compatible = "gpio-backlight"; gpios = <&gpiod 13 GPIO_ACTIVE_LOW>; default-on; default-brightness-level = <1>; status = "okay"; }; in the arch/arm/boot/dts/stm32mp157f-ev1.dts file (https://github.com/STMicroelectronics/linux/blob/v6.1-stm32mp/arch/arm/boot/dts/stm32mp157f-ev1.dts ). With that I learned how to do patch and recipes.bb and .bbappend files but ı didn't do them applicable for my target design cause I couldn't find the target node about light. How can ı found it? I looked at all the dts files with my file name but couldn't see it.
I want to ask about realise date of STM32MP257F-EV1?Today, I see a local shop sell this board with price 800$. I guess this is contraband board from China and the price too expensive with my expect.
Hi Team, In the DTS node property mwifiex mentioned below, the default operating frequency is 25 MHz. I would like to update my SDMMC1 clock to 50 MHz and require assistance with configuring it accordingly. Could you please provide me with details or reference documents? &sdmmc1 {pinctrl-names = "default", "opendrain", "sleep";pinctrl-0 = <&sdmmc1_pins_mx>;pinctrl-1 = <&sdmmc1_opendrain_pins_mx>;pinctrl-2 = <&sdmmc1_sleep_pins_mx>;non-removable;st,neg-edge;bus-width = <4>;vmmc-supply = <&scmi_vdd_sd>;mmc-pwrseq = <&wifi_pwrseq>;mmc-ddr-3_3v;#address-cells = <1>;#size-cells = <0>;status = "okay"; mwifiex: mwifiex@1 {compatible = "marvell,sd8978";reg = <1>;interrupt-parent = <&gpiof>;interrupts = <3 IRQ_TYPE_LEVEL_LOW>;//marvell,wakeup-pin = <3>; /* FIXME: check */};};
Hello everyone,for the board TXMP1570 in Fast boot mode I am looking for the corresponding driver "USB download gadget" Win 11, VID_0483&PID_5720. Thanks in advance Marko
Hello,I am trying to configure a PWM in the boot process. I followed the steps in the documentation https://wiki.st.com/stm32mpu/wiki/TIM_device_tree_configuration .I configured the pwmleds nodepwmleds { compatible = "pwm-leds"; example { label = "stm32-pwm-leds-example"; /* Use pwm1 channel 0 (e.g. TIM1_CH1) */ /* period in nanoseconds (500000), normal polarity (0) */ pwms = <&pwm1 0 30518 0>; max-brightness = <255>; }; };/* PWM DT provider on TIM1: "pwm1" */ &timers1 { status = "okay"; /* spare all DMA channels since they are not needed for PWM output */ /delete-property/dmas; /delete-property/dma-names; /* define pwm1 label */ pwm1: pwm { /* configure PWM pins on TIM1_CH1 */ pinctrl-0 = <&pwm1_pins_a>; pinctrl-1 = <&pwm1_sleep_pins_a>; pinctrl-names = "default", "sleep"; /* enable PWM on TIM1 */ status = "okay"; }; };I run the command cat /sys/kernel/debug/pwmI see the next linepwm-0 &nb
STM32CubeProgrammer v2.17.0 release information New features:• Added the support for the STM32MP25xx microprocessors in the STM32MP2 series – Flash memory and OTP programming, SSP support Added the support for devices in the STM32WB0 series: STM32WB05 MCU, STM32WB05 coprocessor, STM32WB07 MCU, and STM32WB09 MCU product lines – Flash memory and OTP programming via debug and UART – Key generation, software signature, and OTP provisioning Added the support for new STM32C0xxxB microcontrollers in the STM32C0 series with 128 Kbytes of flash memory – Flash memory and OTP programming via debug and UART Refer to the STM32CubeProgrammer software description user manual (UM2237) for details. Fixed issues: 126305 [GUI][STM32U5] RDP regression with password level 2 not working on all operating systems. 129215 [STM32CubeProg] Add new features: save and load OB configurations. 136058 [STM32U575ZI] STM32CubeProgrammer bug affecting flash memory programming when flash memory banks are swapped. 143
Hi, I'm discovering the STM32MP13 Bare metal project. I'm following example given by the STM32CubeMP13 Package. Everything works fine except for the fact that I'm disappointed by the performance. Indeed, if my theory is correct, the following code should change the pin status every second. void testCPUFreq(){ GPIO_InitTypeDef GPIO_InitStruct = {0}; uint32_t i; __HAL_RCC_GPIOH_CLK_ENABLE(); GPIO_InitStruct.Pin = GPIO_PIN_6 ; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); while(1){ for(i = 0; i < CPU_FREQUENCY; i++){ } HAL_GPIO_TogglePin(GPIOH, GPIO_PIN_6); } } I made my measurements using a logic analyzer connected to the pin in question. When I run the test on an STM32F7 target running at 200MHz, the pin status changes every second (which is the expected result). When I run
Hello: Looking for a BSDL file for a STM32MP135FAF7. Les
I am currently working on bringing up a production board design with the OSD32MP157C-512M-IAA. The board is by design very similar to the Octavo systems osd32mp1-red board and the USB part is very similar to ST STM32MP157-EVAL where VBUS pin in uUSB connector through a bead is connected directly to VBUS_OTG on PMIC and to OTG_VBUS on MPU. The board use I2C, SPI, CAN, GPIO's. If I without any power, plug the board in to my PC the board burn so PMIC VDD3V3_USB (LDO4) and VDD (Buck3) are shorted afterwards. I have found a solution that seems to work. The zero ohm resistor towards OTG_VBUS is changed to 10k and the pull-down is changed from 10k to 100k ohm (47+10k on EVAL board) then the board survive. I belive that the 5V try to lift all internal powerQuestion is: have anyone seen similar problem first of all on the EVAL board but also on your own design? And have you found other solutions or root cause to the problem?
Hello everyone,For some time I have been trying to launch at least some kind of browser on this platform, better than the one in the example with QtWebKitWidgets.Now I am trying to run Qt Kiosk Browser on my STM32MP157F-DK2 running OpenSTLinux Mickledore with EGLFS backend. It was compiled with: DISTRO=openstlinux-eglfs MACHINE=stm32mp1 source layers/meta-st/scripts/envsetup.sh Then this line IMAGE_INSTALL:append = " qt-kiosk-browser" was apppended at the end of conf/local.conf. In conf/bblayers.conf, after ${OEROOT}/layers/meta-openembedded/meta-perl \ I added this line: ${OEROOT}/layers/meta-openembedded/meta-python2 \ Then I installed g++-multilib on the host machine: sudo apt-get install g++-multilib And than bitbaked the entire image: bitbake st-example-image-qt The problem is that the browser starts, then I see a white screen for 5-10 seconds, then it terminates. The launching script is in the attached kiosk_sh.txt.
Hello, I'm trying modify device tree following this website :STM32MPU Developer Package - stm32mputhan now Im working on :meta-st-stm32mp/recipes-kernel/linux/linux-stm32mp/README.HOW_TO.txt at mickledore · STMicroelectronics/meta-st-stm32mp · GitHubMy problem is in the kernel source directory (STM32MPU-Ecosystem-v5.1.0/Developer-Package/stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/sources/arm-ostl-linux-gnueabi/linux-stm32mp-6.1.82-stm32mp-r2-r0$) I have 0001-v6.1-stm32mp-r2.patch linux-6.1.82.tar.xzbuild8 optional-fragment-05-signature.config optional-fragment-06-nosmp.config optional-fragment-07-efi.configfragment-03-systemd.config README.HOW_TO.txtfragment-04-modules.config &nbs
Hi!We are planning a product and have considered the STM32MP157 as a basis. Our test platform is the STM32MP157F-DK2 running a locally built Yocto Project image (openstlinux-eglfs distro, st-example-image-qt image) based on meta-st-stm32mp, meta-st-openstlinux, and meta-qt5 layers. The goal is to run a Qt application containing an OpenGL widget mixed with Qt UI elements at 60 Hz frame rate, but on a display bigger than the one shipped with the Discovery Kit.We are currently testing with two different 480x1280 panels with custom drivers. The displays are actually running at 60 Hz as confirmed by hardware measurements. We also see 60 frames with watch -n 2 "grep user_updates /sys/kernel/debug/dri/*/state" while running glmark2-es2-drm (for the first two benchmarks at least).This all seems good, still we are unable to achieve full frame rate with even the simplest Qt5 application (a plain QOpenGLWidget (showing a black screen) embedded into a QWidget, where the QOpenGLWidget gets update()
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.