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 working on getting a Distribution Package build working on an aarch64 machine, specifically a Nvidia Jetson Nano. After downloading the 1.1.0 ecosystem package and sourcing the bitbake environment, bitbake st-image-core runs successfully for a while but fails while executing the strip command in the populate-sysroot section of gcc-arm-none-eabi-native-7-r0. When I execute the strip command by hand the failure is actually an "unknown format" error on the file being stripped. When I execute the "file" command against the file giving the error it has been compiled for x86_64. This would imply, I think that the recipes for gcc have be set up for a 64-bit Intel architecture. My question is where do I modify the recipes to ensure they are using the local machines architecture to build the components?An example of the error I am getting is:ERROR: gcc-arm-none-eabi-native-7-r0 do_populate_sysroot: Fatal errors occurred in subprocesses:Command '['strip', '--remove-section=.comment', '--remo
Hi all,I am using a STM32MP157C-EV1 and testing the digital microphones with ALSA. For testing purposes I am just using the arecord command. All works fine if I use the S32_LE sample format:$ arecord -D hw:0,4 -f S32_LE /tmp/rec.wav Recording WAVE '/tmp/rec.wav' : Signed 32 bit Little Endian, Rate 8000 Hz, Mono For my application I need to use S16_LE. Since this is not natively supported by the driver, I try to use an ALSA "plughw" device to do the conversion, but that fails:$ arecord -D plughw:0,4 -f S16_LE /tmp/rec.wav Recording WAVE '/tmp/rec.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono arecord: set_params:1361: Unable to install hw params: ACCESS: RW_INTERLEAVED &nbs
..
Used device: STM32MP157C-DK2 I am trying to install several debian packages like dirmngr and apt-transport-https, however apt-get does not provide it. Apt-get update does not show any results, because sources.list.d is empty. I tried to dial in a path manually, but in that case apt-get update will skip every found package. Am I ment to install debian packages in a different way?
Hello ST communityI'm trying to configure the USB in OTG mode so I can upload linux to the NAND flash on my board (I'm using the STM32MP153AAC on a custom board).Here's the output from the debug serial:https://pastebin.com/f1UYcyDqAnd here is dmesg on the host computer:https://pastebin.com/Mj4fMGT2From what I can tell, stm32prog is being executed by U-Boot on the board with the arguments "stm32prog usb 0". This causes the stm32-usbphyc device driver to be probed (successfully), and as can be seen in the dmesg output on the host computer, a new USB device is detected, but it doesn't seem to be communicating properly. The error is "device descriptor read/64, error -110"I've followed all of the guides I could find on how to configure the DT:https://wiki.st.com/stm32mpu/wiki/OTG_device_tree_configurationhttps://wiki.st.com/stm32mpu/wiki/USBPHYC_device_tree_configurationI've made sure the correct voltage regulators are selected, I've compared my configuration to both the STM32MP157C-EV1 and
Hello communityProblem in short:The boot process hangs when U-Boot tries to load the stm32_fmc2_nand driver. Serial output can be found here:https://pastebin.com/VgJG6rSFI have designed and built a custom board using the STM32MP153AAC. The peripherals share a lot in common with the STM32MP157C-DK2 dev board (serial is also connected to uart4, PMIC is also connected to i2c4) so I used the STM32MP157C-DK2.dts device tree source file as reference for a lot of the changes I made to my own device tree source file.My top-level dts can be found here. It was auto-generated by CubeMX and then manually edited here and there:https://pastebin.com/pUJsdDzHYou can see on line 525 the relevant FMC block. I copy/pasted most of it from stm32mp157c-dk2.dtsMy build process for U-Boot is:# Get correct U-Boot source with STM32MP patches git clone https://github.com/STMicroelectronics/u-boot git checkout v2018.11-stm32mp # Name of my device tree source file (see above) export export DEVICE_TREE=stm32
Hi guys,I just wanted to share my work: STM32MP1 port for Arduino is merged! I have spent months on this work.https://github.com/stm32duino/Arduino_Core_STM32/pull/717With this merge, you can run Arduino on the M4 coporcessor and it can use the Arduino header pins, while the host Linux still have access to the RPi HAT header pin.It is not landed to a release yet, so you cannot use it out-of-the-box yet but additional tricks are needed to build Arduino_Core_STM32 from source.This merge includes basic peripherals like SPI, I2C, PWM, ADC, and there is no direct communication between A7 and M4 yet. I'm working on OpenAMP RPMsg support (/dev/ttyRPMSG0) for now: https://github.com/stm32duino/Arduino_Core_STM32/pull/766I hope that the next version of Arduino for STM32 (v1.8.0) will be released in this year, including basic peripherals and OpenAMP!I will post another one when the support is officially released =)
Hello, I am using the ST32MP157c-dk2. I want to adapt the mcp2518xxfd driver the bsp. The driver uses a level sensitive irq on a gpio. Since I have not been able to configure a level sensitive irq, I tried it edge sensitive. But this configuration fails after a while. I guess because the mcp2518 does not assert its irq line again (stays low). Is there a way to configure a level sensitive on a gpio?regards Florian Hillen
Hi,I have to use the spread spectrum on PLL4 on STM32MP1I have set the pll4 in tfa and u-boot as followstfa pll4:st,pll@3 { cfg = < 1 49 11 10 1 3>; csg = < 80 80 SSCG_MODE_CENTER_SPREAD >; };u-boot pll4:st,pll@3 { cfg = < 1 49 11 10 1 7>; csg = < 16000 16000 SSCG_MODE_CENTER_SPREAD >; u-boot,dm-pre-reloc;}When I check the register (on linux) RCC_PPLL4CSGR the settings seems ok, but when I write SSCG_CTRL=1 on RCC_PLL4CR nothing happened.Where I am wrong?
HI, All.I would like use speaker output in STM32MP157C-EV1. I revised the wiki but there aren't references about how play audio with speaker output. Is it enable speaker output to this board? Is it possible enable this output to play audio?Regards!Alex.
i want to increase the RPMsg buffer size as suggested in this thread:https://community.st.com/s/question/0D50X0000AnuE1XSQU/what-is-the-maximum-transmission-interprocessor-bandwidth-on-stm32mp1i already tried the following:On the M4:Changing RPMSG_BUFFER_SIZE in rpmsg_virtio.h to 2048 (from 512)On the A7:Changing MAX_RPMSG_BUF_SIZE in virtio_rpmsg_bus.h to 2048 (from 512)But if i start the M4 i get the following error from dmesg:[ 88.176478] remoteproc remoteproc0: powering up m4 [ 88.180656] remoteproc remoteproc0: Booting fw image A96_CAC_RPMsg2048.elf, size 229920 [ 88.193631] stm32-rproc m4@0: iommu not present [ 88.193670] stm32-rproc m4@0: pa 0x38000000 to da 0 [ 88.193689] stm32-rproc m4@0: pa 0x30000000 to da 30000000 [ 88.193704] stm32-rproc m4@0: pa 0x10000000 to da 10000000 [ 88.193719] stm32-rproc m4@0: pa 0x10040000 to da 10040000 [ 88.193738] stm32-rproc m4@0: pa 0x10042000 to da 10042000 [ 88.193754] stm32-rproc m4@0: pa 0x10044000 to da 10044000 [ 88.193777] remoteproc
While I'm modifying the code of OpenAMP Echo, I found that VIRT_UART_Transmit() fails until host Linux sends any message (like $ echo "A" > /dev/ttyRPMSG0).After Linux send a message everything works as expected.After digging into it a little bit, I found that OPENAMP_send() returns RPMSG_ERR_ADDR, because huart->ept.dest_addr is set to RPMSG_ADDR_ANY when initialized in OPENAMP_create_endpoint().When the first message received ept->dest_addr is corrected and VIRT_UART_Transmit() starts working fine: https://github.com/STMicroelectronics/STM32CubeMP1/blob/3739122ec3281ffe18356774ffc06a7fbcf6df98/Middlewares/Third_Party/OpenAMP/open-amp/lib/rpmsg/rpmsg_virtio.c#L423I'm not sure if OpenAMP is designed like that, or a bug though. Does anyone know about this issue? If it is expected, I would like to know a proper way to send data from M4 first.
ST is please to announce the st-android-9.0.0-2019-09-27 tag compatible with Android 9.0.0 (Pie).Main software component versions : · Android version v9.0.0 (AOSP android-9.0.0_r46 tag)· Kernel version v4.19.49 (AOSP common kernel) + updates for STM32MP1 and associated boards (waiting upstream finalization)· TF-A version v2.0 + updates for STM32MP1 and associated boards (waiting upstream finalization)· U-Boot version v2018.11 + updates for STM32MP1 and associated boards (waiting upstream finalization)· OP-TEE version v3.3.0 + updates for STM32MP1 and associated boards (waiting upstream finalization)· STM32CubeMP1 FW v1.1.0· GCC version v8.2· &nbs
I designed a PCB using LPDDR3 and STM32MP157AAA3 MPU, but I accidentally found that u does not support, this is not a pit man? Why is this diagram on the DDR instruction manual AN5122, I'm designing it accordingto this. But now pcb has produced how to solve this problem?@st
I'am a newbbie on STM32MP1 and linux embedded.I want to use available pins on STM32MP1-DK2 to as buttons input. I want to use CN14 connector pin (1 to 4) as buttons inputs.I've modified the stm32mp157c-dk2.dts adding these lines: buttonkeys { compatible= "gpio-keys"; left-key { label = "Left key"; gpios = <&gpioe 7 GPIO_ACTIVE_LOW>; linux,code = <105>; // KEY_LEFT }; right-key { label = "Right key"; gpios = <&gpiod 4 GPIO_ACTIVE_LOW>; linux,code = <106>; // KEY_RIGHT }; down-key { label = "Down key"; gpios = <&gpioe 8 GPIO_ACTIVE_LOW>; linux,code = <108>; // KEY_DOWN }; up-key { label = "Up key"; gpios = <&gpioe 1 GPIO_ACTIVE_LOW>; linux,code = <103>; // KEY_UP }; };If I declare only the left and down keys (GPIOE7 and GPIOE8) the button
Hello,I am working on the evaluation board STM32MP157CDk2I am trying to add my code in the main method while loop in order to toogle pins.I added the following code:while (1) { /* USER CODE END WHILE */ HAL_GPIO_TogglePin(atoi(1), GPIO_PIN_11); HAL_Delay(100); HAL_GPIO_TogglePin(atoi(0), GPIO_PIN_11); /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */I have two questions.1) I get the following error (attached) after i choose target and then program chip 2) I am connected through usb and UART in the eclipe, am using the system work bench as an IDE. Is there something to do before doing the build for connecting with the device in a special way?. I can see in the console that i am connected to the board. and Eclipse shows the message at the buttom (Serial Console in use).I am new to this. I appreciate your help alotBest Regards
How to configure RGB LTDC device tree, can you give an example
Hello,I am working with stm32mp157c-dk2I have read the GPIO related parts in documents and wiki. I have also used GPIO from M4 side.Are the following statements correct ?Discovery board STM32MP157C-DK2 has two types of GPIOs connector:GPIO 40 pins connectorsArduino™ Uno connectorsThere are two ways to use them;configure the required GPIO pins in c code and use it on M4 sideconfigure device tree for the required GPIO pins, recompile linux and use it from A7 (linux) sidethis is what I have understand from the documents. Did I understand correctly ?Is something false or missing in the statements ?
With STM32MP157C-DK2 kit, I am testing U-boot standalone example "hello world" application, it print out some information and then stay in a loop until a key input detected to terminate the application. I found out the example code running for about 20sec and then crash and system restarted, because there is no error message, so I don't believe the standalone code crash but the system crash from a watchdog timeout, would someone confirm what I am speculated here? some suggestion? is there a function I can add to kick watchdog inside while loop?
or. special layout of image required?
Hi, Can anyone give me possible application use cases that Direct Memory Access (DMA) is needed or has advantages to use for stm32mp157c?Or any document that explains possible application use cases ?tnx
I tried to test a UART link on the USART3 port of the STM32MP157C-DK2 board.For that I followed the instructions of the Wiki for the modification of the Linux kernel:I changed the settings in "arch / arm / boot / dts / stm32mp157a-dk1.dts" to put the USART3 in status = "okay"I generated ".dtb" with the command "make dtbs"I loaded it on the board and reboot it.But after rebooting when I do "ls -l / dev / ttySTM *" I only get the ttySTM0 (for the UART_4).When I do "dmesg | grep ttySTM *" I get the configuration for ttySTM3 (USART_2 for Bluetooth) and ttySTM0.After several attempts I would like to know if you would have tracks?
Hello, I'm using the OpenAMP_TTY_echo example with some modification.if (VirtUart0RxMsg) { VirtUart0RxMsg = RESET; while (data < 65535) { itoa(data, buf, 10); if(VIRT_UART_Transmit(&huart0, (uint8_t *)buf, 10) != VIRT_UART_OK){ Error_Handler(); } data ++; } data = 0; }On Linux side I'm use write on ttyRPMSG0.But if I don't read, the log give me the message:rpmsg_tty virtio0.rpmsg-tty-channel.-1.0: No memory for tty_prepare_flip_stringI think that I'm understand the problem, but what can I do to prevent this problem?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.