Get ready for the STM32 Summit 2026 | Online, November 3
Ask questions and find answers on STM32 microprocessors, including hardware, power, DRAM, flashing, interfacing, device tree, and peripherals.
Most recent activity
I am working with an STM32MP157d-dk1 board, but am trying to make my own MVP board running yocto on the STM32MP157 chip and have questions concerning the use of the debug console.I believe the debugging console for the dev board runs via uart4, and in the schematic of the dev board, I can see that uart4 is relayed through the on-board stm32f103 stlink mcu.Is there a need to run the uart via a separate mcu, or can I route uart4 so that I may access it directly on my own board?Where is uart4 configured to capture stdin/stdout etc? I can see in the linux device tree that uart4 is the only uart having "status = "okay";", but where is the configuration made for stream capture, baud rate, etc.?
Hi,I want to configure the LED7 of stm32mp157f-dk2, in arc/arm/boot/dts folder there are stm32mp157f-dk2.dts and stm32mp157f-dk2.dtb file, I cannot edit .dts file since it appears as an audio file and not the text file.so I edited the stm32mp15xx-dxx.dtsi file, to add PH7 pin of LED7 as belowled {compatible = "gpio-leds";led-blue {label = "heartbeat";gpios = <&gpiod 11 GPIO_ACTIVE_HIGH>;linux,default-trigger = "heartbeat";default-state = "off";};led-orange {label = "None";gpios = <&gpioh 7 GPIO_ACTIVE_HIGH>;linux,default-trigger = "none";default-state = "off";};};How can i get the updated .dtb file.?After getting the updated .dtb file just replacing the .dtb file in board is enough? Kindly help me as i am new to this MPU.
Hi!I am using the stm32mp157C-DK2 board to communicate via FDCAN and my idea is to use it as normal mode to send and receive CAN messages. For this I have created a program in stm32cubeide and I enable FDCAN1 with the following parameters (125Kb/s): hfdcan1.Instance = FDCAN1; hfdcan1.Init.FrameFormat = FDCAN_FRAME_CLASSIC; hfdcan1.Init.Mode = FDCAN_MODE_NORMAL; hfdcan1.Init.AutoRetransmission = ENABLE; hfdcan1.Init.TransmitPause = DISABLE; hfdcan1.Init.ProtocolException = DISABLE; hfdcan1.Init.NominalPrescaler = 8; hfdcan1.Init.NominalSyncJumpWidth = 3; hfdcan1.Init.NominalTimeSeg1 = 20; hfdcan1.Init.NominalTimeSeg2 = 3; hfdcan1.Init.DataPrescaler = 16; hfdcan1.Init.DataSyncJumpWidth = 6; hfdcan1.Init.DataTimeSeg1 = 5; hfdcan1.Init.DataTimeSeg2 = 6; hfdcan1.Init.MessageRAMOffset = 0; hfdcan1.Init.StdFiltersNbr = 1; hfdcan1.Init.ExtFiltersNbr = 0; hfdcan1.Init.RxFifo0ElmtsNbr = 1; hfdcan1.Init
Hi,First of all, I am sure I am completely overlooking something, but I can´t seem to figure this out:In CubeIDE I added the FDCAN1 peripheral for my STM32MP157D-DK1 board. I then added the device tree to the build. However, when the board has booted up, and I type: dmesg | grep m_can, I get the message:m_can_platform 4400e000.can: no clock foundIt therefore seems that no clock has been enabled for this peripheral. How can I enable the clock?Thanks!Michel
I can not find any 8 gigabit memory for the STM32MP157CAA3 What I have found is double the price of the processor! IS46TR16512BL ISSI and Micron ECF840AAACN-C1-Y3I was looking for 256X32 memory but gave up, found some 512X16 but this puts the the cost three times the napkin estimate, instead of $10 for memory it is $30, and that's if it is available !
Hello,I am working on a custom board based on STM32MP157A . For USBPHYC i am referring the driver from Linux(V5.13) and some of the registers like STM32_USBPHYC_MONITOR mentioned in the driver file are missing in the reference manual (RM0436).So i just wanted to know is it the only register missing in the reference manual (or) are there any other registers missing .If yes, could you help me in finding those registers with their offset addresses and their functionality or suggest me the actual reference manual. please find the below attached link for the driver file i am using : https://elixir.bootlin.com/linux/v5.13/source/drivers/phy/st/phy-stm32-usbphyc.c Thanks&Regards,Srikanth.
Hello to allIs there an example of Interrupt handling in user space?I need to handle external interrupt's in Qt.thanks for your help
Hello,I am working on a custom board based on STM32MP157A and I am getting all the bits correctly but getting values at reserved bits in USBPHYC version register (Internal) which are supposed to be reserved as per the reference manual.Below mentioned screenshots contains :1.Register from reference manual:2.Below attached image contains values I am getting when reading the register: And I am confused on how to move forward with usbphy.I hope someone could help me with the problemThanks&RegardsSrikanth
All,I am currently working on a project using the STM32MP157C-DK2 Board.I am implementing the intra-processor communication using the OpenAMP lib.I am using the STM32CubeMX tool to pre-generate the project for the cortex-M.However, I can't find the setting to enable the virtual uart driver.As a result, each time I generate source code with the CubeMX tool, the openamp_conf.h file gets overwriting and so does the VIRTUAL_UART_MODULE_ENABLED macro.That's very annoying and frustrating because the OpenAMP_FreeRTOS_echo_CM4 demo project looks like having been generated with CubeMX and does have the virtual uart enable.I would expect to find such setting in the Middleware and Software Packs tab under OpenAMP or under the Connectivity tab in CubeMX, but it looks like it isn't there.Can someone enlighten me on how to do such a thing?Thanks in advance, Regards
Hi Team,We use STM32MP13x with Murata 2BC (CYW4373 chipset).Please let me know if WPA3 enterprise (especially 192 bit security) is supported by STM32MP1 Linux driver for Murata 2BC(CYW4373 chipset). Best Regards,Tsutsumi
Hi Team, I am new to STM32MP133CAF3 processor. I want to configure two gpio's as outputs in my Device tree source file. My pin numbers- > PE5 -> high & output_1-> PB0 -> high & output_2 These two pins I want to configure it. Could you please help me on this. Regards,
Not sure where to put it so I'll put it here. It looks like the "Perform an SSH Connection" document is out of date (unless this is referring to another process). According to the page, you SSH with:ssh root@10.48.1.172https://wiki.st.com/stm32mpu/wiki/How_to_perform_ssh_connectionIt looks like it's changed so now you SSH with:ssh root@192.168.7.1Not sure if it helps but thought I'd throw it out there all the same
Hi, On STM32MP1, what is voltage threshold for boot pins to be detected as 0 and 1 in digital?Will 0.61V be detected as 0? I research seem under 1.23V will be 0 and start from 1.88 or higher will be detected as 1 (if VDD = 3.3) but I am not sure this is applied for all STM32 or not. Many thanks.
Hi I am using STM32mp157-DK2 for the first time.I am trying out the section Modify, rebuild and reload the linux kernel which is described in following linkhttps://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP157x-DK2/Develop_on_Arm%C2%AE_Cortex%C2%AE-A7/Modify,_rebuild_and_reload_the_Linux%C2%AE_kernelI was able to build the Kernel successfully, but while transferring the files to the board, it fails the below command scp arch/arm/boot/dts/stm32mp1xx*.dtb root@<board ip address>:/bootwith following result stm32mp1xx*.dtb: No such file or directory. I checked the directory, and did not find any files with stm32mp1xx.Kindly help me out to resolve thisRegards
Hi, I would like to integrate the STPM4RasPI with MP135F-dk. After following the https://wiki.st.com/stm32mpu/wiki/STPM4RasPI_expansion_board tutorial, I am receiving an error. Driver is enabled:STPM4RasPI module is properly attached. Do you have any possible solutions? Best,Jacek
hi ST communityi am new to STM32MP1 and linux i want to attach external devices to STM32MP146 with FMCi read a wiki about FMC device tree configruation and linux/Documentation/devicetree/bindings/memory-controllers/ st,stm32-fmc2-ebi.yamli have some questions there is a description about reg in st,stm32-fmc2-ebi.yaml" properties:reg:description: Bank number, base address and size of the device."what does base address mean ? does that mean that Bank start address + base address is physical address which is seen at device ?and the wiki shows example psram@0,0 { compatible = "mtd-ram"; reg = <0 0x00000000 0x100000>;that means psram start CS0's start address + 0x00000000 ?if i chage 0x00000000 to 0x1000 then is physical start addresss " CS0's start+ 0x10000 " ?and another question if reg property has two va
Hello! I'm trying to figure out if the M4 has the ability to put the A7 to sleep but haven't quite figured out how to get the info from the M4 to the A7 at this time. I've been going through the forums and the Ecosystem V5 page and haven't had much luck. There's an example of how to put the A7 (and M4) into different sleep modes via the command line, I can see examples of sending a string to the A7 over the virtual UART/OPENAMP, but I haven't seen an example that is able to place the A7 in sleep mode from the A4. The core issue might be my understanding on how the A7 handles commands it's received (from the M4 or from the command line). With the M4 code, I can see what code is being executed and where, I haven't quite seen that on the A7 (not sure where this code might be configured for viewing). I assume the example projects are designed for the starter version of the code and the command line and there are pre-configured scripts setup in it to be abl
Hi,I am using a STM32MP157f-DK2 platform with Linux distribution software downloaded from ST download link for the platform. Can you please help to understand what is the interrupt that CPU will get when a data block is read from the SD card? Is it SDMMC Global interrupt or some DMA interrupt? I thought it would be SDMMC global interrupt, and then CPU need to read SDMMC registers to find out what is the actual cause of the interrupt. Not sure if this is the correct understand. Can you please help to clarify or point me to some document or code path for this. Regards,debashis
Hello everyone, I am trying to run examples of the new STM32CubeMP13 repository. Unfortunately, without any success, The flash procedure always breaks with an error (please see the attachments below). Nevertheless, it is possible to finish. After that, the SD card remains empty. Did you encounter similar difficulties? I am trying to run: https://github.com/STMicroelectronics/STM32CubeMP13/tree/main/Projects/STM32MP135C-DK/External_Loader/SD_Ext_Loader
Trying to merge a custom stm32mp153c board to the new BSP (6.1-yocto-mickledore), OP-TEE panics: F/TC:0 0 probe_driver_node:391 Probing stm32mp1-cpu-opp on node cpu0-opp-table F/TC:0 0 get_supply_phandle:114 cpu: supplied by 4 F/TC:0 0 __clk_enable:1174 Clock 140 has been enabled F/TC:0 0 __clk_disable:1187 Clock 140 has been disabled F/TC:0 0 pmic_get_voltage:220 buck1: get volt F/TC:0 0 __clk_enable:1174 Clock 140 has been enabled F/TC:0 0 __clk_disable:1187 Clock 140 has been disabled F/TC:0 0 __clk_enable:1174 Clock 140 has been enabled F/TC:0 0 __clk_disable:1187 Clock 140 has been disabled D/TC:0 0 stm32_bsec_find_otp_in_nvmem_layout:644 nvmem part_number_otp = 1: 1 bit offset: 0, length: 8 D/TC:0 0 stm32mp1_cpu_opp_get_dt_subnode:291 Found OPP 0 (650000kHz/1200mV) from DT F/TC:0 0 regulator_set_voltage:299 buck1 1200mV F/TC:0 0 __clk_enable:1174 Clock 140 has been enabled F/TC:0 0 __clk_disable:1187 Clock 140 has been disabled F/TC:0 0 pmic_set_voltage:233 buck1: set volt F
Hello, I am working on STM32MP135-dk board.i am running make command but its not working, it shows fatal error: XDisplayInfoHeader.h: No such file or directory, this error. How to solve it ? i am sharing some screenshots below.
I have a simple recipes, which used to install certain files to rootfs, as below:DESCRIPTION = "A hello world example"SECTION = "appauto"DEPENDS = ""LICENSE = "CLOSED"FILESEXTRAPATHS:append := ":${THISDIR}/file"SRC_URI = "file://hello.service \"do_install() {install -d ${D}${systemd_unitdir}/systeminstall -m 0644 ${WORKDIR}/hello.service ${D}${systemd_unitdir}/system}FILES_${PN} += "${systemd_unitdir}/system"When bitbake this recipes, it will generate error message as:NOTE: Executing TasksERROR: appauto-1.0-r0 do_package: QA Issue: appauto: Files/directories were installed but not shipped in any package:/lib/lib/systemd/lib/systemd/system/lib/systemd/system/hello.servicePlease set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.However, if I change directories installation variables from "systemd_unitdir" to "base_bindir", then everything is OK.Then I try many different directory variable, then I see "
Hello all,I currently have to deal with a display which has an inactive zone in the middle. Its "interface" resolution is 540x1280px, but the 140px columns in the middle are not connected to the screen. That is, the display is of 400x1280px of resolution but the whole 540 columns have to be provided through its interface. In order to display a 400x1280px image, I need to split it into two 200x1280px regions and send them with the dead zone in the middle.Here is a diagram about how this is working (active are in red):I wonder if there is a way to use the LTDC peripheral to do this in an efficient way. I am thinking about using layers and/or windows to achieve this. Currently I am using QT to generate the content on-screen.Does anybody have a clue on how to deal with this kind of component?Thank you very much in advance!
I am trying to setup the developer package on my system and had an issue with the following line when going through the README.HOW_TO.txt file in the developer package:$ make ARCH=arm O="${OUTPUT_BUILD_DIR}" multi_v7_defconfig fragment*.config make: *** No rule to make target 'multi_v7_defconfig'. Stop.For context, it had me do the following to prepare the kernel source (to apply the patches to the kernal source directory, ~/STM32MPU-Ecosystem-v5.0.0/Developer-Package/stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/sources/arm-ostl-linux-gnueabi/linux-stm32mp-6.1.28-stm32mp-r1-r0:(tar xf linux-6.1.28.tar.xz cd linux-6.1.28 for p in `ls -1 ../*.patch`; do patch -p1 < $p; doneThis had no issues and had me move on to section 5 which had me run the following from the same folder (~/STM32MPU-Ecosystem-v5.0.0/Developer-Package/stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/sources/arm-ostl-linux-gnueabi/linux-stm32mp-6.1.28-stm32mp-r1-r0, maybe that is the source of the i
We are using Murata LBEE5HY1MW WiFi/BT module with a STM32MP157F based custom board, running OSD32MP1 Debian SDK v3.0 (Linux Kernel v5.10-stm32mp)LBEE5HY1MW module is connected to STM32MP157F via sdmmc3 (WiFi) and usart2 (Bluetooth) interface.Due to some limitations, we have to set the IO voltage to 3.3V (we can not use 1.8V on board).We are not getting the recommended throughput when we run WiFi throughput tests via iperf3.On average we got ...5GHz throughput around 40 Mbits/sec2.4GHz throughput around 30 Mbits/secWe tried different configurations but the WiFi throughput does not go beyond 54Mbps.The command wl status returns that the supported rate is 54Mbps at most.We tried changing the sdio bus speed parameter in device tree to different values (SDR104, SDR50, DDR50), but it has no effect, sdio bus speed remains fixed at 49.5 MHz and DDR52. Not sure if this is due to 3.3v supply.Below are some of the commands showing wifi status followed by Kernel device-tree excerp
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.