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 following the tutorial here but when I define `VIRT_UART_HandleTypeDef huart0;` I get error: unknown type name. It seems like the only include I should need is openamp.h, but that doesn't seem to do the trick.
HI all,We are using LAN8720 as the ethernet PHY for connectivity.The IC has 25MHz crystal connected for the refclk and we want to run in RMII mode. We have requirement of not using the INT_N for the ethernet IC.Upon exploring the ST Docs I was not able to figure out the same. What should be the correct device tree configuration for the same? We need to get it up correctly for each of TF-A , U-BOOT and Kernel ? So looking for answer around the same for device tree changes for each of these.LAN8720 + RMII Mode + REFCLK with no using the INT_N interface.Really appreciate the help.
I'm using the bootlin buildroot branch: st/2021.02.I want to run a certain function on init of the Uboot (board_init function), like the ones used for the DK1 and DK2. My problem is that the function doesn't seem to be called. I have tried to debug the problem and put printf and put commands to get something shown on terminal, but nothing gets printed on terminal. I also tried to put while(1); function, to the board_init function, but the boot just goes on. When using make uboot-rebuild, I can see that the stm32mp1.c is compiled after I have changed it. I also deleted everything on output/images, so that the new images are really made. I also tried to do the same to board_late_init function, but no change.What am I doing wrong? Is the function not really called? If not, why? And if yes, why isn't it even stopping with while(1) endless loop?
I'm trying develop on Cortex-M4 of "Getting started STM32MP157x-DK2".I have a problem that don't detects the board IP address when "6 Check connection to the target" of Modify, rebuild and reload firmware.However, Linux prompt are displayed in the console windows by clicking on the "STM32 butterfly button" and I can run Linux command on the board.Serial target widget status icon is yellow light, and status is "idle".I read STM32CubeIDE support wiki page (this page), but I can't discover solution this problem.Are there any other settings that should be made?Am I missing something?I use STM32CubeIDE on Windows10 OS.I'm not familiar English, so I'm sorry if my sentence is strange.Best regards.
Hello, i'm trying to use M4 kernel from A7 kernel worked under linux.I've started with openSTlinux distro and it works well (i can upload firmware to M4 using rproc), but for some reasons i need to make a very small distro (less than 16 mb). For this i'm started to use buildroot build system, which i configured to use linux kernel from https://github.com/STMicroelectronics/linux (i've tried to use 5.10 and 5.4 branches)I'm try to original .config from openstlinux (/proc/config.gz) to build my own kernel and it builds fine. But when system is booting up i've got a regrettable messages:[ 1.667275] stm32-rproc 10000000.m4: error -EINVAL: failed to get mcu reset[ 1.674148] remoteproc remoteproc0: releasing m4[ 1.678863] stm32-rproc: probe of 10000000.m4 failed with error -22Some investigation brought me to file drivers/reset/core.c and function static int of_reset_simple_xlate(struct reset_controller_dev *rcdev, &nbs
Hi , We are using the STM32MP157-dk1 board. We are able to boot the both cores (cortex A7) bare metal code from the SRAM but where as loading to the DDR that time only core 0 is booting properly and core 1 not booting. Is their any way to enable the DDR accessing to core1(second A7).
Using the ecosystem v1.2 after a cold boot the system boot properly but after issuing a reboot command the system loads u-boot but it gets stuck at loading the kernel. Are there any known limitations/issues?
Hello, I want to use DDR test suite in STM32 cube IDE but I always have a error when I try to connect my board. I think I understood that was because I have to modify something with stage boot with SPL. I red the docs but I am quite lost can someone give me the steps to make DDR test suite work ?Kind regards
We are trying to bring up a custom board which used STM32MP157FACx processor.The DDR memory model we use is W63AH2NBVABE which is a LPDDR3 32-bit. We use CubeMx to generate the device trees. We have chosen the configuration shown below in the picture in CubeMx which generated tf-a device trees and one of them (stm32mp157f-projectname-mx-fw-config.dts) included the following device tree, which is non-existent.#include "stm32mp15-ddr-128m-fw-config.dts"The above device tree is not available in the tf-a source in the developer package (Developer-Package/stm32mp1-openstlinux-5.10-dunfell-mp1-21-03-31/sources/arm-ostl-linux-gnueabi/tf-a-stm32mp-2.4.r1-r0/tf-a-sources/fdts) or in the git.How do we get this file? Does it expect the developer/user to create one? if so, why does the comment not let the user know that? Any pointers would be much appreciated. Thanks!
Hi,I'm working the stm32mp157c som and trying to boot external quad spi flash (cypress S25HL512T). I added this to dts. &qspi { pinctrl-names = "default", "sleep"; pinctrl-0 = <&quadspi_pins_mx>; pinctrl-1 = <&quadspi_sleep_pins_mx>; status = "okay"; #address-cells = <1>; #size-cells = <0>; flash0: flash@0 { compatible = "n25q512a","micron,m25p80"; reg = <0x0>; #address-cells = <1>; #size-cells = <1>; spi-max-frequency = <50000000>; partition@0x00000000 { label = "boot"; reg = <0x00000000 0x00500000>; }; partition@0x00500000 { label = "bootenv"; reg = <0x00500000 0x00020000>; }; partition@0x00520000 { label = "kernel"; reg = <0x00520000 0x01ae0000>; }; partition@0x02000000 { label = "spare"; reg = <0x02000000 0x00000000>; }; }; };aliases { spi6 = &qspi; };On the kernel side, I followed the following link.https://wiki.st.com/s
Hello,I would like to embark on a project for a custom board with the STM32MP157DAB1 and I am referencing the STM32MP15-DISCO schematic from ST which uses the STM32MP157CAC3.My Question: How do I translate between the functionality of the pins?From observation, some functionality in one package does not translate to the other and after searching the datasheet, I am lost and need some guidance.Example, PC0 functions as LTDC_R5 (in the STM32MP157CAC3) and is connected with the video input of the SiI9022ACNU(another chip on the discovery board). How do I translate this functionality to the STM32MP157DAB1? What pin do I use for this on the STM32MP157DAB1?Any help is appreciated, thanks!PS - just an afterthought after reading other posts, do I have to use the STM32CubeMX to define such properties?
Hi,We are using stm32mp1 uboot. I have stoped uboot and i run baremetal appilication it works fine.after sucessfull completion of baremetal application.how do i go back u boot prompt?
Looking at the clock in the MX Device Configuration Tool it says 204 to APB1 Timer Clocks (MHz).To get to 10000 Hz I have to divide 204 MHz by 20400. Fortunately there are a bunch of ways to do this. But on the first try I tried Prescaler 51Counter Period 100Internal Clock Division Division by 4The reason I did it this way is that I suspected 10000 Hz will be too fast and they will eventually go to 1000 Hz or something between 1000 Hz and 10000 Hz and it would be easy to change the counter period for the new value. I saved it and generated new code. static void MX_TIM14_Init(void) { /* USER CODE BEGIN TIM14_Init 0 */ /* USER CODE END TIM14_Init 0 */ TIM_OC_InitTypeDef sConfigOC = {0}; /* USER CODE BEGIN TIM14_Init 1 */ /* USER CODE END TIM14_Init 1 */ htim14.Instance = TIM14; htim14.Init.Prescaler = 51; htim14.Init.CounterMode = TIM_COUNTERMODE_UP; htim14.Init.Period = 100; htim14.Init.ClockDivision = TIM_CLOCKDIVISION_DIV4; htim14.Init.Aut
I have tried it and it works but I wanted to see if there are any limitations. The boards are identical the only difference is the MPU.
..
Is there any plan to release C++17 compatible HAL and LL libraries for MP1 platform? I had written a lot of code in C++17 and later found out that MP1 libraries are full of `register` keyword which is not supported since C++17. A temporary solution is of course deleteing the keyword from all HAL and LL sources (no hard work, there are only about 20 occurences), but I would like to know the official plan or statement about this.Thank you.
Hi.Is there a way to properly power off the board without using the console's poweroff command?Tried to press wake-up button for 10 seconds with no effect...Regards,Vlad.
We have custom SOM which has been designed with STM32MP157C.We are using the OpenSTLinux 3.0.0 as of now as the distribution running on it.In case of LAN PHY interfacing we are using LAN8720.There is a strange behavior , upon I can see the below message in top.This process is hampering the cpu performance. When running GUI based application I can see definite lag which occurring because of this. The issue completely random earlier but now pretty consistent. Any ideas what might be happening here?Any leads are highly appreciated TIA
I've enabled pps-gpio and pps in the kernel config and added the following to the device tree:/{ //... pps{ compatible = "pps-gpio"; gpios = <&gpiod 13 GPIO_PULL_UP>; status = "okay"; }; };but this results in the following when starting the system:[ 1.350093] pps-gpio pps: failed to request PPS GPIO [ 1.350132] pps-gpio: probe of pps failed with error -22do you have any hint for me how i can fix that?I also tried adding a pinctrl section (which resulted in other problems).Thanks!Thomas
Hi,I have some doubts about how I could sample from the ANA0/ANA1 pins of an STM32MP1 CPU from inside the M4 firmware via HAL. I would like to programmatically switch between these two pins.Sampling from ADC_CHANNEL_0 seems to work, so I guess it is connected to ANA0. But sampling from ANA1 / ADC_CHANNEL_1 does not.Could anybody point me to some documentation or, event better, example source code?Thank you,Antonio
Good day,Has anyone been able to compile Azure Sphere OS for the STM32MP157D-DK1.I have the yocto environment configured, and I am able to build a vanilla embedded Linux image, but when I add the azure bblayers to the build. the build fails. I also tried building the OS with the provided build-os.sh script, it built successfully but I was not able to get the dev board to boot.Kind regards,Rayaan
I am trying to customize the boot script which is used to boot my STM32MP157 Avenger96 board. I want to include some u-boot variables and alter the boot process.Current boot script:if test -n "${distro_bootpart}"; then setenv partition "${distro_bootpart}" else setenv partition "${bootpart}" fi if test ! -e ${devtype} ${devnum}:${partition} boot/fitImage; then echo "This boot medium does not contain a suitable fitImage file for this system." echo "devtype=${devtype} devnum=${devnum} partition=${partition} loadaddr=${loadaddr}" echo "Aborting boot process." exit 1 fi part uuid ${devtype} ${devnum}:${partition} uuid # Some STM32MP1-based systems do not encode the baudrate in the console variable if test "${console}" = "ttySTM0" && test -n "${baudrate}"; then setenv console "${console},${baudrate}" fi if test -n "${console}"; then setenv bootargs "${bootargs} console=${console}" fi #New variables I want to include bootlimit rootfspart set
I am evaluating the STM32NP157D Discovery Kit.In the Getting Started Section I have successfully done the gtk_hello_world step.The next step successfully rebuilds the kernel. After pushing it on the board I do the reboot and get the following Error message during booting:# Booting kernel from Legacy Image at c2000000 ... Image Name: Linux-5.10.61 Created: 2022-01-23 13:24:54 UTC
I have built a test program from the two examples PWR_STOP_CoPro and LPTIM_PulseCounter. With the LPTIM_PulseCounter I changed the CounterSource to LPTIM_COUNTERSOURCE_INTERNAL and adjusted the priority HAL_NVIC_SetPriority (LPTIM2_IRQn, 0, 0);Both programs run as expected only when I start the timer HAL_LPTIM_TimeOut_Start_IT (& hlptim2, 0xFFFF, 0x7000) and then go to STOP Mode HAL_PWR_EnterSTOPMode (PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); the M4 core does not wake up by the LP Timer interrupt, but an EXTI interrupt lets it wake up.Can someone tell me what I might have overlooked?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.