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'm kind of stuck with my STM32MP157C custom board. In general, everything works fine except for the USB. I'm using the new Ecosystem 5 and using the USB OTG with the NCM Ethernet gadget. My USB has no ID pin wired and is in peripheral mode all the time.When the system has booted and I connect my device via USB to the PC, I get the following output, and the Ethernet connection works fine: dwc2 49000000.usb-otg: new device is high-speed [ 96.736784] dwc2 49000000.usb-otg: new address 42 [ 97.115268] IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready When I disconnect the device, I get no output at all, and also none when I reconnect. The connection then does not work in any way until I reboot. I think the system is not even recognizing the connection loss. But I don't know why. I use the script provided by ST (stm32_usbotg_eth_config.sh) for setting up the gadget, and I have tried all device tree configurations I found for STM32MP1 by now. I will attach
Hey there,I am trying to troubleshoot the following issue for quite some time now. I am working on an stm32mp157f based board attempting to enable a combination of stusb16xx and USB OTG . The behavior I am expecting to see is that when a usb device is connected to usbphyc_port1 (usb-c) it will get recognized in the same way as if it was on ehci but when a host device is connected to the same port I can trigger a gadget script in udev.rules. My current configuration works as expected for all gadget modes: typec: stusb1600@28 { compatible = "st,stusb1600"; reg = <0x28>; interrupts = <11 IRQ_TYPE_LEVEL_LOW>; interrupt-parent = <&gpioi>; vsys-supply = <&vdd_usb>; pinctrl-names = "default"; pinctrl-0 = <&stusb1600_pins_a>; status = "okay"; vdd-supply = <&vin>; typec_con: connector { compatible = "usb-c-connector"; label = "USB-C"; power-role = "dual"; data-role = "dual"; typec-power-opmode = "def
Hi there, I am working on an STM32MP157F-DK2 board and an STUSB1600 with hsotg gadget support and no PD controller. I am running a buildroot image with all the necessary drivers enabled including dwc2, SystemFS etc. The gadget is working as expected in most configurations. It can be hotplugged and get recognised with a high-speed unique address without any issues on several computers running windows or linux with a usb-c to usb-c cable . Recently I attempted to connect the board to a series of apple computers to test compatibility. I faced several unexpected behaviours during these tests. Apple Macbooks (Intel) will have a 50-50 chance of recognising the DK board as a peripheral. The rest of the times the DK is recognised as a charger and the MBP will start charging Apple Macbooks (M1) will still have a 50-50 chance of recognising the DK board as a peripheral but the rest of the gadget will not get recognised at all. Apple Mac Mini (M2) will not get
We recently launched a product on the STM32MP157C series to control iot devices. We're trying to do some R&D for matter and based on our testing should be at least testable on any system with a wifi chip. The trouble we are running into is there does not seem to be an easy way to integrate the [connecthomeip repo](https://github.com/project-chip/connectedhomeip) with the yocto build system for that chip. I naively tried to [base a recipe off of a different chipset](https://github.com/nxp-imx/meta-matter/blob/master/recipes-matter/matter/matter.bb), but I keep running into cross compiling build issues. Is anyone else trying to build any matter tools for the STM32MP1 and has any advice for acomplishing this in the yocto build system?
Good morning,I would like to know if I can disable the JTAG in the STM32MP1. Once my project is finished I do not want this interface to be active. Is there a way to disable the JTAG/SWD interface with registers/fuses/OTP?Kind regards,Andrés
Hi All,i am using stmp157 customize board, with linux yocto build system, and using USART1 configure as a hardware flow control RS 232, and RTO interrupt. and what i found is that CTSIF is not toggling and the proper status are not getting update on CTS from USART SR register. on plug and unplug the usart cable, i expect when unplug the cable i should get CTSIF event and the status of CTS line. where the USART1, tx, rx, rts, cts all are set to alternate function and i confirm the linux cflag in stm32-uart.c is true, which the cr3 reg- CTSE and RTSE got set. 1. unplug/ or removing any one of line, i do see still tx is sending the characters/frames,2. unplug and plug activity checking with or without other device, but i observe the USART cts line is toggling on the oscilloscope.3. but no interrupt is been observed on stm32_interrupt(irq, *ptr) - stm32-usart.c Has any one faced this issue on your board and fixed it please do let me know. Thank you.
i have download prebuild image en.flash-stm32mp1-openstlinux-6-1-yocto-mickledore-mp1-v23-06-21.tar.gzit working fine on my stm32mp135f-dk EVK. i want to add docker in it so need the build process of yocto image.Kindly guide me how to do it.
Hello, I'm trying to develop a SOM device with a STM32MP153AAB3 processor, I would like to use the 2BC CYW4373 chipset, since it's dual band wifi module. The reason why I want to use this chip is because I want to be able to use it as an Access point and STA at the same time (I want to connect to internet and deploy a webserver in a desire IP at the same time, for example 2.4GHz for AP and 5G for STA). The reason why would like a support in this topic is because I don't know if the brcmfmac driver is enough to perform in both modes at the same time. I also searched in the community to see if that is possible, I found this post in another forum: https://community.infineon.com/t5/Wi-Fi-Bluetooth-for-Linux/Issue-on-Wireless-AP-STA-mode-on-BCM43455/m-p/32968#M52 .The problem with the last post is that I'm not sure if I can apply that to the CYW4373, because the post is about another chipset.On the other hand, MuRata has a
Hello,I want to persist data in flash memory from the Cortex M4 program.I created a section in the linker file:.mySection 0x000000001002f000 : { KEEP(*(.mySection)) } >RAM1_dataSo i know where my data is in the RAM memory but i don't know how to write this data in flash memory so it can be persisted.I saw a lot of examples for other STM products that use function similar to this:void Write_Flash(uint8_t data) { HAL_FLASH_Unlock(); __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_PGSERR ); FLASH_Erase_Sector(FLASH_SECTOR_6, VOLTAGE_RANGE_3); HAL_FLASH_Program(TYPEPROGRAM_WORD, FlashAddress, data); HAL_FLASH_Lock(); }But i can't find the HAL library containing HAL_FLASH_XXXX function for the STM32mp1 series... Does this library exists?How can i save the data in the flash memory or somewhere that is persisted after a hardware reboot?Do i need to transfert data from M4 Core to A7 Core or does another solution exist
0Hi I am trying to write a c/c++ application which will excercise the Tx and Rx pins of the can interfaces (can0 and can1) available in the STM32MP157CAA.Approach One I wrote an application which opens a socket on can0 and then writes into the Tx of can0 receive the same bytes on the Rx of can0. And same for the can1. I followed the loopback mechanism described in the below ST wiki: https://wiki.st.com/stm32mpu/wiki/How_to_send_or_receive_CAN_data#Hardware_self-testThis works. But it turns out that the above loopback happens internally and doesn't actually send the packet through the Tx pin.Approach Two Now, I am thinking if I can physically connect the Tx of can0 with the Rx of can1 using a female to female connector, and then open two separate sockets for can0 and can1, write on the Tx of can0 and then try receiving on the Rx of can1 - should that work? I have given it a quick try but doesn't seem to be working.I am not sure technically if this approach is even valid.
Hi there, During OP-TEE integration of our custom platform based on STM32MP151C MPU I'm facing an issue with DFU. It looks like the dfu command stucks in `run_usb_dnl_gadget` inside the loop and waits forever for the flush flag: NOTICE: CPU: STM32MP151CAC Rev.ZNOTICE: Model: STMicroelectronics custom STM32CubeMX board (TF-A)INFO: Reset reason (0x15):INFO: Power-on Reset (rst_por)INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe2000INFO: FCONF: Reading firmware configuration information for: stm32mp_ioINFO: Using USBINFO: Instance 2INFO: Boot used partition fsbl1NOTICE: BL2: v2.6-stm32mp1-r1.0(debug):v2.6-dirtyNOTICE: BL2: Built : 13:14:26, Nov 23 2021INFO: BL2: Doing platform setupINFO: RAM: DDR3-DDR3L 16bits 533000KhzINFO: Memory size = 0x8000000 (128 MB)INFO: DFU USB START...INFO: phase ID :3, Manifestation 3 at c7159862INFO: Send detach requestINFO: Receive DFU DetachINFO: DFU USB STOP...INFO: BL2: Loading image id 31INFO: Loading image id=31 at address 0
Dears,I am able to compile Nx_WebServer demo. But when I try to run/debug it will halt.I read all notes in NetXDuo/Nx_WebServer/readme.html - the last chapter "How to use it ?"Open your preferred toolchainRebuild and run DDR_Init example to initialize the DDR memoryRebuild all files and load your image into target memoryFor STM32CubeIDE, in order to keep DDR initialized, please remove “monitor reset” line in “Debug Configurations->Startup>Initialization Commands”Run the applicationBut I end on red line - unable load image - Where could be problem ?I am able to compile and debug another aplication ftom STM32Cube_FW_MP13_V1.0 like UART, ADC examples withou error.Error in final launch sequence: Failed to execute MI command:target extended-remote localhost:3333 Error message from debugger back end:Remote communication error. Target disconnected.: (undocumented errno 10061).Failed to execute MI command:target extended-remote localhost:3333 Error message from debugger ba
I have an stm32mp153aab board with two sd card connections, they are identical except obviously one is connected to sdmmc1 pins and one to sdmmc2 pins. I have checked schematics and pinmux and everything looks good. sdmmc1 comes up in both uboot and linux. sdmmc2 doesn't come up at all. The card detect works but thats it. The device tree is identical for the two sdmmcs other than the card detect gpios and I have tried different cards. I'd appreciate any help on things to try. Do you have to have it in the uboot device tree for it to work in linux? And I have the mmc driven by hclk6 at the moment if that makes any difference.
I am trying to set up 3 ADC. I set PA4 to ADC1_INP18, PA5 to ADC2_INP19 and PF11 to ADC1_INP2. Will this be something that works? I am monitoring 3 lines (none NEED to be fast).I'm not clear on how to set this up. I am multiplexing several inputs onto these, all single ended. I'm not sure how we will read the data yet, timed, interrupt driven or polled. I am replacing a LPC3250 and re-implementing the functionality.
Freezes here at rcc setupLooking for rcc@50000000Looking for rcc@50000000- result for rcc@50000000: rcc@50000000 (ret=0)- result for rcc@50000000: rcc@50000000 (ret=0)stm32mp1_clk rcc@50000000: stm32mp1_clk_enable: id clock 151 haslog attached.Any suggestion where to look, what to change, what to try ?if needed, advise what files needed ? using 2 different ECO system folders with SDK and source files. One using CubeMX generated DT's and then adjusted with additional entries and one using DT's based on the eCO provided 157a-DK1 DT files with some changes. Exactly the same result. Discrete power, and discrete Crystal OSCs. Board runs ECO 1 fine.Adding the log of the tree using the CubeMX generated DTS.https://wiki.st.com/stm32mpu/wiki/Clock_overviewhttps://github.com/STMicroelectronics/linux/blob/v6.1-stm32mp/include/dt-bindings/clock/stm32mp1-clks.hshows#define UART4_K 151This is the UART debug output and 151 is the clock it crashes on. So perhaps the boot is continuin
Hi,I consider the boot option for our device. Normally we boot from qSPI EEPROM. STM32MP157 has an option to boot from SLC NAND. Does SLC NAND at STM32P157 have advantages in terms of read/write speed over qSPI? Thank you in advance!
This is a thread for your input how ST could improve providing known issues for example1. Update the WIKI2. Separate WIKI page,like this used on ST's Chinese website ?https://wiki.stmicroelectronics.cn/stm32mpu/wiki/Visual_troubleshooting_gridhttps://wiki.stmicroelectronics.cn/stm32mpu/wiki/Category:Troubleshooting_grids3 Github repo4. Discord..5. For cusomers, a function on website to submit known issues in specific format. ST can post in known issue WIKI ?etc...
We plan to design a stm32mp13x board equipped with 8MB psram using FMC interface as system RAM. It's going to be very slow but that's fine for our application, and standby power consumption is the topmost priority in this project. How should we deal with all DDR related pins, including both power and signal? Can all VDDQ_DDR and DDR_VREF pins be left floating? Or these power supplies is mandatory, at least a LDO with a few milliamperes output capability required? And how about all addr/data signal? I assume it is safe to left those pins floating but expect an official confirmation for assurance.
Hi there, I have started looking into writing a test program/script to test the functionality of the one of the SPI bus interface (which in the current board called SPI6). Now when I looked into the kernel (the below is the STM kernel we are using at the moment):# uname -a Linux buildroot 5.15.67 #1 SMP PREEMPT Tue Feb 6 16:12:01 GMT 2024 armv7l GNU/LinuxI can see the following: # ls -la /sys/bus/spi/devices/spi0.spi0.0/ spi0.1/ spi0.2/ spi0.3/ spi0.4/# ls -la /sys/class/spi_master/spispi0/ spi1/# ls -la /sys/class/spi_spi_master/ spi_slave/# ls -la /sys/class/spi_master/total 0drwxr-xr-x 2 root root 0 Feb 7 08:18 .drwxr-xr-x 58 root root 0 Feb 7 08:18 ..lrwxrwxrwx 1 root root 0 Feb 7 10:01 spi0 -> ../../devices/platform/soc/44004000.spi/spi_master/spi0lrwxrwxrwx 1 root root 0 Feb 7 10:01 spi1 -> ../../devices/platform/soc/5c001000.spi/spi_master/spi1# ls -la /sys/class/spi_slave/total 0drwxr-xr-x 2 root root 0 Feb 7 08:18 .drwxr-xr-x 58 root root 0 Feb 7 08:18 ..I chec
Which OS can be best compatible for STM32MP135F-DK processor? Is it feasible to use ubuntu or debian where I can use yocto build?
Please show me a working example of setting up the MMU for STM32MP157D-EV1. and where to place the Translation table correctly (for cortex A7)It is assumed that all data and program will be located in DDR memory, without using the OS
We're using the ST v5.0 eco-system and v.6.9 of STM32CubeMX.Per RNG internal peripheral - stm32mpu, the RNG1 peripheral should be a single choice assignment. When I click on A7S (OP-TEE), the tool warns me that it cannot be removed from the A7S context because it is required for this peripheral. But I can still select the A7NS checkbox. We had the A7NS selected from our previous ioc file (working without OP-TEE in eco-system 4.1).This generates code that assigns the RNG1 to the A7NS in etzpc:DECPROT(STM32MP1_ETZPC_RNG1_ID, DECPROT_NS_RW, DECPROT_UNLOCK)and includes nodes in the u-boot and kernel dts: &rng1{ status = "okay"; /* USER CODE BEGIN rng1 */ /* USER CODE END rng1 */ }; This resulted in errors generated when booting Linux due to both op-tee and stm32 rng drivers being probed and the op-tee driver failing: [ 0.203070] (NULL device *): TA_CMD_GET_ENTROPY invoke err: ffff000a [ 0.203158] optee-rng optee-ta-ab7a617c-b8e7-4d8f-8301-d09b61036b64: TA_CMD_
Hi,I have a problem in running graphics/image in STM32MP1 custom board.I'm working with STM32MP1 custom board & trying to bring up ST7701 display.I couldnt see kmscube running instead of a white screen.modetest command shows proper colour bar as attached.But running flutter shows elongated picture rather than expected one. both are attached.attached are my dtb snippet & driver file for reference. BR,Anantha R
Hello, I'm trying to boot my EVAL board with the images from STM32MP1 Starter package version 5.0.0.I created a "raw" image from flashlayout_st-image-weston/optee/FlashLayout_sdcard_stm32mp157c-ev1-optee.tsv and flashed it to microSD card using "dd".When I'm trying to boot from microSD, the following message is displayed: PANIC at PC : 0x2ffeff2d Exception mode=0x00000016 at: 0x2ffeff2d I tried different SD cards, and FlashLayout_sdcard_stm32mp157a-ev1-optee.tsv, with no avail.What I'm doing wrong?I have older images from FLASH-stm32mp1-boards-revb-openstlinux-4.14-rocko-mp1-18-11-26.tar.xz, they boot just fine. Detailed specs of my STM32MP157x-EV1 board below:Motherboard: label "MB1262C-01 ES", serial number 2181500042Processor Module: label "MB1263B-01 ES", serial number 21815000027, ES2MP157CAAE chip. Any help will be appreciated. Regards,Sergei
DearsI can only start this example in Debug mode, the BLUE led start blinking... So it works OK.But If I try to use RUN command (using icon, or right mouse click on project file) than it seems not work (RED leds blinks only ONE and is OFF, Blue LED is also OFF)in project readme.txt is written only:"In order to make the program work, you must do the following :- Open your preferred toolchain- Rebuild all files and load your image into target memory- Run the example"Can anyone help me what I am doing wrong ?Best RegardsRadim
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.