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'm tyring to compile a single C++ file using by right clicking on the file and selecting the 'Build Selected File(s)' option from the pop up menu. when i sue this option i get the following error:7:32:19 **** Building Selected Files of configuration Debug for project NearEGSoftware ****Info: Internal Builder is used for build$(CXX) ../DeviceAbstractionLayer/ASICLibraries/cqpi30lib/src/CQPI30DataUpload.cpp -std=gnu++14 -g3 -c -Og -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-threadsafe-statics -fno-use-cxa-atexit -Wall -fstack-usage -o DeviceAbstractionLayer/ASICLibraries/cqpi30lib/src/CQPI30DataUpload.o Cannot run program "$(CXX)": Unknown reasonError: Program "$(CXX)" not found in PATHPATH=[/opt/st/stm32cubeide_1.6.0/plugins/com.st.stm32cube.ide.mpu.linux.toolchain_2.0.0.202105061257/tools/bin:/opt/st/stm32cubeide_1.6.0/plugins/com.st.stm32cube.ide.mcu.externaltools.make.linux64_2.0.0.202105311346/tools/bin:/sbin:/bin:/usr/bin:/usr/local/bin:/snap/bin]where do i
I am using OSD32MP1 (based on STM32MP157c) in Production Mode with OpenSTLinux on Core A7 and FreeRTOS on M4. One of the tasks is to timestamp ADC data acquired by M4 at very highspeed, very precisely (think it order of nanosecond to microsecond). Note that only time difference between measurements is important.On-chip RTC is available (it is assigned to A7 but registers are accessible to M4). However the subsecond precision is ~0.003s (PREDIV_S is 255 - See Reference Manual for Detail) so it is not good enough. This, this and this stackoverflow posts led to using DWT_CYCCNT i.e., CPU Cycle Counter to measure the time time difference. Relevant portions of the code is as following: On M4 Side:typedef struct tTimeStamp { uint32_t nCPUFreq; uint32_t nCPUCycles; ... }tTimeStamp; ... tTimeStamp oTimeStamp; ... oTimeStamp.nCPUCycles = DWT->CYCCNT; oTimeStamp.nCPUFreq = HAL_RCC_GetSystemCoreClockFreq();The last 2 statements runs inside the FreeRTOS task
i have read the article, https://wiki.st.com/stm32mpu/wiki/How_to_start_the_coprocessor_from_the_bootloader#Starting_the_coprocessor_firmwarewhere will i find this in my device tree#define CONFIG_EXTRA_ENV_SETTINGS \ "stdin=serial\0" \ "stdout=serial\0" \ "stderr=serial\0" \ ... BOOTENV \ "m4fw_name=rproc-m4-fw.elf\0" \ "m4fw_addr=${kernel_addr_r}\0" \ "boot_m4fw=rproc init; rproc load 0 ${m4fw_addr} ${filesize}; rproc start 0\0" \ "boot_m4_mmc0=if ext4load mmc 0:4 ${m4fw_addr} ${m4fw_name} ; then run boot_m4fw; fi;\0" "bootcmd=run boot_m4_mmc0; run bootcmd_mmc0\0"
Hello guys.I have configured ethernet on STM32MP157F using Microchip's LAN8720AI-CP.I base my image on st-image-core of Distribution Package. And dts is configured using CubeMX(meta-st-stm32mp-addons).Currently, it appears as if ethernet is connected as shown in the picture below.[ 0.000000] psci: probing for conduit method from DT. [ 1.235904] usbcore: registered new interface driver cdc_ether [ 2.758680] stm32-dwmac 5800a000.ethernet: PTP uses main clock [ 2.763159] stm32-dwmac 5800a000.ethernet: no reset control found [ 2.769206] stm32-dwmac 5800a000.ethernet: No phy clock provided... [ 2.776103] stm32-dwmac 5800a000.ethernet: User ID: 0x40, Synopsys ID: 0x42 [ 2.782483] stm32-dwmac 5800a000.ethernet: DWMAC4/5 [ 2.787398] stm32-dwmac 5800a000.ethernet: DMA HW capability register supported [ 2.794742] stm32-dwmac 5800a000.ethernet: RX Checksum Offload Engine supported [ 2.802082] stm32-dwmac 5800a000.ethernet: TX Checksum insertion supported [ 2.808934] stm32-dwmac 5800a000.ethernet:
..
Hi All,i am getting kernel soc sgtl5000.c errorsgtl5000 0-000a: Error reading chip id -6any idea where am i missing , let me know if you need any further inputs&i2c1 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&i2c1__pins_a>; pinctrl-1 = <&i2c1_sleep_pins_a>; /*i2c-scl-rising-time-ns = <185>; i2c-scl-falling-time-ns = <20>;*/ clock-frequency = <400000>; status = "okay"; /delete-property/dmas; /delete-property/dma-names; sgtl5000: codec@0a { compatible = "fsl,sgtl5000"; reg = <0x0a>; #sound-dai-cells = <0>; //clocks = <&clk_ext_audio_codec>; clocks = <&i2s1>; &nbs
Hi i am using stm32mp1 has codec which required i2s1 mclk enabled, before codec probe read the basic i2c read chip command need to validate further,note:The board does not have provision to get a crystal to feed MCLK of codec, so thats out of option,any easy way to enable always MCLK free running always, any u-boot patch or machanism to make MCLK work always 12MHZ ?
i am trying to compile the third party OpenAMP folder in IAR with C++ and am facing a lot of errors.how can these be resolved.
We are new the MPUs and Linux. We received a new STM32MP157F-DK2 board, out of the box and boots up with the default binaries in the SD card.However, we find that the ethernet is not working (the LD3 is blinking). root@stm32mp1:~# ifconfig -aeth0 Link encap:Ethernet HWaddr 00:80:E1:42:84:8F inet6 addr: fe80::280:e1ff:fe42:848f/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:819 errors:0 dropped:50 overruns:0 frame:0 TX packets:50 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:58744 (57.3 KiB) TX bytes:8502 (8.3 KiB) Interrupt:54 Base address:0xc000lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0  
hi,i'm trying to compile a program in STM32CubeIDE that i wrote that cotnains calls located in libgpiod. but i'm getting linker errors as shown below. do i need to create the library myself or do i need to set a path in the CubeIDE's environment?i selected the option to install STOpenLinux to be embedded inside of CubeIDE.Invoking: MPU G++ Linkerarm-ostl-linux-gnueabi-g++ -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/vbuonassisi@ostendo.local/.eclipse/com.st.stm32cube.ide.mcu.rcp.product_1.6.0_1935172119_linux_gtk_x86_64/plugins/com.st.openstlinux.sdk.openstlinux_5.4_dunfell_mp1_20_11_12_5.4.0.202011171729/tools/sysroots/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi -o "NearEGSoftware" ./gpio_test.o ./main.o -Wl,-Map="NearEGSoftware.map" -Wl,--gc-sections/home/vbuonassisi@ostendo.local/.eclipse/com.st.stm32cube.ide.mcu.rcp.product_1.6.0_1935172119_linux_gtk_x86_64/plugins/com.st.openstlinux.sdk.openstlinux_5.4_dunfell_mp1_20_11_12_5.4
I have set :hostname_pn-base-files = "new_host_name"in my conf file.This seems changing /etc/hostname in base-files image. However, there is log message telling:"[ 7.249795] systemd[1]: Set hostname to <stm32mp1-disco>."Also, /etc/hosname contents is "stm32mp1-disco".I can't find what other recipe/module is dealing with hostname settings.
Hi ST!I am working with Rust on your STM32MP157. While we have this working already, this is cumbersome as we have to figure all register addresses and layouts manually. Normally, in Rust, we parse the SVD file corresponding to a chip and go from there which is a huuuge improvement to doing everything manually. Unfortunately the SVD files available for the STM32MP157 are highly incomplete and wrong at times. Could you please fix & update the SVD files? Thanks a lot!Best,Noah
Due to office environment and being behind the Proxy I am not able to build and flash (ports locked) STM32MP1 board from my PC at office.I have done the downloading and building of the Developer package at my Home PC (without any firewalls) and wanted to scp to my board which is connected to mobile hotspot at my office.Is it possible that i can scp from a PC in one network to the STM32MP1 board in another network(mobile hotspot or Wifi)?I can safely connect to internet from my stm32mp1 board(tested with ping -c google.com . )Also when I try to ping it from my Home PC ,it pings once and then stops.Please tell if at all it is possible , this will save my huge time and going through unnecessary mails to IT and to my Boss as well :) !!Thanks in advance !Br,Pv
Hello,I need use STM32MP157 connect a USB printer. I followed this article(https://community.st.com/s/question/0D53W00000cSjHuSAK/stm32mp157dk2-printer-support?t=1630032775565), and the result is right. but when I use print command like (lp printer_test.pdf), the printer not work. And the console outputs the following information: lp: Unsupported document-format "application/pdf".Is it because I didn't install cups-filters, or any other else?Please help me. Thanks.Shaw.
ST provides eMMC partitions (besides fsbl and u-boot) : boot, root, vendor, user.I need new partition /home and want removing vendor partition.How can I get this customization ?
I have an STM32MP157D-DK1 board, and I'm trying to build a custom Linux image for it with the Yocto Project. I followed the guide here (https://forum.digikey.com/t/yocto-getting-started-with-the-stm32mp157/14074) to create a core-image-minimal.I’m trying to use the basic boot chain to avoid TF-A (for now). So, I formatted an SD card with the following (using fdisk):Disk /dev/mmcblk2: 7.29 GiB, 7822376960 bytes, 15278080 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: A1B93A60-F8E0-CB47-88F9-E559CD43B510 Device Start End Sectors Size Type /dev/mmcblk2p1 2048 2559 512 256K Microsoft basic data /dev/mmcblk2p2 4096 4607 512 256K Microsoft basic data /dev/mmcblk2p3 6144 10239 4096 2M Microsoft basic data /dev/mmcblk2p4 10240 141311 131072 64M Linux filesystem /dev/mmcblk2p5 141312 15278046 15136735 7.2G Linux filesystemI also set the legacy
I copied the STM32CubeIDE project into PATH: openstlinux-5.10-dunfell-mp1-21-03-31/layers/sources/m4projects-stm32mp1/Projects/STM32MP1Added projects path in recipes-extended/m4projects/m4projects-stm32mp1.bbBut i find that file structure for examples is different from the file structure of STM32CubeIDE project
I've asked Segger but I was wondering if anyone knows how to get a Segger J-Link/Trace to put only the M4 core on an STM32MP157 into reset and bring it back out?
My problem is, that on the one hand, the SPI3 configuration is lost after I close CubeMX. The assignment is lost to the M4 core (changed from A7 to M4 and after reopening, its again at A7. The changes have been saved and tried on different machines). If the assignment of the DMA streams for the peripherals has been done, after reopening CubeMx and *ioc file, the DMA streams differ or are completely lost. So, what I am doing wrong here? Is there maybe another problem with the GPIO or whatever, which can lead to this unexpected behaviour? Or is this a known issue? Thank you for the help. Best regards, Jan-Otto
This is the error being shown.Is iit an installation error or is there a different method to install go in stlinux??
sdk: 3.0.0 verkernel: 5.10.10Ethernet cannot be connected in the kernel of version 5.10.10, but version 5.4.31 works normallyThe Ethernet related device tree is as follows:dts as follows; &ethernet0 { status = "okay"; pinctrl-0 = <&ethernet0_rgmii_pins_a>; pinctrl-1 = <&ethernet0_rgmii_sleep_pins_a>; pinctrl-names = "default", "sleep"; phy-mode = "rgmii"; max-speed = <1000>; phy-handle = <&phy0>; nvmem-cells = <&ethernet_mac_address>; nvmem-cell-names = "mac-address"; mdio0 { // reset-gpios = <&gpiog 0 GPIO_ACTIVE_LOW>; // reset-duration = <200>; #address-cells = <1>; #size-cells = <0>; compatible = "snps,dwmac-mdio"; phy0: ethernet-phy@6 { reg = <6>; }; }; };dmesg log as follows:[ 4.133408] systemd[1]: System time before build time, advancing clock. [ 6.200429] NET: Registered protocol family 10 [ 6.253839] Segment Routing with IPv6 [ 6.291489] system
Hi,I am using psci_cpu_on() function for Triggering the Seconary core i.e,Second A7 in Stm32mp157 at Uboot Level,but i am unable to trigger the Second Core.Refer The following path for psci_cpu_on functionPath :uboot-v2018.11-stm32mp-r2.1/arch/arm/mach-stm32mp/psci.cIn my case parameters arei)function Id :0x84000003ii)target cpu :0x00000001iii)pc :0xc01007c4(User function Address)iv)context id :1 and ,I also tried with following steps (Reference to stm32 wiki Boot-Rom code Secondary Core Boot )i)Branch Addressii)Magic Numberiii)Enabling the Software group 0 Interruptsiv) Generating Software Interrupts using GICD_SGIR register.
I have a DK1 and have wired to UART7, and got UART7 working by grafting this section (by using the CubeMX tool latest version as of a few days ago) into the existing st32mp157d-dk1.dts and rebuilding. (The real product is intended to use UART7.)===aliases { serial0 = &uart4; serial1 = &usart3; serial2 = &uart7; }; uart7 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&uart7_pins_mx>; pinctrl-1 = <&uart7_sleep_pins_mx>; status = "okay"; /* USER CODE BEGIN uart7 */ /* USER CODE END uart7 */ }; pinctrl { uart7_pins_mx: uart7_mx-0 { pins1 { pinmux = <STM32_PINMUX('E', 7, AF7)>; /* UART7_RX */ bias-disable; }; pins2 { pinmux = <STM32_PINMUX('E', 8, AF7)>, /* UART7_TX */ <STM32_PINMUX('E', 9, AF7)>; /* UART7_DE */ bias-disable; drive-push-pull; slew-rate = <0>; }; }; uart7_sleep_pins_mx: uart7_sleep_mx-0 { pins { pinmux = <STM32_PINMUX('E', 7, ANALOG)>, /* UART7_RX */ <STM32_PINMUX('E', 8, ANALOG)>, /* UART7_TX */ <STM
Hi all,I am trying to write a linux user-space application where in i am taking data from an external MCU processing it and sending it to another thread. My question here is how can make use of DMA in the user-space to make it more efficient? How can i eliminate busy looping / waiting for transfer scenarios in user-space?Thanks,Nipun Pal
Hello,We have a custom board with STM32MP157F silicon rev Z with emmc 24AA64T-I/OT . We are able to flash out OS with cubePorgrammer but we are not able to boot on emmc after flashing. According to :https://wiki.st.com/stm32mpu/wiki/STM32MP15_ROM_code_overview#Boot_from_SD_card https://wiki.stmicroelectronics.cn/stm32mpu/wiki/How_to_update_OTP_with_U-BootandRM0436 part 4 we programmed OTP registers with the following parameters :CFG3 = 0x00000007 ( emmc_if_id=2 qspi_not_default_af=1 (config by mistake) )CFG5=0x10953191CFG6=0x2f952e95CFG7=0x24952395where :-0x3191 == sdmmc2_ck PC1 AF9 no pull medium speed-0x1095==sdmmc2_cmd PA0 AF9 pull up high speed-0x2e95==sdmmc2_D0 PB14 AF9 pull up high speed-0x2f95==sdmmc2_D1 PB15 AF9 pull up high speed-0x2395==sdmmc2_D2 PB3 AF9 pull up high speed-0x2495==sdmmc2_D3 PB4 AF9 pull up high speedWhen we set the boot pins according to emmc boot no thing append. We have no log on serial port and the MP1 entrer in usb/uart dfu mode.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.