Get ready for the STM32 Summit 2026 | Online, November 3
Ask questions and find answers on STM32 microprocessors, including hardware, power, DRAM, flashing, interfacing, device tree, and peripherals.
Most recent activity
I know that to get PPS output on the Ethernet PPS Pin PG8 that the device tree has to configure the pin for AF11. I also believe that PPS has to be enabled somehow? On some embedded Linux systems there is a /sys/class/ptp/ptp0/pps_enable variable to enable the PPS output with PTP but I am not seeing it. I also see PPS code such as the dwmac5_flex_pps_config function in the stmmac Ethernet driver. What tells OpenSTLinux to enable PPS? Is there a variable that needs to be set using setvar at boot? I have utilized the LinuxPTP recipe and can run ptp4l in OpenSTLinux. If we can get it working on the STM32MP1 we desire to use the PTP PPS signal synchronized to a PTP master. We are using the STM32MP157C-DK2 for evaluation.
Hello,Our team is currently working on stm32mp1 boards (the dk2 and the ev1).Our software architecture is using TFA, OPTEE, Uboot and Linux.For our needs, we have developed an SPI driver for OPTEE. The OPTEE version on which we developed this driver was 3.3.0. This SPI driver has been used flawlessly with SPI6 (Secure only on GPIOZ) and SPI5 (NonSecure only on GPIOF).To keep up with ST development, we have rebased the new 3.9.0 branch on our custom 3.3.0 branch.We have now issues with our SPI driver on 3.9.0 :· No SCK and no MOSI/MISO (only chip-select) on the SPI5· Only SCK and CS are working on the SPI6, no MOSI/MISO.We have conducted extensive debugging, checked all the relevant registers (Clocks, Gpios, SPI) but without finding hints of what was wrong.Do you have ideas of new features/modifications introduced by the 3.9.0 development which cou
I changed name of orginal device-tree of my board stm32mp157c-dk2.dts. Then I tried upload tf-a and uboot to device via STM32_Programmer_CLI. Program proper uploaded tf-a and I see my new Model name but now program wait for reconnecting and my device is hald.WARNING: Skip signature check (header option) NOTICE: ROTPK is not deployed on platform. Skipping ROTPK verification. NOTICE: BL2: Booting BL32 INFO: Entry point address = 0x2ffed000 INFO: SPSR = 0x1d3 NOTICE: SP_MIN: v2.2-r1.0(debug):v2.2-dirty NOTICE: SP_MIN: Built : 13:36:23, Oct 22 2019 INFO: ARM GICv2 driver initialized INFO: stm32mp IWDG1 (12): Secure INFO: SP_MIN: Initializing runtime services INFO: SP_MIN: Preparing exit to normal worldI don't get any error so I don't know what can be wrong. When I uploaded the same device-tree but with original name u-boot is bootingregards,Adrian
..
We are searching for a training possiblity on the MP1 processor, which is in Germany. Mainly we are interested in the HW and the software e.g. multiprozessor handling. There are online courses but they do not deep dive. Anyone an idea about this? ST itself has to training partners but both come from a high risk area and therefore, a face to face training is not possible (from our companies rules). Thank you for your help (if there is any) :smiling_face_with_smiling_eyes:
Hi,I have a custom board with a ST32MP157C and a 24AA025E48 on a i2c bus.In the U-Boot, I want to read the MAC address located in the 24AA025E48 on the i2c bus 1 at address 0x53 at offset 0xFA.When I can use the following commands it works (MAC Address: 80:1F:12:36:36:7B)STM32MP> i2c dev 1Setting bus to 1STM32MP> i2c md 53 FA 600fa: 80 1f 12 36 36 7b ...66{STM32MP> but when i use the i2c read it does not answer anything.STM32MP> i2c read 53 1 6 FASTM32MP> what is wrong with the command ?who can i do to store the result in a variable in order to change the board ethernet mac address ?Thanks.
HiI am working on the A7-M4 big data exchange example included in the next branch:https://github.com/STMicroelectronics/meta-st-stm32mpu-app-logicanalyserThere is a la_reserved node that is included in thereserved-memory node of the stm32mp157c-demo-logic-analyser-mx.dtsla_reserved: buffer@db000000 { compatible = "shared-dma-pool"; reg = ; no-map; }; https://github.com/STMicroelectronics/meta-st-stm32mpu-app-logicanalyser/blob/thud/mx/STM32MP157C-DK2/demo-logic-analyser/DeviceTree/demo-logic-analyser/kernel/stm32mp157c-demo-logic-analyser-mx.dtsIt looks that this memory is used for the m4_dma2 device tree node.&m4_dma2 { memory-region = ; status = "okay";}It looks that it is to reserve specific dma external memory addresses for the m4, but If i am not wrong the A7 is mapping external dma memory inside the rpmsg_sdb_mmap() function using dma_alloc_writecombine(), so this DMA memory should be allocated from the CMA, then the
Hi all.The en.MB1272-DK2-C01_Schematic.pdf states thatARD_A0 : PF14 -> ADC1_IN0ARD_A1 : PF13 -> ADC1_IN1ARD_A2 : ANA0 -> ADC2_IN6ARD_A3 : ANA1 -> ADC2_IN2I've spend quite some time to figure out that this is wrong and the correct pinout is:ARD_A0 : PF14 -> ADC2_IN6ARD_A1 : PF13 -> ADC2_IN2ARD_A2 : ANA0 -> ADC1_IN0ARD_A3 : ANA1 -> ADC1_IN1Can you please verify and if it's so then update the pdf?Regards.
I installed st-example-image-x11.Matchbox windows manager started on foto. And ! have 2 problem. Till.1st problem.I can not change the orientation of the matchbox panel. I changed the lines in the /usr/bin/matchbox-session file: matchbox-panel --orientation southbut the screen orientation has not changed 2nd problemI can't again connect to the X server. Part of my program: int main( void ) { Display *d; Window w; XEvent e; char *msg = "Hello, World!"; int s; if( ( d = XOpenDisplay(DISPLAY) ) == NULL ) { // Connect X server printf( "Can't connect X server: %s\n", strerror( errno ) ); exit( 1 ); } return 0; }And I get in the terminal: Can't connect X server: SuccessWhat am I doing wrong?Best regardsAlexander.
Hello,I have an STM32MP157C-DK2 running OpenSTLinux using the STM32MP1Starter 2.0 image. I am wondering if it is possible to enable spidev drivers such that /dev/spidevx.x devices are available. I see that sys/bus/spi/devices exists, but there is nothing listed under it. I didn't see any spidev packages available using apt-cache search either.Also, this may or may not be related, but i2c5, which according to https://www.st.com/resource/en/user_manual/dm00591354-discovery-kits-with-stm32mp157-mpus-stmicroelectronics.pdf is what is used on CN2 (the 40-pin header) is not appearing either.ThanksMelissa
call every 40mS : static uint32_t count; VIRT_UART_Transmit(cameraCommHandle.huart,(uint8_t *)&count,sizeof(count)); OPENAMP_check_for_message(); count++;when i printing what i get in linux i got this:39.99 ms: 26240.00 ms: 26340.01 ms: 26440.00 ms: 26540.00 ms: 26639.99 ms: 26740.00 ms: 26840.01 ms: 26640.00 ms: 27040.00 ms: 27139.99 ms: 27240.00 ms: 140.01 ms: 27440.00 ms: 140.00 ms: 27639.99 ms: 27740.00 ms: 278and it repeat itself every 256 countsi attached the c program that reads the serial and prints the what in UARt.
Hi, I've been pointed out to STM32 to get a low latency HDMI input (splitted) receiver that can render the input into a video stream and process a neural network on it before sending the computed processed outcome (python or similiar) to another hardware system.What is the best hardware suited for this, what are the components I'll need and what is the expected latency (on rendering the video from the bytes stream)?Also this hardware will be compatible with arduino, raspberry, none or both?What I want to achieve is a linux minihardware connected to a board with an HDMI input that renders the stream of data and on which i can run YOLO/Opencv with the lowest latency possible, bear in mind the most important questions are the required hardware for processing the stream from the HDMI input and the latency of such hardware to process/render the data stream into a live feed that i can attach to yolo/opencv or similiar scriptsThanks for Your precious time!
Hello everyone, I would like to connect the stm32mp157c-dk2 card with the wm8960 audio codec,here is the device tree configuration I made./* sound card*/ snd_i2s2: snd_i2s2 { compatible = "audio-graph-card"; widgets = "Microphone", "Mic Jack", "Line", "Line In", "Line", "Line Out", "Speaker", "Speaker", "Headphone", "Headphone Jack"; routing = "Headphone Jack", "HP_L", "Headphone Jack", "HP_R", "Speaker", "SPK_LP", "Speaker", "SPK_LN", "LINPUT1", "Mic Jack", "LINPUT3", "Mic Jack", "RINPUT1", "Mic Jack", "RINPUT2", "Mic Jack"; dais = <&i2s3_port>; status = "okay"; }; /* i2s3 pin definition */ &pinctrl { i2s3_pins_a: i2s3-0 { pins1 { pinmux = <STM32_PINMUX('E', 12, AF5)>, /* SCK */ <STM32_PINMUX('E', 14, AF5)>; /* SDI */ bias-disable; drive-push-pull; slew-rate = <1>; }; pins2 { pinmux = <STM32_PINMUX('E', 13, AF5)>; /* SD
I have an STM32MP1-DK2 and have tried to install pip using several python mechanisms, but there are missing modules. The notable ones that I found missing are runpy and xmlrpc. Even when I go into python and type help() it spits out an error about pydoc missing. All available python packages have been installed via apt-get install.I'm wondering do I have a bad image or is there a way to get these built-in packages?
hi,i updated STM32CubeIDEto Version: 1.4.2Build: 7643_20200813_1322 (UTC)and now the debug session doesn't send the compiled firmware to the target and just starts the gdb connection :Open On-Chip Debugger 0.10.0+dev-g30d1303 (2020-06-18-09:13)Licensed under GNU GPL v2For bug reports, read http://openocd.org/doc/doxygen/bugs.htmlsrst_only srst_pulls_trst srst_gates_jtag srst_open_drain connect_deassert_srstInfo : Listening on port 6666 for tcl connectionsInfo : Listening on port 4444 for telnet connectionsInfo : STLINK V2J37M26 (API v2) VID:PID 0483:3752Info : Target voltage: 3.198425Info : Unable to match requested speed 8000 kHz, using 4000 kHzInfo : Unable to match requested speed 8000 kHz, using 4000 kHzInfo : clock speed 4000 kHzInfo : stlink_dap_op_connect(connect)Info : SWD DPIDR 0x6ba02477Info : stlink_dap_op_connect(connect)Info : SWD DPIDR 0x6ba02477Info : STM32MP157CAAx.cm4: hardware has 6 breakpoints, 4 watchpointsInfo : STM32MP157CAAx.cpu0: hardware has 6 breakpoints, 4 wa
Hello,I have been trying to work with the BSEC and write some data to the upper OTPs, where I managed to successfully write only to the words containing the MAC address. Then I realised, that the device tree needs to be modified to allow other OTP words to be written, however now the MCU does not boot up and it does not allow me to reflash it as well to fix the overwritten data. I have the MAC address, I just do not know how to write to OTP if I am not able to boot up. Any help would be greatly appreciated.The platform used is STM32MP157A-DK1 and the log during programming is here:NOTICE: CPU: STM32MP157AAC Rev.B NOTICE: Model: STMicroelectronics STM32MP157A-DK1 Discovery Board NOTICE: Board: MB1272 Var7.5 Rev.O-13 INFO: Reset reason (0x14): INFO: Pad Reset from NRST INFO: PMIC version = 0x10 INFO: Using USB INFO: Instance 2 INFO: Boot used partition fsbl1 NOTICE: BL2: v2.2-r1.0(debug):v2.2-dirty NOTICE: BL2: Built : 13:36:23, Oct 22 2019 INFO: Using crypto library 'stm32_crypto_lib' I
Hi,I want to update the boot chain (basic mode) for a "custom" device tree.Following the wiki page below, I understood how to update the boot chain (trusted mode) for a "custom" device tree.https://wiki.st.com/stm32mpu/wiki/How_to_compile_the_device_tree_with_the_Developer_PackageOn the other hand, I don't know how to update the boot chain (basic mode) for a "custom" device tree.In basic mode, should I compile the device trees in the following steps?==U-boot==make stm32mp15_basic_defconfigmake DEVICE_TREE=<device tree> all==TF-A==make -f ../../sources/arm-ostl-linux-gnueabi/tf-a-stm32mp-2.0-r0/Makefile.sdk TFA_DEVICETREE=<device tree> TF_A_CONFIG=basic allIn this case, which files should I copy into the 'fsbl1', 'fsbl2' and 'ssbl' partition of the target?Best Regards.H. Masuda
Hello Everyone.I am using stm32mp157c DK2 and EV1 for my project.I thought that the board suitable for my project purpose is DK2 for the following reasons, and EMMC is required in addition to this.In the current DK2 configuration, removing HDMI, DSI LCD, and AUDIO and reducing USB to 1 will make the board I want.Also, I am using SPI communication by connecting another board to the Arduino Port.I only want to add emmc booting here.(I think that i2c, spi, uart/232/485 are all possible in the listed Peripheral ports)In the case of ev1, emmc is configured, but it seems that there are too many unnecessary functions.In your case, what you choose between the DK2 and EV1 in the same situation as me?And how do I use EMMC with DK2?If I connect EMMC connected to EV1 to DK2 identically, how do I proceed after this?I am also thinking about connecting emmc after removing the sdcard to the sd card pod that is currently connected.Or is it convenient to use EV1, remove unnecessary ones, and match the p
Hi,I'm using Avenger96 Board using Build-Sytem through Yocto.I want to increase Rootfs Partition Size to 2Gb.Changes done so far:1)Edited /meta-st/meta-st-stm32mp/conf/machine/include/st-machine-common-stm32mp.inc--ROOTFS_PARTITION_SIZE = "2097152" --IMAGE_ROOTFS_MAXSIZE ?= "2097152"I built the image,then while making "flashlayout_av96 weston_FlashLayout_sdcard_stm32mp157a-av96-trusted.raw" fileusing the script "./scripts/create_sdcard_from_flashlayout.sh"I'm facing Space Issue ,logs shown belowroot@VM147:stm32mp1-av96# ./scripts/create_sdcard_from_flashlayout.sh flashlayout_av96-weston/FlashLayout_sdcard_stm32mp157a-av96-trusted.tsv [WARNING]: A previous raw image are present on this directory [WARNING]: flashlayout_av96-weston/../flashlayout_av96-weston_FlashLayout_sdcard_stm32mp157a-av96-trusted.raw [WARNING]: would you like to erase it: [Y/n] y Create Raw empty image: flashlayout_av96-weston/../flashlayout_av96-weston_FlashLayout_sdcard_stm32mp157a-av96-trusted.raw of 1536MB
I am designing a board using STM32MP1, STPMIC1A and LPDDR2. I want to use 3.3V VDD not 1.8V as most of peripherals are 3.3V. I am following example in AN5031 Figure 32 LPDDR2 VDD1 is powered from LDO3 in bypass mode which is powered by VDD 1.8V. I plan to change BUCK3 settings to output VDD 3.3V, use BUCK 4 to output 1.8V to power LDO3 in bypass mode which power LPDDR2 VDD1. I can't use BUCK directly to power LPDDR2 VDD1 as BUCK4 is rank 2 and turn on automatically with default 3.3V. Is that the correct/recommended way to do it ?Thanks in advance
hi dear Friends, here is anyone know how to can make one Cortex A7 to run Linux and another Cortex A7 just to run other, such as algorithm without Linux. two cores run separately.thanks
Hello,I would like to use the UART7 with A7 on the STM32MP157C-DK2 with the openstlinux-20-02-19 ecosystem. Therefore i tried to include/enable the UART interface in the device tree but it is not working correctly. I configured UART7 in the stm32mp157a-dk1.dts file by setting the status "okay":&uart7 { pinctrl-names = "default"; pinctrl-0 = <&uart7_pins_a>; status = "okay";};and in the stm32mp157.c.dtsi file by setting the status "okay":uart7: serial@40018000 { compatible = "st,stm32h7-uart"; reg = <0x40018000 0x400>; clocks = <&rcc UART7_K>; resets = <&rcc UART7_R>; status = "okay"; };An alias was alr
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.