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 using a custom.board with STM32MP157C.I am not able to connect to it via JLink EDU.It shows that the ST device could not be verified.Also tried using the STM32Cube ide as well as JLink commander.Facing same issue.What should I give in the device name and core selection sections so that device can be connected??Also when selecting M4 the JLink is detecting it as M0Also is there a way to debug the A7
Hi,I have installated postgresql on STM32MP1.I would like to install libpqxx , a C++ based postgresql connector. How can i do that? FYI: apt-cache search returns empty.
Hi,I want to interface WM8960 with STM32MP1 using I2S interface. I initialized the WM8960 driver and added the DT entry in device tree file but the drivers fails.Can you please share some pointers on how to interface audio codec with I2S to STM32MP1 ?Regards,Shree
Hi everyone,I want to send messages with L2CAP protocol between two Bluetooth devices. This is my client code:void process_bluetooth () { int bl_buff_it = 0; // global buffer iterator // Code of: https://people.csail.mit.edu/albert/bluez-intro/x559.html struct sockaddr_l2 addr = { 0 }; int s, status; char dest[18] = "24:0A:64:28:71:E6"; // Socket creation s = socket(AF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP); // Connection parameters addr.l2_family = AF_BLUETOOTH; addr.l2_psm = htobs(0x1001); str2ba( dest, &addr.l2_bdaddr ); // Establishing connection status = connect(s, (struct sockaddr *)&addr, sizeof(addr)); if (status < 0) exit(0); // Message buffer int tam_bluetooth_buff = DATA_BLUETOOTH_BUFFER * (SIZE_DATA + 1); // DATA_BLUETOOTH_BUFFER = 128, SIZE_DATA = 3 char bluetooth_buff[tam_bluetooth_buff]; strcpy(bluetooth_buff, ""); int msg_to_send = 15, msg_num = 0; char value_string[SIZE_DATA]; &
so how can I add into the linux distribution so that firmware will build and load along with linux and load in bootupFYI : Iam using Yocto for building
Hi everyone, we are developing a project where we are planning to use a processor unit for the task, so, we are thinking of buying the STM32MP157D - DK1 for the development of the project, is the first time we are using such system and we have the following questions: 1) Can we use any operating system? like Ubuntu, Debian, etc.. apart of the OpenSTLinux? we are conscious about the yocto project and the fact we can make a "custom" linux from that, but, we would like to know that. 2) We can simulate in a virtual machine the OpenSTLinux OS? 3) How is the development process with these systems? Can we develop an application in python that manipulates the peripherals like we were programming a microcontroller or how does that work? Thanks for the answers.
Specifically the STM32MP157D Discovery KitTo avoid labour-intensive file copies I'd like to simply mount something on my server where I'm going to cross-compile things which will allow me to test a particular bit of functionality. I do not want to do any major re-builds just yet.But I see the DK1 as supplied seems not to have NFS support in the form of a mount.nfs utility though NFS is mentioned in /proc/filesystems. Or if it is there I have failed to understand it.I thought I'd be able to do something like apt-get install nfs-client or nfs-common but there's no such package.I see there's already a package called packagegroup-base-nfs installed which contains no files according to dpkg. kernel ouput also says "NFS: Registering the id_resolver key type" implying some part of NFS is present at least.This is the kind of thing I've tried and the error.root@stm32mp1:/etc# mount -t nfs -o ro,nolock 192.168.x.x:/home/jon/STM32MPU_workspace /mnt/STM32MPU_workspacemount: /mnt/STM32MPU_work
..
if not could you introduce some MPUs that i can substitute?Thanx:folded_hands:
Hello GuysLike the subject, I want change the interface RGMII to RMII using CubeMX.(RealTek-RTL8211EG-VB-CG => Microchip - LAN8720AI-CP)Based on STM32MP157C-EV1 Code in CubeMX, I changed the Ethernet option from RGMII to RMII as shown in the picture below.And after Code Generating, I applied it to my addon(mx) directory and built it.(Changed to the code generated by CubeMX.) eth1_pins_mx: eth1_mx-0 { pins1 { pinmux = <STM32_PINMUX('A', 1, AF11)>, /* ETH1_REF_CLK */ <STM32_PINMUX('C', 1, AF11)>, /* ETH1_MDC */ <STM32_PINMUX('G', 13, AF11)>, /* ETH1_TXD0 */ <STM32_PINMUX('G', 14, AF11)>; /* ETH1_TXD1 */ bias-disable; drive-push-pull; slew-rate = <1>; }; pins2 { pinmux = <STM32_PINMUX('A', 2, AF11)>; /* ETH1_MDIO */ bias-disable; drive-push-pull; slew-rate = <0>; }; pins3 { pinmux = <STM32_PINMUX('A', 7, AF11)>, /* ETH1_CRS_DV */ <STM32_PINMUX('C', 4, AF11)>, /* ETH1_RXD0 */ <STM32_PINMUX('C', 5, AF11)>; /
Hi everyone,I have tried to check eval board PCB with hyperlynx DDR wizard but I can't.I downloaded all of the IBIS data which are Nanya DDR3L ram and MP157A.However, I'm confused about which ODT models I should choose.Please help me which model I chose to pass this check.By the way, I attached the odt model page screen.
I am attempting to configure my device tree to support RMII with Crystal on PHY, no 50Mhz from PHY. I have made the following modifications based on https://wiki.st.com/stm32mpu/wiki/Ethernet_device_tree_configuration#RGMII_with_Crystal_on_PHY-2C_no_125Mhz_from_PHY with a 50MHz clock instead of 125Mhz.Board Specific Linux DTS&ethernet0 { status = "okay"; pinctrl-0 = <&eth1_pins_mx>; pinctrl-1 = <&eth1_sleep_pins_mx>; pinctrl-names = "default", "sleep"; phy-mode = "rmii"; max-speed = <100>; phy-handle = <&phy0>; mdio0 { #address-cells = <1>; #size-cells = <0>; compatible = "snps,dwmac-mdio"; phy0: ethernet-phy@0 { reg = <0>; reset-gpios = <&gpiog 9 GPIO_ACTIVE_LOW>; reset-assert-us = <1000>; reset-deassert-us = <200000>; }; }; };stm32mp151.dtsiethernet0: ethernet@5800a000 { compatible = "st,stm32mp1-dwmac", "snps,dwmac-4.20a"; reg = <0x5800a000 0x20
Hi everyone,I'm having the famous "Segmentation fault (core dumped)" error caused by the Linux application, but I can't find the bug.const int NUM_ELEMENTS = 131072; void process_receive (int chRPMSG) { int i; int data_buff_it = 0; char msg_RPMSG[SIZE_MSG]; char* hex_string; int hex_int; while(1) { if(read (chRPMSG, msg_RPMSG, SIZE_MSG) < 0) exit(0); else { hex_string = strtok(msg_RPMSG, " "); hex_int = (int)strtol(hex_string, NULL, 16); data_buff[data_buff_it] = hex_int; data_buff_it = (data_buff_it + 1) % NUM_ELEMENTS; for (i = 0; i < DATA_BUFFER - 1; i++) { hex_string = strtok(NULL, " "); hex_int = (int)strtol(hex_string, NULL, 16); data_buff[data_buff_it] = hex_int; data_buff_it = (data_buff_it + 1) % NUM_ELEMENTS; } } } } int main (int argc, char **argv) { int chRPMSG = open("/dev/ttyRPMSG0", O_RDWR | O_NOCTTY | O_SYNC); if (chRPMSG < 0) { int errnu
We are using the STM32MP157A device in our application. inter process communication between the both A7 processor with the bare metal programming we have doubt that how to select the both the cores independently . That is both the A7 processors. We referred the Reference manual .But we unable to get exactly.
Hi everyone,I'm coding a C application on Linux which has 2 processes. In order to optimize performance, I would like to run each one on a differente core CA7 - as I'm working whit dual-core STM32MP157F MPU. How can I achieve this? Any useful framework?Regards
On my custom board, I configured PZ0, PZ1, PZ2 for SPI1 with device tree, and linux kernel probed successfully and populate spidev node and it works fine, but if look at debug information in /sys/kernel/debug/pinctrl/, it populate something like "pin 400 (PZ0): device 44004000.spi function analog group PZ0", I expect "AF5" for pin function instead of "analog", especailly for this case it has configured as SPI alternate pin already. Is this a kernel bug or some trick I have to do with device tree?
Hey,we have an issue when waking up our STM32MP153 from suspend-to-ram. The wireless LAN won't respond and we get the following error messages through serial port:ieee80211 phy0: brcmf_run_escan: error (-110) ieee80211 phy0: brcmf_cfg80211_scan: scan error (-110) brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110 brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frameMaybe someone has encountered the same issue and can help.Thank you in advance! :)
Hi everyone,A significant part of the ST team monitoring this Community and based in France will take some vacation during August. Of course, few ST people will remain on board, but you may probably observe a slow-down in participation from ST. Thanks for your understanding, and thanks for your participation in this Community !Olivier on behalf on MPU Community ST moderation team
Hi all,I would like to add debian source list to the existing sources in OpenSTLinux.I created a file mysources.list under folder /etc/apt/sources.list and added following lines to itdeb http://ftp.au.debian.org/debian/ buster main contrib non-free deb-src http://ftp.au.debian.org/debian/ buster main contrib non-freeRunning apt-get update results in the GPG Signature error where in OpenSTLinux complains that it is not secure repo and it won't update from it. How can i get past this ? It is important to me to add this. Any inputs will be appreciated.
Help on customizing the device treeI installed my starter package according to instructions at https://wiki.st.com/stm32mpu/wiki/STM32MP15_Discovery_kits_-_Starter_PackageAnd the developer package following instructions at https://wiki.st.com/stm32mpu/wiki/STM32MP1_Developer_PackageThen on developing my projects, I realized that I need a different device tree than what was provided in those two packages, because the CAN bus is not defined in those installations, and that is the core of my project.Then I read this bloghttps://wiki.st.com/stm32mpu/wiki/How_to_cross-compile_with_the_Developer_PackageSomewhere, it requires to navigate to "Device Drivers - Generic Driver Options"select "Size in Megabytes"modify its value to 256exit and save the new configurationThe problem is: if you follow those instructions, there is no option to select “Size in Megabytes,�? which left in darkness!!Somewhere in the next page it advises to change directory to the <Linux kernel build director
DISTRO : <no-custom-config-set>DISTRO_CODENAME : dunfellMACHINE : stm32mp1-discoI followed instructions from: https://wiki.st.com/stm32mpu/wiki/STM32MP1_Distribution_Package#Installing_the_Starter_PackageI initialized repo with:repo init -u https://github.com/STMicroelectronics/oe-manifest.git -b refs/tags/openstlinux-5.10-dunfell-mp1-21-03-31I initialized build environment with command:DISTRO=nodistro MACHINE=stm32mp1-disco source layers/meta-st/scripts/envsetup.shThat initialization took only few layers from the manifested layers.I run:bitbake core-image-minimaland got the error that nothing provides "mesa".I added qt layer, but it did not make any difference.Should I add some more layers to get builder happy or is this basic "distro" not functional?
Hi everyone,I'm coding an applicaction which needs to send data from CM4 to CA7 through RPMSG framework. FreeRTOS task involved:void t0Task(void *argument) { int count = 0x0, sim_ch = 9; const int SIZE_DATA = 7; unsigned char msg[SIZE_DATA * sim_ch], msg2[SIZE_DATA]; TickType_t xLastWakeTime; const TickType_t xFrequency = 1; while (1) { xLastWakeTime = xTaskGetTickCount(); msg[0] = '\0'; int i; for (i = 0; i < sim_ch; i++) { sprintf(msg2, "%06X", count); strcat(msg, msg2); strcat(msg, " "); count = (count + 1) % 0xFFFFFF; } VIRT_UART_Transmit(&virtUART0, (uint8_t*)msg, strlen(msg)); vTaskDelayUntil( &xLastWakeTime, xFrequency ); } }I need to achieve a throughput near 1.5 MB/s - for that, "sim_ch" variable should be 128.When this firmware is executing, an error appears after few seconds: "rpmsg_tty virtio0.rpmsg-tty-channel.-1.0: No memory for tty_prepare_flip_string". How can I solve it?Thanks,Oscar
There are no repos defined in /etc/apt/sources.list.d/I can't seem to use apt-get to install git or nano or anything....
HI,Is it possible to write and compile c++ user space application for stm3m2mp1?If yes how ?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.