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
Correct me if I'm wrong. UART4 is used to program eMMC via the ROM monitor. Exactly what GBA pins are used? Is there any "special" circuitry involved?
Is it possible to use the STMCUBE expansion for IOTA on STM32MP157DK-2 or is there anyway to use IOTA client libraries.I tried installing the Python library but it would not install.I have the STM32CubeExpansion_IOTA1_V2.0.0 but do not know how to run it on STM32MP157DK-2 or cross compile it for this kit.
Hi!I am following the instructions of this wiki page:https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP157x-DK2/Let%27s_start/Populate_the_target_and_boot_the_imageI have the DK2 connected to my system using the USB OTG port.The boards dip switches are in the correct position.I copied the udev rules to /etc/udev/rules.d/.Pressing "Connect" results in following error: 16:44:36 : STM32CubeProgrammer API v2.8.0 16:50:03 : USB speed : High Speed (480MBit/s) 16:50:03 : Manuf. ID : STMicroelectronics 16:50:03 : Product ID : DFU in HS Mode @Device ID /0x500, @Revision ID /0x0000 16:50:03 : SN : 003300293030510D32313933 16:50:03 : FW version : 0x0110 16:50:03 : Device ID : 0x0500 16:50:03 : Error: CUBEPROGRAMMER_ERROR_NOT_SUPPORTEDWhat am I doing wrong? Thank you in advance,Gunther
Details:HW: Phytec Sargas Board, which is similar to the STM32MP1-DK2.Build environment: Cross compiling with SDK generated by Yocto.Linux: Yocto build, based on st-image weston.Device Tree configuration: As far as I understood not needed to access single GPIOs.Any help is appreciated :)Code (only partially):#define MEM_DEV "/dev/mem" #define GPIOF_START_ADDR 0x50007000 #define GPIOF_END_ADDR 0x500073FF #define GPIOF_MAP_SIZE (GPIOF_END_ADDR - GPIOF_START_ADDR) #define GPIO_REG_MODER 0x00 /**< GPIO port mode register */ #define GPIO_REG_OTYPER 0x04 /**< GPIO port output type register */ #define GPIO_REG_BSRR 0x18 /**< GPIO port bit set/reset register */ #define GPIO_PIN_4 ((uint16_t)0x0010U) #define GPIO_PIN_OUTPUT_DIRECTION 0x01 /**< Output */ #define GPIO_PIN_OUTPUT_PUSHPULL 0x00 /**< Output Push Pull Mode */ int main(int argc, char **argv) { int ret = EXIT_SUCCESS; static void *mmapBase = NULL; /* Virtual base address */ signal(SIGINT, intHandl
As above, the Altium components point to a library source called "MCD_PARTS_database.DbLib" however I don't have access to this. Is there any way to get the footprints? ThanksDave
Hi all,I am working with a STM32MP157F-DK2 board, and I am trying to implement a Node-Red web application. I use the Openstlinux Developer package on the board and thanks to the package repository given by ST, I was able to install the NodeJS LTS version and npm. Node-Red works well, I can see all my flows in the web browser. In my application, I would like to use the node-red-node-sqlite node to access a database hosted in the STM32MP157F-DK2. Here is my problem: During the installation process, node-pre-gyp is trying to reach an URL where are stored pre-built binaries. However, this URL returns a "Forbidden access" (see image attached), and so node-pre-gyp calls the compiler of the board to build the necessary files. Thus, I cannot install the SQLite node because it requires a compiler during the installation process, compiler that does not exist on the STM32 board. According to the internet, this error from node-pre-gyp seems to be quite common and I did not find a solution that wor
Hi, I'm working on a project based on the STM32mp153 MPU with linux OS.I have configured the TF-A module to manage the tamper with timestamp.When the tamper event occurs, it is reported in stdout.I would like to propagate to the kernel and user space the event detected by the TF-A and the possibility of storing the event itself in a system log.Possibly avoiding polling the deletion of the backup registers.Do you have an Application note where a standard Tamper management procedure is described?RegardsRenato Borromeo
Hi everyone,I'm new to using MPUs.For an application, I need to transfer data from the SRAM (data obtained with the M4) to a DDR buffer in order to communicate with the A7. I based my application on the example here : How to exchange large data buffers with the coprocessor - example - stm32mpuBut in this code, the address of the buffer where to transfer the data by DMA is not given explicitly.So I'm trying to find these addresses to develop my application.I am using STM32MP157C-DK2 board.I hope my question is not too confusing.Thanks,PComb.1
Hi,I have a firmware doing permanent acquisition and processing of a signal coming from SPI on the M4 side - consider it an audio stream.On-demand I would like to save the processed buffer (say ~10 consecutive buffers once in a while, e.g. 1s every 10s) from the SRAM to a permanent file accessible from the A7 Linux userspace.What would be the best way to do this with the least impact on the M4 load ?My first guess was DMA from SRAM to DDR and then have Linux write from DDR to eMMC/SD but isn't there a more direct way ? Thanks a lotYann
Hello STM-Team,I am working with STM32MP157F-Eval board. The SD card and NAND booting are working fine. But, getting issues while booting with eMMC.I have tried a workaround which seems to be working and I want to make sure if it is the right way of doing.Please see below error. ------------------------------------------------------------------------Boot over mmc1!Saving Environment to MMC... Writing to redundant MMC(1)... OKswitch to partitions #0, OKmmc1(part 0) is current deviceScanning mmc 1:5...Found U-Boot script /boot.scr.uimg2943 bytes read in 29 ms (98.6 KiB/s)## Executing script at c4100000Executing SCRIPT on target=mmc1Saving Environment to MMC... Writing to MMC(1)... OKswitch to partitions #0, OKmmc1(part 0) is current deviceScanning mmc 1:5...77087 bytes read in 30 ms (2.4 MiB/s)SCRIPT FAILED... /mmc1_extlinux/extlinux.conf not found !Saving Environment to MMC... Writing to redundant MMC(1)... OKSCRIPT FAILED: continuing...77087 bytes read in 31 ms (2.4 MiB/s)STM32MP&
Hi,I want to play a video from mounted USB stick. Once USB plugged the host, I mount it with "mount /dev/sda1 /mnt" and than quit the psplash screen with "psplash-drm-quit" on target. After that, trying to play a video with "gst-launch-1.0 playbin uri=file:///media/aaa.mp4" but there is nothing screen on TFT. Also, I have tried this "gst-launch-1.0 v4l2src ! "video/x-raw, width=1280, Height=720, framerate=(fraction)15/1" ! queue ! autovideosink -e" command but there is nothing again. Console Output;Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... WARNING: from element /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0: Could not open DRM module (NULL) Additional debug info: ../../../gst-plugins-bad-1.14.2/sys/kms/gstkmssink.c(709): gst_kms_sink_start (): /GstKMSSink:autovideosink0-actual-sink-kms: reason: No such file or directory (2) Setting pipeline to PLAYING ... New clock: GstSystemClockFurthermore, I have tried camera examples
Hi,We want to use a KSZ8851SNL SPI ethernet phy as second eth interface on a custom board. The implementation was according to https://www.kernel.org/doc/Documentation/devicetree/bindings/net/micrel%2Cks8851.yamlThe eth0 interface is initialised with success, but while loading the driver, the kernel is complaining about the interrupt pin, which is not configurable::~# dmesg | grep irq [ 7.495488] genirq: Setting trigger mode 8 for irq 78 failed (gic_set_type+0x0/0x4c) [ 7.516176] ks8851 spi1.0 eth0: failed to get irqAlso the pin is not shown usingcat /proc/interruptsI attached the device tree section and another dmesg log showing the interface initialization. I tried different configurations following ST suggestions.Does anyone know, why Pin PE1 is not configurable as interrupt using the device tree? When using Sysfs in userspace the pin gets configured as interrupt.Or is the problem a different one?Thanks in Advance!Kai
Hi all,Referring to previous discussion I had.I just want understand what are the PWM limits for STM32MP1.I can't seem to generate PWM signal below 100ms. Any inputs will be appreciated.My target frequency is 1KHz.https://community.st.com/s/question/0D53W000014y9ZzSAI/maximum-value-of-pwm-period
Hi all,I have configured TIM1_CH3N as a pwm channel.I am trying to do some PWM functionality here.I am following current tutorial here. When i tried to provide a period of 10 sec it fails to take up the value. I get following error :root@stm32mp157a-visionsom-rgb-emmc-mx:/usr/local/firmware_demos# echo 10000000000 > /sys/class/pwm/pwmchip4/pwm2/duty_cycle pwm2 sh: write error: Invalid argument100000000Is there some limit to what value we can provide here?
Hi AllI have disabled the second core to validate one of old product, which runs on single core,and same application cpu usage i have seen is 90-95 %and same application runs and does the same spi transaction, i am seeing the cpu usage is 57%all constraint are same except the corefollowing is the top of stm32mp1top - 04:18:53 up 37 min, 1 user, load average: 1.70, 1.65, 1.51Tasks: 107 total, 4 running, 103 sleeping, 0 stopped, 0 zombie%Cpu(s): 4.5 us, 93.4 sy, 0.0 ni, 1.5 id, 0.3 wa, 0.0 hi, 0.3 si, 0.0 st 9 root 20 0 0 0 0 S 2.3 0.0 0:05.56 ksoftirqd/0
I want to use part of the SRAM3 shared memory for data transfer between the A7 cores and the M4 core. On the A7 core I used mmap on /dev/mem to remap the sram to user space and copy the data to/from the SRAM3 buffers. The result is however not stable.When reading the data at the M4 side the data sometimes seems to be changed.On the M4 side I did add an extra memory area (RAM3_ipc_shm):MEMORY{ RETRAM_interrupts (xrw) : ORIGIN = 0x00000000, LENGTH = 0x00000298 FLASH_text (rx) : ORIGIN = 0x10000000, LENGTH = 128K RAM1_data (xrw) : ORIGIN = 0x10020000, LENGTH = 128K RAM2_ipc_shm (xrw) : ORIGIN = 0x10040000, LENGTH = 0x00008000 RAM3_ipc_shm (xrw) : ORIGIN = 0x10048000, LENGTH = 0x00004000}And just read /write to this area like: volatile uint16_t *data_in = 0x10048000; volatile uint16_t *data_out = 0x1004A000;nof_write_bits = 16 * data_in[0];// set output datafor (int i = 0; .....{ // DO0-DO3 & clear data clock & clear la
Recompiling Linux kernel I have to rebuild the whole image because of kernel-modules, that are dependent on kernel version. After that I have to upload the whole image into STM development board via CubeMX Programmer which takes quiet a lot time. How can I recompile only kernel modules package so that I can deploy it into target with kernel itself, install (via package manager) and get new kernel without building and uploading the whole image ?
Hello STM-Team,We are developing a custom board based on STM32MP157C-Eval board.In that, we are planning to have MLC NAND Part number #MT29F16G08CBACAWP:C instead of SLC NAND.For Software point of view, I want to understand that if the existing NAND drivers will work for MLC NAND devices or any changes/support required in exiting kernel driver?Thank you.Regards,Pratik Manvar
Is it possible to use AI frameworks like ONNX and / or Openvino (and related accelerators like movidius, GPU) on STM32MP1? I took a look but I found only examples with tensorflow lite and Coral devices (i.e. https://github.com/STMicroelectronics/meta-st-stm32mpu-ai)
Hi,My evaluation kit is stm32mp157c-ev1, I can flash code to eMMC or SD via STM32CubeProgrammer successfully, and it can work expectedly.We need to running program on eMMC without SD card. Flash the eMMC code via STM32CubeProgrammer is very slow and is not suitable for mass production.Please support a script that flash eMMC code "stm32mp1-openstlinux-5.10-dunfell-mp1-21-03-31" via SD card.Thanks,QiZhang
I have a problem. My application should use port 8888. I wrote an application in Python 3.5 that uses the address and port 8888 that I need. But Linux issues a diagnosis that port 8888 is already occupied by another task. How to release port 8888.? The Netstat program gives a diagnosis that port 8888 is busy application. Sincerely, Alexander.
..
On azure-iot-sdk-c github there are two examples on how to crosscompile:1) https://github.com/Azure/azure-iot-sdk-c/blob/master/doc/SDK_cross_compile_example.md2) https://github.com/Azure/azure-iot-sdk-c/blob/master/doc/Docker_SDK_Cross_Compile.mdUnfortunately, i cannot set the proper variables so I can't crosscompile.Any Help?thank you
Hi all,How can I create swap partition in STM32MP1?Previously I did get an answer to how to increase the rootfs size. Any guidance on this will be highly appreciated.TIA
Hi all,Our team was brainstorming around a feature which we want to provide in our product.However to achieve the same we would like to understand if we can perform the video capture via camera and stream the same over the network to some node. Or do some kind of screen share and stream the screen capture over the network. Is it possible to achieve this capability on STM32MP1?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.