Get ready for the STM32 Summit 2026 | Online, November 3
Ask questions and find answers on STM32 microprocessors software development tools.
Most recent activity
STM32CubeIDE 1.14.0 was released today on st.com as well as an in-tool update patch. What is new in 1.14.0? Added the support for new microcontrollers in the STM32WB series Added the support for two new boards related to the STM32WB series: NUCLEO-WBA55CG and STM32WBA55G-DK1 Added the support for a new board related to the STM32U5 series: STEVAL-MKBOXPRO Added the support for STM32CubeMP13: bare-metal firmware for the STM32MP13xxmicroprocessors Updated to Eclipse® 2023-09 GCC 12 is available on the Eclipse® p2 update site Main fixed issues: Refer to the STM32 microcontrollers wiki at STM32CubeIDE:STM32CubeIDE errata 1.14.0 - stm32mcu Known issues fixed and problems and limitations Refer to the STM32 microcontrollers wiki at Category:STM32CubeIDE errata - stm32mcu Where do I obtain STM32CubeIDE 1.14.0? https://www.st.com/stm32cubeide … Or update your current installation of STM32CubeIDE using: Help > Check for updates
STM32CubeProgrammer v2.15.0 release informationNew features:• Added the NOR flash memory and OTP fuse programming via USB and UART using OpenBootloader for the STM32MP13xx microprocessors• Added the support for the PMIC programming via UART for the STM32MP15xx microprocessors• Added limited FASTROM support• Added the automatic determination of the stack install address for the STM32WB series and STM32WB0 seriesRefer to the STM32CubeProgrammer software description user manual (UM2237) for details.Fixed issues:110598 [STM32CubeProg][STM32WB] Incorrect installation address when the RF stack is already in place.124075 [GUI][Device memory] Request to remove the partitions view from Device memory.140915 [STM32L0][EEPROM] Error message when erasing the EEPROM via the ST-LINK interface.145199 [STM32CubeProg-FUS] [STM32WB15xx] Missing the wireless stack version.150022 [STM32F0][STM32CubeProg] Confusing naming and use of nWRP.150428 [STM32WB][DFU] The [Start Wireless Stack] button is grayed in D
Hi,Using own custom board based on stm32mp151I'm using STM32CubeProgrammer to program to nand, but I'm getting errorError: ssbl1 (0x6): Bad size for partition 2 (ssbl1) at 0x200000 = 0xfe00000 <> 0x200000 expected my .tsv file is#Opt Id Name Type IP Offset Binary- 0x01 fsbl1-boot Binary none 0x0 tf-a-stm32mp15xc-ya151c-256d-t-serialboot.stm32- 0x03 ssbl-boot Binary none 0x0 u-boot-stm32mp15xc-ya151c-256d-t-trusted.stm32P 0x04 fsbl Binary(2) nand0 0x00000000 tf-a-stm32mp15xc-ya151c-256d-t-serialboot.stm32P 0x06 ssbl1 Binary nand0 0x00200000 u-boot-stm32mp15xc-ya151c-256d-t-trusted.stm32P 0x07 ssbl2 Binary nand0 0x00400000 u-boot-stm32mp15xc-ya151c-256d-t-trusted.stm32 And the mtdparts command on u-bootSTM32MP> mtdparts---mtdparts_init---last_ids : nand0=nand0env_ids : nand0=nand0last_parts: mtdparts=nand0:2m(fsbl),2m(ssbl1),2m(ssbl2),-(UBI)env_parts : mtdparts=nand0:2m(fsbl),2m(ssbl1),2m(ssbl2),-(UBI)last_partition : nand0,0env_partition : nand0,0---list_partitions---
Hello,with CubeMx 6.9.2 i am generating Code for CubeIDE with the goal to figure out which periphery is assigned to the CA7 or the CM4.With Freemarker it is possible to get information about which IP's are assigned and used but i have no idea how to get information about to which Core (CA7 or CM4) they are assigned.Example:With CubeMx i assigned I2C1 to CM4 and I2C4 to CA7. This can be seen in the .ioc file. CortexA7S.IPs=IWDG2,BSEC\:I,DDR,ETZPC\:I,HSEM,PWR\:I,RCC,RNG1\:I,RTC\:I,TAMP,GIC\:I,I2C4 CortexM4.IPs=IPCC\:I,ETZPC,FREERTOS\:I,HSEM,PWR,RCC,SYS\:I,DMA,NVIC\:I,OPENAMP\:I,I2C2\:I,SPI2\:I,USART3\:I Using the Freemarker example for getting the IP list CA7 and CM4 IP's are summarized to one big pool. [#ftl] [#list configs as dt] [#assign usedIPs =dt.usedIPs] /* List of used IPs */ [#list usedIPs as ip] - ${ip} [/#list]/* List of used IPs */ - RCC - DEBUG - ETZPC - I2C1 - I2C2 - I2C4 - I2C5 - IPCC - PWR - SPI1 .... - NVIC Thank in advance for hints or solutionChee
Is there any documentation or guidance on how to configure Yocto to deploy a custom u-boot image? I've been following https://wiki.st.com/stm32mpu/wiki/How_to_configure_U-Boot_for_your_board and https://wiki.stmicroelectronics.cn/stm32mpu/wiki/STM32MP15_U-Boot with some success, however these stop short of Yocto.I am able to build our custom build (defconfig, device-tree, with custom source adjustments) but I'm struggling to integrate into Yocto, to complete the flow to a final SD Card image.When I add my variant to `UBOOT_CONFIG` it builds it, but `trusted_stm32mp15` is appended and seems to be the one in the deploy folder: tmp-glibc/deploy/images/<IMAGE_NAME>/u-boot/ and tmp-glibc/deploy/images/<IMAGE_NAME>/fipMy machine.conf file has:UBOOT_CONFIG = "viper_butcombe_beta"UBOOT_CONFIG[viper_butcombe_beta] = "viper-innovations_butcombe-beta_defconfig,,u-boot.dtb" and I see layers/meta-st/meta-st-stm32mp/conf/machine/include/st-machine-
I debug a simple project STM32MP15 M4 GPIO-EXTI-CM4, using engineering mode. It worked couple days ago. Today when I tried again, I got the error below and it doesn't make sense.
Hi@Olivier GALLIENI have followed the steps in https://wiki.st.com/stm32mpu/wiki/How_to_create_your_own_machine#Generate_device_tree to generate a image for my specific machines dts. But when building the image the error below is generated. I have done the "bitbake -c cleanall tf-a-stm32mp" with no change. The machine is specified in meta-st-stm32mp-addons/conf/machine/ and matches the example for the DK2 but with a different path to my dts in mx/... for kernel, op-tee etc.ERROR: tf-a-stm32mp-v2.6-stm32mp-r2-r0 do_compile: oe_runmake failedERROR: tf-a-stm32mp-v2.6-stm32mp-r2-r0 do_compile: ExecutionError('/home/build/workspace/STM32/Distribution-Package/build-openstlinuxweston-stm32mp1-firmware-eid/tmp-glibc/work/stm32mp1_firmware_eid-ostl-linux-gnueabi/tf-a-stm32mp/v2.6-stm32mp-r2-r0/temp/run.do_compile.3019298', 1, None, None)ERROR: Logfile of failure stored in: /home/build/workspace/STM32/Distribution-Package/build-openstlinuxweston-stm32mp1-firmware-eid/tmp-glibc/work/stm
I’m new for STM products. After some google, I found mp157d-dk1, I want use it to study Linux kernel. Does the onboard STLink support Linux kernel code debug? Like set breakpoints/single step/observe variables values?Another question, is this boards newest model? Is there better/newer one?
Hello everyone,I've a question. I want to use a Cortex-A7 on STM32MP13x or STM32MP15x for my project and I would like to parallelize my application. Can I use OpenMP on STM32CubeIDE? Is there a difference if I use OpenSTLinux?
CubeIDE coding section part freezes in my second monitor even though I can restart the program from the file top down menu but it's quite annoying. Is there anyone experienced the same issue ? What would your suggestion be to overcome it ?Distro: Ubuntu 22.04Java is the latest version.Computer is in Performance mode.
I'm using STM32CubeProgrammer to flash my custom target using an STM32MP153AAA MPU. I have onboard a 4GB eMMC memory. During the programming process through DFU all seems good and finishes at 100% but then sits for a bit and I get errors. Seemingly TF-A is crashing or not starting after load. I'm searching for causes and how to fix. Attached is my TSV file using in the programmer. I'm using EcoSystem 4.1.0.
We are trying to achieve the same kind of variable watching Keil has but with the STM32CubeIDE. The variables do not appear in the Variables tab under the Debug view so we added dummy variables to the expression tab. The initial value of the variable shows fine and then when we resume the program after the HAL_Init breakpoint the 'Target not available.' error appears. Was anyone able to get the feature to work? Or are we supposed to use another program if we want this feature?Thanks,David.
hi guys i am trying to use STM32MP135x-DK board with STM32CubeProgammer but after opening the software i got no internet connection due to proxy setting and also no the program does not see any dfu device connected through usb .. can anyone help with this ?
ECO sources used (not git). Custom board based on STM32MP157AAA3.Both when using OPTEE in DDR and SRAM this issue occurs.The kernel reports an "cut here" and then reports:[ 0.273935] Unhandled fault: imprecise external abort (0x1c06) at 0x97638f7aThis seems to be a memory access violation. The 0x9 memory location seems to be in I/O space but information is hard to find. One slide from ST refers to 0x9000000-0x9FFFFFF as "STM". Why would the kernel attempt to access this space. More even curious, why for does this happens just after or at the UART ?Log attached.0.236358] Serial: AMBA PL011 UART driver[ 0.243557] stm32-pm-domain pm_domain: domain core-ret-power-domain registered[ 0.250937] stm32-pm-domain pm_domain: subdomain core-power-domain registered[ 0.258122] stm32-pm-domain pm_domain: domains probed[ 0.270843] 8<--- cut here ---[ 0.273935] Unhandled fault: imprecise external abort (0x1c06) at 0x97638f7a[ 0.281026] [97638f7a] *pgd=00000000[ 0.284637] Internal error: : 1c06
Run bitbake rep and sync and DISTRO, then bitbake , it shows the EULA and the build start, interrupt the build by press CTRL-C, closing the console window and re-entering it. then start bitbake, below errors occur.Even creating a new folder running the repo and sync command and then DISTRO shows:HOST DISTRIB check]Linux Distrib: UbuntuLinux Release: 23.04[source layers/openembedded-core/oe-init-build-env][from nothing][EULA configuration][WARNING] No eula file found : not able to configure EULA agreement or not.[Configure *.conf files][INFO] No 'site.conf.sample' file available at /home/user/distro/layers/meta-st/scripts. Create default one...[WARNING] Not able to find STM32MP1.conf file in layers/meta-st : bblayer.conf not updated...===========================================================================Configuration files have been created for the following configuration:DISTRO : openstlinux-westonDISTRO_CODENAME : mickledoreMACHINE : STM32MP1BB_NUMBER_THREADS : <no-custom-conf
U-Boot 2020.01-stm32mp-r1 (Oct 07 2023 - 14:05:57 +0800)CPU: STM32MP157FAD Rev.ZModel: STMicroelectronics STM32MP157F eval daughterBoard: stm32mp1 in trusted mode (st,stm32mp157f-ed1)DRAM: 512 MiBClocks:- MPU : 800 MHz- MCU : 208.878 MHz- AXI : 266.500 MHz- PER : 24 MHz- DDR : 533 MHzWDT: Started with servicing (32s timeout)NAND: 0 MiBMMC: STM32 SD/MMC: 1In: serialOut: serialErr: serialinvalid MAC address in OTP 00:00:00:00:00:00Net:Error: ethernet@5800a000 address not set.No ethernet found.Hit any key to stop autoboot: 0Boot over usb0! ==================When the program runs here, the MPU restarts, and this happens again and again
Hello, I currently working with a STM32MP157D-DK1 Development Board. I populated the board with a prebuild openstlinux 6.1 build. A SSH connection via console is successful.To get the M4 microcontroller running I was able to build a .elf file from the GPIO_EXTI example given by the STM32Cube_FW_MP1_V1.6.0. The .elf can be uploaded into the /boot/ directory via the scp command. By configuring Boot From an SD Card the M4 starts running an executes the just uploaded .elf file.In order to debug the software I want to use the STM32CubeIDE Debug Configuration 'thru Linux core (Production mode)'. Unfortunatly I'm not able to connect my board with the given Target status widget, which is necessary for a successful connection build up. When i try to connect my board via the "Connections" Window -> right click SSH setup -> "Open Connection", I get the following generic error: "Error opening connectionsSession.connect: java.net.ConnectException: Connection timed out: connect"
The TF-A Makefile.sdk creates a small metadata.bin file for each type of boot (USB, SD-cARD, EMMC)1/ How to generates this outside of Makefile.sdk ? I use this, but is only generates one file and there seems no parameter for the type of the boot device;TF_A_METADATA_JSON=plat/st/stm32mp1/default_metadata.jsontools/fwu_gen_metadata/fwumd_tool.py jsonparse $TF_A_METADATA_JSON -b build/stm32mp1/metadata.bin2/ Is the file the same for each device different or can it be used for SD, EMMC, USB etc.. ?3/ is there a specification for the format of this file ?4/ is there a tool to enumerate the entries and their values in of this file ?
Select a new prject in CibeMX this case STM32Mp157AAA ) Select PZ1 and PZ2 pin. Configure Pz1 output assign PZ2 for EXT IN and assign to Cortex M4Generate MX output fileIssue 1: No GPIO pin initliaziation code is generated !Load project i n AX6 workbench toolAdded manual GPIO and code to main.cIssue 2: When compiling. most errors are related to EXTI (example below) It seems stm32mp1xx_hal.exti.h and .c are not included and compiled into the project. This is probably casued by that CubeMX did not include the GPIO pins How to do add the files to the project to compile ? The "includes" in the project does point to the include folder with the exti files.Also noticed that when adding an I2C port, CubeMX onlu prpvided one set of SCL/SCA pin option (port H) while clicking the pins on the matrix there are many more pins supporting I2C ports. for example ZP5/6 are not shown as a choice but can support I2C.I am able to compile the demo projects from the DK2/MP1 CubeMX package and add GPIO and eX
Today got an update message in SW4 Eclipse to update Did that. Now when trying to start "Debug" on an STM32MP1 board Exclipse just exits. The error is as follows. Debug files atttched.Getting frustrated with the AC6/STM32MP1/Eclipse solution as a development environment ...Will go evaluate other platforms if the STM32MP1 environment and experience does not get stable soon.OpenSTM32/plugins/com.st.stm32ide.mpu.externaltools.openocd.linux64_1.0.0.201902141520/resources/openocd-mpu/bin/openocd -d1 -f skeleton Debug (1).cfg -s /media/user/H3D1P2/Personal/2019/Projects/OpenSTM/Pangu/skeleton -s /media/user/H3D1P2/Tools/OpenSTM32/plugins/com.st.stm32ide.mpu.debug_1.1.0.201904120827/resources/openocd/st_scripts -c gdb_port 3333 -c tcl_port 6666 -c telnet_port 4444 ## A fatal error has been detected by the Java Runtime Environment:## SIGSEGV (0xb) at pc=0x00007f4b99aa973d, pid=19624, tid=0x00007f4bdd45a700## JRE version: Java(TM) SE Runtime Environment (8.0_151-b12) (build 1.8.0_151-b12)#
The Device Tree configuration link . https://wiki.st.com/stm32mpu/wiki/STM32_MPU_device_tree does not include scmi.dstiAfter a rough time lot to wade through trial an errors, we were able to reduce the SCMI errors. First we added #include "stm32mp15-scmi.dtsi" and then stm32mp157a-<board>-scmi.dtsi copied from the ev1-scmi.dts but removed i2C4 because this board if quite the same as EV1 but does not use PMIC/I2C4 . if this is correct change is our biggest guess but it reduced most of the scmi error less one., as follows:The U-boot build failed with:/soc/usbphyc@5a006000/usb-phy@0: Reference to non-existent node or label "scmi_vdd_usb"However, the workshop for STM32MP15 documentation shows the following to be added/* USER CODE BEGIN usbphyc_port0 */phy-supply = <&scmi_vdd_usb>;/* USER CODE END usbphyc_port0 */After searching the whole ecosystem with grep -Rnw . -e 'scmi_vdd_usb'for this definition, only the following 3 files, besides our file, in the whole EC
For a custom board configured in CubeMX usingSTM32MP157AAA3 , UART4, 512MB DDR3L, (4Gx16) external crystal (HSE, LSE), and discrete power regulator, no PMIC, device trees were generated with CubeMXwhen compiling optree errors and warnings occur.[1] Wrong CFG_DRAM_SIZE 1024MBytes, in device-tree: 512MBytes. The TF-A and U-boot .dts files contain the same setting for memory and do not fail.memory@c0000000 {device_type = "memory";reg = <0xc0000000 0x20000000>;When setting memory to 0x40000000 instead of 0x20000000 it passes. Why is this ?[2] Warnings in files (not changed, default provided by ECO system). Audio/I2S is not even configured in CubeMX.core/arch/arm/dts/stm32mp157.dtsi:20.21-35.5: Warning (avoid_unnecessary_addr_size): /soc/dsi@5a000000: unnecessary #address-cells/#size-cells without "ranges", "dma-ranges" or child "reg" propertycore/arch/arm/dts/stm32mp151.dtsi:416.22-428.5: Warning (unique_unit_address): /soc/spi@4000b000: duplicate u
After compiling TF-A, uboot and optee, the flashing of the first mage xxx-usb.stm2 using the CLI tool ends with a wait for completion of the download this fails. The UART report a panic. Any idea how to look further. is this a problems with TF-A device tree or could it be from uboot or optee as the binaries in and output pf those build depend on each other ? Any way to reduce or isolate where it it going wrong to reduce the effort for looking around and trial and errors ? Could it just be .dtb file TF-A generated ?This board ran fine with a previous ECO system.CubeProgrammer:File download completeTime elapsed during download operation: 00:00:03.039RUNNING Program ...Address: : 0x1DFU status = 0DFU State = 5bwPollTimeout = 1sending a dfu end of download requestDFU status = 0DFU State = 7bwPollTimeout = 1libusb get status error [-7] : LIBUSB_ERROR_TIMEOUTlibusb get status error [-7] : LIBUSB_ERROR_TIMEOUTlibusb control transfer error [-7] : LIBUSB_ERROR_TIMEOUTReconnecting...
For the MP15 the workshop informs to include, for TF-A vdd_sd for sdmmc1 in the USER section of sdmmc1.. This particular board uses discrete legacy regulator power. when commenting these the lines, the build goes trough. Could this causes issues ? Should thes vdd_sd labels be included in the device tree ? if, yes, how and where ? There was a patch for vdd i uboot and kernel but not for tf-a where vddd move to scmi:./arm-ostl-linux-gnueabi/linux-stm32mp-6.1.28-stm32mp-r1-r0/0023-v6.1-stm32mp-r1-DEVICETREE.patch:4398:- vdd_sd: vdd-sd {./arm-ostl-linux-gnueabi/linux-stm32mp-6.1.28-stm32mp-r1-r0/0023-v6.1-stm32mp-r1-DEVICETREE.patch:4759:+ scmi_vdd_sd: voltd-vdd-sd {./arm-ostl-linux-gnueabi/u-boot-stm32mp-v2022.10-stm32mp-r1-r0/0004-v2022.10-stm32mp-r1-DEVICETREE.patch:3828:- vdd_sd: vdd-sd {./arm-ostl-linux-gnueabi/u-boot-stm32mp-v2022.10-stm32mp-r1-r0/0004-v2022.10-stm32mp-r1-DEVICETREE.patch:4200:+ scmi_vdd_sd: voltd-vdd-sd {and vdd_sd is only defined in./arm-ost
$ make stm32mp15_trusted_defconfig$ make menuconfig# disable PMIC power and enable legacy power in device drivers => power$ savemake DEVICETREE=stm32mp157a-board-mx cleanmake DEVICETREE=stm32mp157a-board-mx allWhy the code needs pmic when pmic is disabled ?LD u-bootarm-ostl-linux-gnueabi-ld.bfd: drivers/power/power_core.o: in function `pmic_dump':/media/user/H3D2P1/Tools/STM32MP1/STM_ECO_5.0.0/Developer-Package/stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/sources/arm-ostl-linux-gnueabi/u-boot-stm32mp-v2022.10-stm32mp-r1-r0/u-boot-tm32mp-v2022.10-stm32mp-r1/drivers/power/power_core.c:95: undefined reference to `pmic_reg_read'arm-ostl-linux-gnueabi-ld.bfd: drivers/power/power_core.o: in function `do_pmic':/media/user/H3D2P1/Tools/STM32MP1/STM_ECO_5.0.0/Developer-Package/stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/sources/arm-ostl-linux-gnueabi/u-boot-stm32mp-v2022.10-stm32mp-r1-r0/u-boot-stm32mp-v2022.10-stm32mp-r1/drivers/power/power_core.c:163: undefined refer
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.