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
CubeMx version is 5.3.0,CPU is STM32MP157working on discovery board DK2.
Hello,Lately, i have been working on STM32L4R9I Disco. i am trying to figure out the way to connect and control peripheral using MFX function on the board.Does anyone have any idea about MFX function?Thank you very much
i read the following information in the doc AN5122 : Standard fly-by topologyA standard fly-by topology is comprised of:• A distributed A/C bus with 56 Ω on-board termination at VTT (VDD_DDR/2)• A differential clock, distributed to all of the DDR devices– Implement a differential termination of the CLK_N/CLK_P signals using one 100 Ωresistor.• There must be a point-to-point connection of the data bus (4 swappable bytes, andswappable bits in the same byte), including:– 32 data signal bits (DQ)– 4 data mask signals (DQMx)– 4 differential clocks (DQSx_N/DQSx_P)i would like for the ease of layout swap bit inside byte0 and byte1 of control signals but i dont see any where how to inform the system and set configuration for the bit swap.Can you point me to a document where it is explain how to setup bit swap configuration ?Tanks for supportJulien.
Hello,I am running example "OpenAMP_TTY_echo" on the board "stm32mp157c-dk2"I have modified the code a little bit so that channel0 (uart0) doesn't have to wait for a massage from linux side and transmit message every half second. It is sending the messages on every half second without problem.But the problem is now uart1 is not working. I mean on linux side if I write "echo "Hello Virtual UART1" >/dev/ttyRPMSG1" , I can not receive any callback message from the console. This means channel 1 is not working because channel 0 is blocking it. Is it normal ? Why normal ?while (1) { OPENAMP_check_for_message(); " " " " VIRT_UART_Transmit(&huart0, Data, size); HAL_Delay(500); if (VirtUart1RxMsg) { VirtUart1RxMsg = RESET; VIRT_UART_Transmit(&huart1, VirtUart1ChannelBuffRx, VirtUart1ChannelRxSize); } }
..
I'm working with Development Kit and want to upload my Cortex-M4 image but I do not want to use IDE. I assume there should be a Linux program that can stop M4, write image into SRAM and restart M4. Where can I find a details on how to do it?Thanks.
It seems that with CubeProgrammer all partitions in the MP1 EMMC must be flashed using the tab delimited file. Is there a way to support to update/flash only selected partitions ?
Using STM32CubeMX 5.4.0 with a project created and last modified successfully under 5.3.0 gives me:java.lang.NullPointerException at com.st.microxplorer.codegenerator.McuDataModel.getIpRCCInfo(McuDataModel.java:933)The RCC configuration has not changed since the project was last successfully exported under 5.3.0. This is blocking us from using 5.4.0 since not all of our projects have upgraded to OpenSTLinux MP 1.1.0 release yet, so we need to support the older projects until they're updated.
I'm currently trying to use the Linux API for RPMSG [1]. However, trying to use the example provided in the documentation does not compile (with the OpenStLinux SDK or with my host machine) even though I have the headers installed. Even the sample provided in the Linux repository does not compile [2]. I have succeeded in opening the /dev/ttyRPMSGX sockets as regular files and using the read(), write() API's. In this case we have the M4 that is passing serialized byte arrays through openAMP, and the Linux application reading the arrays and deserializing them. I sometimes see that there are some bytes missing the the array for a successful deserialization when using the read() interface.If anyone here has succeeded in using the RPMSG interface, how did you do it?Also does anyone have an idea why there might be some data loss when using the read() api?[1]: https://github.com/torvalds/linux/blob/master/Documentation/rpmsg.txt[2]: https://github.com/torvalds/linux/blob/master/samples/rpmsg/
Hi, I try to compile Android on the STM32MP1 following the Wiki and I'm hitting a problem :hico@debian-ha:~/work/st/android$ hico@debian-ha:~/work/st/android$ repo init -u https://github.com/STMicroelectronics/android-manifest -b st-android-9.0.0-2019-09-27 -m stm32mp1droid.xmlGet https://gerrit.googlesource.com/git-repo/clone.bundleGet https://gerrit.googlesource.com/git-reporemote: Counting objects: 1, doneremote: Finding sources: 100% (64/64)remote: Total 64 (delta 6), reused 64 (delta 6)Unpacking objects: 100% (64/64), done.From https://gerrit.googlesource.com/git-repo fb527e3..d1e93dd master -> origin/master a2cd6ae..e778e57 stable -> origin/stable * [new tag] v1.13.7 -> v1.13.7... A new repo command ( 1.26) is available.... You should upgrade soon: cp /home/hico/work/st/android/.repo/repo/repo /home/hico/bin/repoGet https://github.com/STMicroelec
$ stm32mp1setup [1/3]: Apply patches Apply patches based on required configuration ERROR: not possible to apply kernel-headers/0001-stm32mp1-Align-kernel-headers-to-CK-4.19.17 on external/kernel-headers [2/3]: Load graphics libraries => Extracting data to device/stm/stm32mp1/graphics => Extracting data to device/stm/stm32mp1-kernel/gcnano-driver => Applying required patches to device/stm/stm32mp1-kernel/gcnano-driver [3/3]: Load op-tee user module sourcesWhen I try to build kernel:$ load_kernel Start loading the kernel source (Linux) ERROR: Not possible to apply patch .../build/device/stm/stm32mp1-kernel/source/patch/4.19/0001-ARM-stm32mp1-r2-MACHINE.patch, please review android_kernel.configWhen I try to make:$ make -j ============================================ PLATFORM_VERSION_CODENAME=REL PLATFORM_VERSION=9 TARGET_PRODUCT=aosp_eval TARGET_BUILD_VARIANT=userdebug TARGET_BUILD_TYPE=release TARGET_ARCH=arm TARGET_ARCH_VARIANT=armv7-a-neon TARGET_CPU_VARIANT=corte
The number of frames per second does not exceed 10. Will there be any performance improvements? Are there any tips?
Hi, I wanted to flash the EVAL board with the latest Android version and I've got this error (see attached file)Any idea ?Thanks !Best regrads,Anthony Harivel
I am trying to debug my M4 program on systemworkbench (eclipse) for the board stm32mp157c-dk2 and the host computer is ubuntu. I have set breakpoints in normal flow and also in exceptional flows in the program. Program works very well in debug and I can see the outputs via my qt program on linux side on mini display. But the flow never stops by breakpoints. The breakpoints have no effect. I am doing the following steps correctly. Please tell me what is missing or what I am doing false... build the project in eclipseselect production mode in debug configuration because the program is based on the example "OpenAMP_TTY_echo" give the ip address in debug configurationright click on project and select Debug As --> ST's STM32 MPU C/C++ ApplicationAnd this is the log on console when the debug startsOpen On-Chip Debugger 0.10.0+dev-01124-gbfb41e6 (2018-11-16-15:00) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html debug_level: 1 cortex_a interrupt ma
28 locations around Europe are still open; next event in Frankfurt September 3, last one in Spain November 27.https://www.st.com/content/st_com/en/about/events/events.html/stm32mp1x-hands-on-workshop-emea-2019.html
I have a STM32MP157C-DK2 eval kit and am looking into Bluetooth mesh. According to Murata the wireless \ bluetooth module that contains a Cypress part is mesh compliant and the board has v5.50 of BlueZ so theoretically the version of Linux supports it. Unfortunately it seems to have very minimal Bluetooth tools on the device (i.e. none) and I have been trying to get meshctl which seems to involve cross compiling in on ubuntu but without much success. Has anybody had any luck in doing this or have got mesh working?
Hi,In my M4 program within while loop, I have made a for loop which iterates infinitely for 0.75 seconds like this but didnt work at all. I used time.h for that. Are we allowed to make this kind of loop within the while loop in M4 program ?Do you have any idea why it didnt work ? clock_t begin; double time_spent; unsigned int i; begin = clock(); for (i=0;1;i++) { /*do my staff */ if (VirtUart0RxMsg) { Check_Delay(VirtUart0ChannelBuffRx, VirtUart0ChannelRxSize); VIRT_UART_Transmit(&huart0, VirtUart0ChannelBuffRx, VirtUart0ChannelRxSize); VirtUart0RxMsg = RESET; } time_spent = (double)(clock() - begin) / CLOCKS_PER_SEC; if (time_spent>=0.75) break; } }
For enabling Raspberry Pi 7 inch touchscreen I configured device tree according to the binding. However, when I compile it it gives me syntax error and FATAL ERROR: Unable to parse input tree. I have read many pages of website about device tree but got no result. You can view my device tree and display's binding in the attachment. May you direct me to a correct way?Halil
Dear team,We have a design with stm32mp157aac MPU, and we use MIPI DSI as the display interface to a device with 1280x720@60 RGB888, the PCLK is 74.25MHz, the DSI works at non-burst sync event video mode. But the image is flickering continously. When we adjust the frame rate to 50Hz, PCKL is still 74.25MHz, the UI is not flickering continously any more, but it's not be compatible with most monitors.We have tried to test with video mode test pattern by setting 0x5a000038, we got the same result. The only difference of these two mode is the register 0x5a000050. The register values are show below.1280x720@60: 0x5a000038 : 0x13F010x5a00003c : 0x500 // 12800x5a000040 : 00x5a000044 : 00x5a000094 : 0x010x5a000048 : 0x3c0x5a00004c : 0x1490x5a000050 : 0x9A30x5a000054 : 0x50x5a000058 : 0x140x5a00005c : 0x50x5a000060 : 0x2D0 // 7200x5a000430 : 0x110008951280x720@50:0x5a000038 : 0
Hi there,I am trying to use the plasma-mobile enviroment as default in the x11 distro. I documented in detail everything in this issue (easy to reproduce): https://github.com/schnitzeltony/meta-qt5-extra/issues/73Can someone from ST look into this to add support for plasma-mobile in the next release? ThanksVictor
When signing OP-TEE pager and pageable binaries, the information written to the BinaryType field of the STM32 header (byte 255), unless I have wrong view about semantics (teex->pager, teed->pageable) and typical values (pager->0x21, pageable->0x22), is erroneous.Signing tool command `--type teed` writes 0x21 and `--type teex` 0x22, while 0x22 and 0x21 are expected respectively.e.g., signing OP-TEE pageable binaryRegards,Otto
I configured UART7 and USART3 to work with RTS in linux (for A7) - I generated the DTS and checked to use the correct pins (according to schematics) to make sure are mapped to the Arduino connector (UART7) amd RPI GPIO like connector The UART7 & USART3 are getting mapped correctly to /dev/ttySTM1 & /dev/ttySTM2 and work as expected but the RTS line doesn't toggle. I wrote a small program which is opening the /dev/ttySTM1 & /dev/ttySTM2 and I'm forcing the RTS line but nothing happens (monitoring the lines with the logic analyzer)any idea why RTS is not working?The relevant sections from device tree below******* 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_RTS */ bias-disable; drive-push-pull; slew-rate = <0>; }; };************ usart3_pins_mx: usart3_mx-0 {
The hardware is STM32MP157C-DK2 board.1. We setup the test environment as below:We bridge the USB port and the Ethernet port in the ST.The throughput is about 270Mbit/sec(Limited by the usb to Ethernet convertor).2. Another test environment is:The ST is using the USB gadget functions. The USB port and the Ethernet port are bridged.Result:RNDIS: 90Mbit/sec.CDC-EEM: 110Mbit/sec.CDC-ECM: 135Mbit/sec.The performance is not good enough compared to test1.Is the speed limited by the USB-OTG controller(dwc2)?Can we change the DMA settings in the dwc2 ? Or anyway to improve the throughput?Please help!Thank you very much.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.