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
Hello,I would like to setup environment for STM32MPU according this instruction:https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP157x-DK2/Develop_on_Arm%C2%AE_Cortex%C2%AE-A7/Install_the_SDKso I downloaded the SDK .tar https://www.st.com/en/embedded-software/stm32mp1dev.html#get-software/SDK-x86_64-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15.tar.xzand run the script and got an error ./st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-4.0.1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15.sh Extracting SDK............................................................................................................................................................................................................................done Setting it up...xargs: file: No such file or directory sed: no input files Failed to replace perl. Relocate script failed. Abort!I run this script in docker based on ubuntu. All necessary packet installed. FROM u
Hello,I’m using an ST MP1 Development Kit STM32MP157C-DK2 to develop and deploy projects involving Machine Learning on an SoC.I need to perform some pre-processing operations on data coming from different sensors and to do so I have at my disposal Python scripts with dependencies from libraries like NumPy, Pandas, SciPy, and Librosa.While the first ones can be easily resolved by installing them via apt, (python3-numpy and python3-pandas), I’m encountering difficulties with the other ones (scipy and librosa), which are not available on ST repositories.I tried installing them via pip3, but it requires a compiler to build both libraries and dependencies from scratch, and the current Linux image I’m using doesn’t include it.Do you have any ideas on how to proceed, to help me?Thank you,Andrea.
I could not find any information relates to vbat battery charging in user manual or datasheet.Is this feature supported in STM32MP15x?Thanks,
I have two boards stm32mp157f-dk2 and my custum board(embedded stm32mp157d).I know that the difference stm32mp157f and stm32mp157d is simply security part.And my custom board don't have C-type connector because of issues in parts supply.So, After plugging the sd card into the stm32mp157f-dk2, I flashed the flashlayout dedicated to stm32mp157d via the stm32cubeprogrammer.And then, does it boot if I put the sd card back on the custom board?I've been looking for a reason why my custom board hasn't booted for weeks...What we've seen so far from the cmd and DAT0 signals on the sd card is that the initial cmd signal has the same logical level, and the DAT0 signal is slightly different.I'd appreciate it if you could let me know.Thank you
The two graphs above are the data obtained from different cores. The left side is the MCU method start, the sampling rate is 1.6M, the acquisition of 1KHz signal, the acquisition of 1600 points is correct; the right side is the EMMC from the A7 core start ADC in M4, the acquisition of only about 600 points, the sampling rate is obviously wrong. The output of the data in the above two ways is the same, both are serial printouts Translated with DeepL
We are using LPDDR2 and have wired the data bits as per the ST provided example STM32MP15XXAD_LPDDR2x16-Example-A01_Schematic.PDF (attached)We have swapped the same bits in the DQ15:8 byte as per the PDF but I can't find anything to tell me how to perform this swapping in the devicetree or otherwise.Below is the screenshot from the Application Note detailing that bit swapping is possible.
Hello,when configuring a binary semaphore with CubeIDE the parameter initial_count defaults to 1. Is there a way to tell CubeIDE to always initialize this with value 0 for my projects?regardsHerbert
Hello,I am having difficulties with the MMC bus and the external SDIO wifi module. We are using the wifi module jody-w263 from U-blox with the OSD32MP1, and the communication with the module works, but it is quite slow. The wifi module is capable of SDR 104 and DDR50 communication speeds, but I add the support to the DTS, the communication is broken and the device returns the -110 while initializing.How can I add support for higher speeds?I attach the working dts, dmesg, ios and caps, and relevant schematic.Any suggestion will be appreciated.Best regards,Tomáš.
Hello,We are using DDR3 for our baremetal application in stm32mp1.we have completed the initialization sequence followed by the application note AN5168 provided by ST.After completion of initialization sequence we are trying to write the data into DDR3, but it is getting hanged while writing i.e. it is not writing into memory. May be we might not configure the speed and size of DDR3/DRAM.Please can you help how to configure the same. By providing any hint like registers name or any link regarding the initialization.As we are working on it since long back and it is urgent to us ,So please do needful at the earliest.regards,Navaneeth Kumar
Hello!I'm new at ST!I'm looking to rebuild a project I built on a SBC (rpi4), but now in a board for commercial use and mass production, as for now I bought nucleo64 - F401 for testing.The project consist on connecting a webcam, displaying photos on a OLED display, and saving photos on a usb-drive.Is this possible with Nucleo board? Or, is there any other board/way you guys recommend?I heard that the best way is definitely a Linux SoC. If so, any suggestion?Thanks, I'm open for literally any kind of advice.
Hi,I try to combine STM32MP157CAA3 with DDR3L 8Gbits density. I modified cubemx to support 8Gbit memory and recompiled the Openstlinux mp1-v22.11.23 kirkstone.The problem is that DDR3 is detected in the first stage U-Boot but not executed 2nd stage U-Boot and reboot a few times after stack. The question is do STM32MP157CAA3 support 8Gbits density DDR3 memory in one chip and if yes what is wrong?Log from boot processNOTICE: CPU: STM32MP157CAA Rev.Z NOTICE: Model: STMicroelectronics custom STM32CubeMX board - openstlinux-5.15-5 INFO: PMIC version = 0x21 INFO: Reset reason (0x15): INFO: Power-on Reset (rst_por) INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe2000 INFO: FCONF: Reading firmware configuration information for: stm32mp_io INFO: Using USB INFO: Instance 2 INFO: Boot used partition fsbl1 NOTICE: BL2: v2.6-stm32mp1-r2.0(debug):v2.6-dirty(a1f02f4f) NOTICE: BL2: Built : 13:14:26, Nov 23 2021 INFO: BL2: Doing platform setup INFO: RAM: DDR3-DDR3L 16bits
Is stated on STM32MP157 datasheet's boot mode table that the MPU can be booted through UART: – USART2/3/6 and UART4/5/7/8 on default pins Nevertheless, I wasn't able to find which are the default pins for the UART interfaces, on the datasheet or reference manual. Where can I find those? STM32MP15-DISCO schematics uses UART4 pins PG11 and PB2 routed back to the Serial/USB bridge, are those UART4 by default? GPIOx_AFRH/L reset value is 0 for all ports, and no UART pin is selected on AF0.
I am trying to achieve hard real-time under 100us on the STM32MP157f-eval, specifically, on the Cortex A7 dual core.Note: I specifically target the Cortex A7 cores because the M4 is already taken for other tasks which requires much smaller latency.What I did so far is:Build the Yocto openst-linuxAdd Preempt-RT patchAdded several software: irqbalance, tuna, hiccups... to monitor and tune the system.Isolate one coreTested high-priority process, also IRQ. Tested with internal clock and external oscilloscope.Tried to disable most driversAfter all those efforts, the jitter did not improved, and I still get >1ms jitter when applying load for enough time.------------------------------My next step is to ensure that the cpu frequency is not throttled. I read https://wiki.st.com/stm32mpu/wiki/How_to_change_the_CPU_frequency but it's not yet clear to me how to check and set this.Also, most general questions found on internet don't seem to apply to this architecture.How to check that cpu freque
"Does this mean that I can only use the other three options exclude 'free' in either M4 or A7 and cannot switch between them?"
On the STM32MP157-DK1 schematic there is a note to say "WARNING - do not supply 3V3,5V from Arduino shield", even though it looks as though pin 5 on CN16 is electrically connected to 5V_VIN via a 0R resistor.It's going to be very inconvenient to use the USB-C connector from within an enclosure , so I was wondering if that was just because the board wants more power than a single pin can provide ? Or if there's another reason.There is no such note on the GPIO Expansion header (where pins 2,4 are connected to 5V_IN) - is this because there are 2 pins to share the load, or should I not power the board from the GPIO expansion header either ?
Hello,I am currently working with st-image-core in Yocto and attempting to remove some packages that are not necessary for our needs. While I have successfully removed a few packages, some functionality on our board has stopped working because I may have removed too much.Most of the packages I removed were from packagegroup-base-extended, which I removed completely. After checking which packages from that packagegroup were necessary to add back, I encountered an error. However, when I add packagegroup-base-extended back, the error disappears. This is confusing because I am adding fewer packages than those included in packagegroup-base-extended:ERROR: st-image-core-1.0-r0 do_image_tar: The rootfs size 1247592(K) exceeds IMAGE_ROOTFS_MAXSIZE: 753664(K)I have tried overriding IMAGE_ROOTFS_MAXSIZE in our bbapend file, but it doesn’t seem to have any effect. Is there any way to fix this error?Thank you.
The ST33xxxx with backside terminal.My question is about this back side terminal .Which is this terminal conect to GND or Vcc.OR ,Is this used open. thankyou.
I am using an STM32MP151 in linux (5.4.56) and therefore using the DTS to setup some GPIOs i need.I have difficulties setting up PUSH_PULL | PULL_UP configuration in the DTS for my GPIO, while, after linux has booted, using devmem i am successfull in altering the PUPDR for this GPIO and read the new config.In my DTS:main_ss_en-gpios = <&gpiod 13 (GPIO_ACTIVE_HIGH | GPIO_PUSH_PULL | GPIO_PULL_UP)>;Howver, when i read the PUPDR register with devmem, this is all zero.In my board, this gpiobank is at 0x50005000.After Linux started up, using devmem, i can see:# devmem 0x5000500c 0x00001000while it should read 0x08001000 or 0x04001000, depending if i set PU or PD.If now i set one of those values, devmem should it correctly.I tried to look at the gpio driver, pinctrl driver, etc ... i cannot see a reason why this is not applied upon parsing the dts.Am i missing something here ?THanks,Jacques
I've got the STM32MP135F-DK Discovery kit yesterday; and am going stuck on setting up and using the contributed microSD. Demonstartions are not starting.My Steps so far:- STLink software is installed (WIndows10 pro). - the supplied microSD ist installed in Discovery Kit- Power is supplied to USB-C- Boot switches are set as described in Table 5 of the UM, Boot from SD card on SDMMC1. (pg.13, Table 5, Boot0: 1 / Boot1: 0 / Boot2: 1 )What going on on Display: - Screen1: "ST live.augmented"; dark, then ..- Screen2: left side "ST32 MP1" & Linux symbol ..- then display is going dark, no more responses. Reading the supplied microSD with Windows 10 only shows many empty drive letters.(I did not format the µSD, as Windows ist suggesting)My questions:1. which demonstration should I see from the base demonstration? (there are no examples at the UM)2. what steps are required to start the demonstrations?3. how is it possible to check the contents o
I am trying to transmit variables via the uart2 serial port from GY-521(mpu6050) library, however, all my attempts are unsuccessful. typedef init in the main.c:MPU6050_t sensor_data;main.c area to put HAL_UART_Transmit(): while (1) { MPU6050_Read_All(&hi2c1, &sensor_data); HAL_Delay(100); }.h needed structure variables to transmit into serial port: typedef struct{ int16_t Accel_X_RAW; int16_t Accel_Y_RAW; int16_t Accel_Z_RAW; double Ax; double Ay; double Az; int16_t Gyro_X_RAW; int16_t Gyro_Y_RAW; int16_t Gyro_Z_RAW; double Gx; double Gy; double Gz; float Temperature; double KalmanAngleX; double KalmanAngleY;} MPU6050_t;
hi st expert:I'm updating my yocto version to Ecosystem V4.1.0, but I can not compile suceess in wsl ubuntu20.04, this is error log:log.do_rootfs.23400 as follew:How should this problem be solved? thanks B&RTao
Hi,I am working on the implementation of a AI algorithm in a heat pump. My first choice was the SPEAr320 MPU: it is outdated though, it doesn't have enough resources and any FPU. Which MPU should I choose for this application ? that is to say inference and training of the AI algo.
I recently purchased a STM32MP135F-DK Board to develop a IoT application. I'm slowly learning my way though OpenSTLinux. but for a urgent need i need to develop a hand application demo. the product description says it also supports bare metal RTOS programming. I'm unable to set a C Programming environment for STM32MP135F on STM32CUBEIDE like for STM32 Micro controllers. It only open's on ST Linux development environment only. kindly guide me a way for bare metal programming on STM32MP135F.
Hi, I'm working with the STM32MP157 and I'm trying to interface it with 4 lanes DSI display. the problem is that the STM32MP157 support only DSI with 2 lanes. In the other hand, I can't program the controller of the display (JD9365DA-H3) to switch with 2 lanes display. So I want to know if the display can work with only 2 lanes instead of 4. In general, how we can interface (no programmable) 4 lanes display with STM32MP157Thank you
When debugging my firmware using STM32CubeIDE, the debugger seems to miss the start of the program. As an example, when I put breakpoints right at the top of main(), they are ignored. It's not only a couple of lines that are affected, but pretty much all the initialization etc. cannot be debugged because breakpoints there do not have an effect.It seems to me as if the program would start before the debugger is ready/active, therefore debugging is only possible with a delay.To confirm this, I put the following code at the top of main:int test = 1; while(test) { }The while-loop is not left until I manually change the value of test to 0, which then makes it possible to set breakpoints to other lines following, where breakpoints were ignored before.This is very frustrating, as it makes debugging very cumbersome.Also, if I add a specific call to my main() (HAL_DMA_DeInit()), I get the following error, which also seems to be related to gdb...?Open On-Chip Debugger 0.12.0-rc1+dev-00061-g5e9b
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.