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 modified the device tree by a patch to disable HW flow control. It seems the port is still working as expected. Why are the pins grouped by 'pins1' ... 'pinsN'? Is this just to apply the same settings to these pins?Why can I remove some pins and RX is still RX and TX is still TX and not shifted because I removed an entry? How is this detected by the driver?Here is my patch:usart2_pins_c: usart2-2 { pins1 { - pinmux = <STM32_PINMUX('D', 5, AF7)>, /* USART2_TX */ - <STM32_PINMUX('D', 4, AF7)>; /* USART2_RTS */ + pinmux = <STM32_PINMUX('D', 5, AF7)>; /* USART2_TX */ bias-disable; drive-push-pull; slew-rate = <3>; }; pins2 { - pinmux = <STM32_PINMUX('D', 6, AF7)>, /* USART2_RX */ - <STM32_PINMUX('D', 3, AF7)>; /* USART2_CTS_NSS */ + pinmux = <STM32_PINMUX('D', 6, AF7)>; /* USART2_RX */ bias-disable; }; };
dimensions are the most important thing and the ability to be chassis mountable. the resolution isn't as important but better resolutions wont hurt
Hi,We are using stm32mp157a-dk1 board. In this when we boot Cortex-M4 code with rproc commands in uboot, cortex-M4 is running.We are using stm32mp157aaa3 processor in my custom board. When we are trying to boot Cortex-M4 in Uboot with rproc commands. It is not running.When we give rproc init commands we are getting Remote Processors are alread Intialized message on Console.When we give rproc load command we are getting load failed message on console.Note:Cortex-M4 is running individually with Jtag and QSPI boot.How can i boot Cortex-M4 in Uboot With Rproc commands?You can find in below Attachment for rproc Commands in my custom board.Please help us in this reagrds.
How do I change the pin for the u-boot-stm32mp programmer mode at boot up?
Hi, community.I am trying the SD UHS-I mode on your evaluation board(STM32MP157F-EV1), but it does not work.Q1. Does HAL support UHS-I?Q2. Is it necessary to enable SDMMC_CLKCR_SELCLKRX_1? (when using STM32MP157F-EV1 board)Q3. What is the reason why it works in 1Bit mode but not in 4Bit mode?Additional InformationEvaluation board: STM32MP157F-EV1HAL library: STM32MP1xx HAL Driver(v1.5)File system: FatFs(exFat)Port used: SDMMC1CPU: Cortex A7RTOS: No (Baremetal) Not use OpenSTLinuxSDMMC1 clock source: PLL4 (100MHz)Instance = SDMMC1ClockEdge = FallingClockPowerSave = EnableHardwaraFlowControl = EnableBusWide = 1Bit or 4BitClockDiv = 1 (50MHz)UHS-I Speed Mode = SDR25HAL Customization#define USE_SD_TRANSCEIVER (1)#define USE_SD_DIRPOLBest regards,
The startup file is generated only once if I generate for the very first time.Where is information stored that file has to be generated?I am using STM32CubeMX version 6.6.1.
..
We need to enable/disable pwr_sw1 and pwr_sw1 preferably via sysfs:vdd_usb_sw: pwr_sw1 { regulator-name = "vdd_usb_sw"; }; vdd_sd_sw: pwr_sw2 { regulator-name = "vdd_sd_sw"; regulator-always-on; regulator-boot-on; regulator-active-discharge = <1>; };How can we achieve this?
I want to create my own distro for OpenSTLinux but it seems like the envsetup.sh file is dependent on the distro.conf file being located in the meta-st directory. This is a little hard because I am trying to not modify the meta-st layer but am trying to build on it. What would be the best way to create my own distro.conf file that is usable by the envsetup.sh but storable in another layer. I am using a hardlink pointing to the other layer for now.https://wiki.st.com/stm32mpu/wiki/How_to_create_your_own_distribution
Hi everyone,I'm trying to optimize the boot time of tf-a with Yocto but don't find much information on the web. Currently tf-a takes about 1s from the point in which it is read from NOR to the point it loads UBoot from same NOR. I optimized the Linux kernel to take about 1.5s to boot (no ethernet) so the tf-a boot time has now an important weight in the whole boot time of the system.There is this link which explains how to set some compiler flags while compiling tf-a without Yocto but didn't find the equivalent flags in Yocto.$ make STM32MP1_DEBUG_ENABLE=0 \ STM32MP1_UART_PROGRAMMER=0 \ STM32MP1_USB=0 \ STM32MP1_QSPI_NOR=0 \ STM32MP1_QSPI_NAND=0 \ STM32MP_FMC_NAND=1 \ STM32MP_EMMC=0 \ STM32MP_SDMMC=0 \ …As I'm booting from NOR, I trying setting the following in a bbappend:TF_A_EXTRACONF_LEGACY=" STM32MP_SDMMC=0 STM32MP_EMMC=0 STM32MP_SPI_NOR=1 STM32MP_RAW_NAND=0 STM32MP_SPI_NAND=0 STM32MP_USE_STM32IMAGE=1"But neither the size not the boot time of tf-a improved. The only Yocto f
When I run bitbake openocd-stm32mp-native I get an issue baking the application but when I run bitbake openocd-stm32mp it works fine. Any thoughts why this might be?Edit: I was porting my layer from dunfel to kirkstone and I wasn't importing the open-st-linux.inc file. It had since changed to require the uninative support. Adding that to my machine config got it to work correctly.
Hi its me again,I'm told that i need to use SX1280 Transceiver with a STM32MP157A-DK1 (using ARM Cortex A-7 coding in C/C++) for SPI connection, im gonna take that SPI data and save it into a .txt file. Saving it into txt file is the easy, right now i can write given pre-made string into a txt file and save it on the Board. But i actually dont understands how to access/use SPI. i've looked and made some research about SPI in these sites and many more:https://www.semtech.com/products/wireless-rf/24-ghz-transceivers/sx1280 (the transmitter)https://www.analog.com/en/analog-dialogue/articles/introduction-to-spi-interface.html#https://www.kernel.org/doc/Documentation/spi/spi-summarythen i was told that if im gonna use this transmitter then i need to use this driver in my project:https://github.com/YukiWorkshop/sx128x_linux_driverwhich is the real confusing part for me, i can't managed to use this driver. It has some example codes in it (the Test.cpp) but i cant build them and i got several
Hi! I am using STM32MP157C-DK2 board to create an application on the screen (using GTK library). My idea is to create a window with the following image inside:Created code:#include <gtk/gtk.h> int main(int argc, char **argv) { GtkWidget *window; GtkWidget *layout; GtkWidget *image; GtkWidget *button; gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size (GTK_WINDOW (window), 800, 480); gtk_window_set_title (GTK_WINDOW (window), "Info window"); // gtk_window_fullscreen(GTK_WINDOW(window)); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); layout = gtk_layout_new(NULL, NULL); gtk_container_add(GTK_CONTAINER (window), layout); gtk_widget_show(layout); image = gtk_image_new_from_file("linux.png"); gtk_layout_put(GTK_LAYOUT(layout), image, 600, 50); button = gtk_button_new_with_label("PREVIOUS"); gtk_layout_put(GTK_LAYOUT(layout), button, 150, 300); gtk_widget
Hello,We are using STM32MP157A.We are working on IPCC from A7-0,A7-1 to M4.We are getting IPCC interrupt A7-1 to M4,But when we are not getting interrupt from A7-0 to M4.In cubeMx it is showing NVIC to IPCC RX1 and TX1, but not showing to RX0,TX0.we are using CubeMX 6.3.0 and firmware version is STM32Cube_FW_MP1_V1.4.0.But in reference manual showing IPCC_RX0,IPCC_TX0 these interrupts are available. in our application we need interrupts both A7_0 ,A7_1 processors to M4 controller.please help us in this regards.regardssrikanth
I have the following DTS file and I have not been able to get the GPIO external interrupt working correctly. I have read this document on interrupt overviews, and tried to enable the EXTI to have control of the GPIOB pin 12. /dts-v1/; #include "stm32mp157.dtsi" #include "stm32mp15xa.dtsi" #include "stm32mp15-pinctrl.dtsi" #include "stm32mp15xxac-pinctrl.dtsi" #include "stm32mp15xx-dkx.dtsi" / { model = "STMicroelectronics STM32MP157A-DK1 Discovery Board"; compatible = "st,stm32mp157a-dk1", "st,stm32mp157"; chosen { stdout-path = "serial0:115200n8"; }; button { compatible = "test,button"; input-gpios = <&gpiob 12 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; //Works with pull-up once the driver is loaded. interrupts-extended = <&gpiob 12 IRQ_TYPE_EDGE_FALLING>; interrupt-names = "qwerty"; status = "okay"; }; led { extern-led { compatible = "test,led"; gpios = <&gpiob 10 GPIO_ACTIVE_HIGH>; linux
On ecosystem 4.1 and git version 2.39.1 there is an error when you do devtool modify tf-a-stm32mp and bitbake tf-a-stm32mp. The error is Command '['git', 'submodule--helper', 'list']' returned non-zero exit status 128. After a bit of searching there is a patch that needs to get applied in order for it to work since that git version no longer supports that command. Patch is located at https://git.yoctoproject.org/poky/commit/?id=0533edac277080e1bd130c14df0cbac61ba01a0c . Maybe that can get patched in?
Hello,I am using the stm32mp157c-ev1 board. I used this guide from digi-key to install debian on it (Debian: Getting Started with the STM32MP157), except in the parts where it says stm32mp157c-dk2 i replaced that with the appropriate '-ev1' suffix. I have also followed the same guide on discovery kit 2 board and it worked without issue.The problem is that when I try to boot from the board via the UART4 through minicom, while everything looks to be booting correctly (minus this error: *ERROR* failed to attach bridge /soc/dsi@5a000000 to encoder DPI-31: -517). Meaning that it shows me the login prompt, however i cannot enter anything. I tried connecting a keyboard to the board and it still does not seem to receive any input.Trying to connect via the st-link is even stranger as it shows me no output at all (even though CubeIDE is able to detect the ST-LINK S/N via the debugger). I have even done the ST-LINK upgrade from CubeIDE.OUTPUT:NOTICE: CPU: STM32MP157CAA Rev.B NOTICE: Model: STMicr
I would like to set the low-power timer as wake up source to wake up the Linux from sleep mode with some periodic time, let's see every 5 minutes. All I have found is pwm and counter examples here: https://wiki.st.com/stm32mpu/wiki/LPTIM_device_tree_configuration
Hi,We are using stm32mp157a processor in our custom board. In Stm32mp157a-Dk1 board i am able to run Cortex-M4 code in uboot using rproc commands Cortex-M4 is working fine. Where as in my custom board I followed the same sequence but Cortex-M4 is not booting. What is the issue. Do i need to modify any configuration in uboot regarding rproc? I refereed 3.1 chapter in following link.https://wiki.st.com/stm32mpu/wiki/How_to_start_the_coprocessor_from_the_bootloader
Welcome, why for STM32MP157FAA1 at "STM32MP1 Series DDR memory routing guidelines examples" there is no terminating resistors?
we are developing the application by using STM32MP1 processor in bare metal.we are able to wake up Cortex A7-1 from Cortex A7-0 both are working fine. Now we tried to wake up Cortex M4 from Cortex A7-0,But we are unable to wakeup Cortex M4 from Cortex A7-0.Individually Cortex M4 is working fine with JTAG .and we can able to wake up Cortex M4 from UBOOT By using RPROC commands . But in our application we need to wake up Cortex M4 from cortex A7-0 in bare metal. Can you give the sequence of waking up cortex-m4 from Cortex-A7-0 in Bare metal.So please help us in this.
Using the KMS/DRM driver, how can I change the emulated framebuffer format? I'm using simple-panel and the framebuffer has always only 16-bit color even though the driver explicit sets the format for 24-bit colors (.bus_format = MEDIA_BUS_FMT_RGB888_1X24). fbset doesn't work:fbset -g 800 480 800 480 24 fbset: FBIOPUT_VSCREENINFO: Invalid argumentmodetestmodetest -M stm Encoders: id crtc type possible crtcs possible clones 32 38 DPI 0x00000001 0x00000001 Connectors: id encoder status name size (mm) modes encoders 33 32 connected DPI-1 154x86 1 32 modes: index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot #0 800x480 57.29 800 1010 1011 1057 480 503 523 545 33000 flags: ; type: preferred, driver props: 1 EDID: flags: immutable blob blobs: value: 2 DPMS: flags: enum enums: On=0 Standby=1 Suspend=2 Off=3 value: 0 5 link-status: flags: enum enums: Good=0 Bad=1 value: 0 6 non-desktop: flags: immutable range values: 0 1 value: 0 4 TILE: flags: immu
When using DCMI camera capture and at the same time play or record audio, there is bad interference in the camera picture. I'm using Linux and ALSA libraries in a platform based on STM32MP157C. Maybe some DMA problem ? The audio is using SAI as with the STM32MP157C-DK2 board.
hi,i would like to be able to control the pmic from user space. everything that i have read in the stm documentation indicates that it is not possible to do this. the sysfs interface is read only. i would like to be able to access the consumer driver interface from user space. or, make the sysfs interface writeable. is it possible to do one of these items or something else?thanks,vince
I've tried following the examples given here and here, but it will not work. I just want to enable a pull up resistor in the DTS file. Here is my DTS file. If anyone can please tell me why it's not working I would appreciate it. /dts-v1/; #include "stm32mp157.dtsi" #include "stm32mp15xa.dtsi" #include "stm32mp15-pinctrl.dtsi" #include "stm32mp15xxac-pinctrl.dtsi" #include "stm32mp15xx-dkx.dtsi" &pinctrl { button_pins_a: button-0 { pins { pinmux = <STM32_PINMUX('B', 12, GPIO)>; bias-pull-up; }; }; }; / { model = "STMicroelectronics STM32MP157A-DK1 Discovery Board"; compatible = "st,stm32mp157a-dk1", "st,stm32mp157"; chosen { stdout-path = "serial0:115200n8"; }; button { compatible = "test,button"; pinctrl-names="default"; pinctrl-0 = <&button_pins_a>; status = "okay"; }; led { extern-led { compatible = "test,led"; gpios = <&gpiob 10 GPIO_ACTIVE_HIGH>; linux,default-trigger = "cpu";
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.