Get ready for the STM32 Summit 2026 | Online, November 3
Ask questions and find answers on STM32 microprocessors software development tools.
Most recent activity
Debug modeArm® CoreSight™ trace and debug: SWD and JTAG interfaces8-Kbyte embedded trace buffer
I am generating device tree and compiled it by stm32cudeide and upload to my board. So, baiscally I am following this link:https://wiki.st.com/stm32mpu/wiki/How_to_manage_OpenSTLinux_projects_in_STM32CubeIDEMy issue is that no matter what I do, nothing seems to affect my pins. I type to check them:cat /sys/kernel/debug/pinctrl/soc\:pin-controller@50002000/pinconf-pinsI can confirm that .dtb is uploaded successfully, and also extlinux.conf is changed
I want to load a bootloader and then the firmware to my board via ST Link in one pass in an automatic mode.
I want to change the pin configuration fonts, I tried with colors and fonts tabs but nothing worked
Hi,I am new to STM32 and the Signing Tool and I'm trying to sign using a key from an HSM (nitrokey) but i get the following error:"Error loading pkcs#11 module functions".I run the following on Ubuntu 20.04:STM32MP_SigningTool_CLI --binary-image [path to stm32 file] --algorithm 2 --module /usr/lib/x86_64-linux-gnu/engines-1.1/libpkcs11.so --key-index 0x0 --slot-index 0x0 --password 123456 --output ./signed.stm32Any help appreciated!ThanksDoug
I ran GENERATE-CODE on STM32CubeMX and M4 files were created. There is #include "stm32mp1xx.h" in stm32mp1xx_hal_def.h in Include, but there is no stm32mp1xx.h file. where is it?
Hi, I have a STM32MP157A-EV1 board. I'm running it in the engineering boot mode and programming the Cortex-M4 directly through the STM32CubeIDE. At the moment, I do not use the Cortex-A7. I would like to enable USART2 and use it through the ST-LINK to view the printf command that I do on the Cortex-M4. What I did was enabling USART2 in STM32CubeMX : I did not change any other configuration and simply regenerated the code. Then I used these functions: In retarget.c UART_HandleTypeDef *gHuart; void RetargetInit(UART_HandleTypeDef *huart) { gHuart = huart; /* Disable I/O buffering for STDOUT stream, so that * chars are sent out as soon as they are printed. */ setvbuf(stdout, NULL, _IONBF, 0); } In main.c #include "main.h" #include "cmsis_os.h" ... UART_HandleTypeDef huart2; static void MX_USART2_UART_Init(void); ... int main(){ ... MX_USART2_UART_Init(); RetargetInit(&huart2); ... while (1) { /* USER CODE END WHILE *
Hi, I saw the release document of STM32CubeIDE v1.3.0 that says supported use the JLink debugger. So I try to use JLink with STM32CubeIDE v1.3.0 on my pc (the os is Debian 9 ). But I saw the console has some error. It's shows cann't detect the MPU core. Below is the debug messageSEGGER J-Link GDB Server V6.62 Command Line Version JLinkARM.dll V6.62 (DLL compiled Jan 24 2020 16:34:42) Command line: -port 2331 -s -device STM32MP157CACx -endian little -speed 4000 -vd -----GDB Server start settings----- GDBInit file: none GDB Server Listening port: 2331 SWO raw output listening port: 2332 Terminal I/O port: 2333 Accept remote connection: yes Generate logfile: off Verify download: on Init regs on start: off Silent mode: off Single run mode: on Target connection timeout: 0 ms ------J-Link related settings------ J-Link Host interface: USB J-Link script: none J-Link settings file: none ------Target related settings------ Target device: STM32MP157CACx Target interface: JTAG Target
I am editing a device tree for my custom board generated by Cube MX. My TF-A .dts folder does not contain any information about QUADSPI which is used for serial flash memory, so should I add a node for quadspi and a child node for flash or I should only edit peripherals generated by CubeMx which are sections like these: /* USER CODE BEGIN peripheralX */ /* USER CODE END peripheralX */I am a little confused, can you help me with this? Thank you in advance.
Hello, I am trying to manage some interrupts in the M4, specifically the Tamper Interrupt. Using the STM32CubeIDE (CubeMX) I am unable to select the Tamper interrupt that shows in the NVIC peripheral, when I select it, it gets deselected automatically. What could be the cause of this behaviour? I am allocating the tamper peripheral to the non-secure world (A7) in SP-Min (Manually changed in source code) and enabling the external tampers. In M4 I try to enable the interrupt and set an IRQHandler with the following code: void tamp_init (void) { HAL_NVIC_SetPriority (TAMP_IRQn, 1, 0); HAL_NVIC_EnableIRQ (TAMP_IRQn); } void TAMP_IRQHandler (void) { // Do something (turn led on) } I have a button connected to the tamper input signal, when I press this button I expect to see the led light up but it does not. I know the tamper is triggered because the backup registers are cleared. What is missing in my configuration or how should I set up the inter
Hi,I try to compile my custom system, which is based on the Cubemx in the latest V4.0.0 ecosystem. I have a few problemslttng - how properly disable this package or what shall I add to compile it wellAfter compilation is finished, the *.tsv files are not created - empty folders as following How to properly resolve issues with the licenseWARNING: st-image-weston-1.0-r0 do_st_write_license_create_summary: IMG LIC SUM: File does not exist with open file /home/mw/openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15/build-openstlinuxweston ...I added a meta-layer to reproduce the compilation process if necessary.git@github.com:voloviq/meta-osd32mp1-brk.gitThe configuration process was based on https://wiki.st.com/stm32mpu/wiki/How_to_create_your_own_machineThanks for any hints.Best Regards
Good morning,I am trying to setup STM32CubeIDE to work on an offline computer, I do not have the option to connect it to the internet. Installing the SDK through the IDE works fine and I am able to import the OpenSTLinux source projects (Linux, U-Boot, TF-A/SP-Min and Op-TEE). but this is not what I need.What I really need is to have the same result in an offline environment, this is what I do:1) Install OpenSTLinux SDK via script as explained in the Developer Package instructions.2) Install STM32CubeIDE 1.8.0/1.9.03) Configure STM32CubeIDE Preferences menu for "STM32Cube->OpenSTLinux SDK Manager" to point to my SDK installed in step 1 4) Install FW Package for stm32mp1From this point I am able to create projects and compile for stm32mp1But I am not able to import the OpenSTLinux Source projectsI am working with the stm32mp1 MPU (stm32mp157f-ev1 board) and I tried using STMCubeIDE 1.8.0 and 1.9.0 versions with the same results.How can I install offline the SDK so the STM32CubeIDE is
Example I have array of bytes: 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8....when I use command STM32CubeProgram CLI command, value should be:value = 0x12345678 or:value = 0x78563412 or:value = 0x34127856I saw wiki mention about this few days ago, but could not find where it is for now.Many thanks,(we don't use load binary file from SD to 0xC0000000 and flush it to memory. We would like to use command line for 4 bytes word each time).
Hi, In both SSP documents: 1) AN5510 - Overview of the secure secret provisioning (SSP) on STM32MP1 Series 2) AN5054 - Secure programming using STM32CubeProgrammer It is written that "SSP" & "HSM" tabs expect: """ Encryption key and nonce files: The encryption key and nonce file can be selected by entering their paths (absolute or relative), or by selection with the Open button. Notice that sizes must be respected (16 bytes for the key and 12 bytes for nonce). """ But when I try to do this process ("SSP" tab, still waiting for STHSMv2 to arrive) I get "Size of ssp_nonce.bin is expected to be 16 bytes" both in GUI & in CLI modes -- latest tool version (2.10) note1: when I provide a 16 byte nonce, it works note2: There are a couple of locations in AN5510 where it is written that nonce is 16 bytes or 128 bit, the rest say it is 12 bytes. Is this an error with the STM32 Trusted Package Creator tool or with the Documentation ?? Side question
I have a custom board built upon the stm32mp157f. (Therefore, have custom device trees.)I currently am seeing an exception in TF-A that I cannot explain.INFO: Reset reason (0x14): INFO: Pad Reset from NRST INFO: PMIC version = 0x21 INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe3000 INFO: FCONF: Reading firmware configuration information for: stm32mp_io INFO: Using EMMC INFO: Instance 2 INFO: Boot used partition fsbl1 NOTICE: BL2: v2.4-r1.0(debug):v2.4-dirty NOTICE: BL2: Built : 16:43:51, Nov 17 2020 INFO: BL2: Doing platform setup INFO: RAM: DDR3-DDR3L 16bits 533000Khz WARNING: Couldn't find property st,phy-cal in dtb INFO: Memory size = 0x20000000 (512 MB) ASSERT: drivers/partition/gpt.c:24After the initial flashing of the eMMC with the STMCubeProgrammer, it boots fine the first time. Every boot thereafter (cold or warm), I get the above exception.Any idea what this means, how to debug or solve it?
Hi,currently I can't open any .ioc file which hasn't been previously created with my computer.There's no problem if I open an .ioc file inside CubeIDE, but, when I want to use VS Code I need to open the .ioc file using just CubeMX.If I open an .ioc file with CubeMX, the program brings me the startup page. Whether I try to load a project directly from CubeMX, I can't navigate through the folders because, even in the Desktop folder the file navigator shows me an empty space.Does anyone have my same problem, with MacOS?
I am integrating the cube programmer API into some end of line production test. I've been able to use the API for loading firmware images, and I can prepare a board for OTP programming by loading TFA and uboot, but I can find no API support for programming OTP on the MP1 parts, am I missing something or is this absent from the API? How is this done within the programmer CLI tool? (i.e. how to the OTP commands function, what API calls do they use so I can replicate some of this functionality)I can't easily use the existing programmer CLI to automate since I'm working with 6 boards still on a panel prior to breakout, and the CLI (and API) doesn't handle multiple connected instances well when repeatedly executing programmer CLI commands as the USB device instance seems to change and I need to be sure which boards I'm programming unique values to (e.g. MAC address / serial number etc)It would be really useful if ST followed NXPs lead and open sourced their programming tools so we could sor
I'm following a tutorial for setting up the STM32MP157C-DK2. I'm on the step for running the OpenAMP_TTY sample program. However, when I try to build the program, I get a whole bunch or errors as follows:make -j8 all arm-none-eabi-gcc -o "OpenAMP_TTY_echo_CM4.elf" @"objects.list" -mcpu=cortex-m4 -T"/home/ben/STM32MPU_workspace/STM32MP15-Ecosystem-v3.1.0/Developer-Package/STM32Cube_FW_MP1_V1.5.0/Projects/STM32MP157C-DK2/Applications/OpenAMP/OpenAMP_TTY_echo/STM32CubeIDE/CM4/STM32MP157CAAX_RAM.ld" --specs=nosys.specs -Wl,-Map="OpenAMP_TTY_echo_CM4.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: ./Application/Startup/startup_stm32mp157caax.o: in function `LoopFillZerobss': /home/ben/STM32MPU_workspace/STM32MP15-Ecosystem-v3.1.0/Developer-Package/STM32Cube_FW_MP1_V1.5.0/Projects/STM32MP157C-DK2/Applications/OpenAMP/OpenAMP_TTY_echo/STM32Cub
I have a complex project which i try to use CubeMX to generate the device trees for A-TF, OP-TEE and Linux, as well as code pieces for the M4.The crash is not visible in the STM32CubeMX.log file, but is printed in stderr:2022-04-14 14:55:51,876 [INFO] BlockDiagram:2740 - set Specific Code input for plugin: TAMP 2022-04-14 14:55:51,876 [INFO] BlockDiagram:2740 - set Specific Code input for plugin: ETH 2022-04-14 14:55:51,877 [INFO] CodeGenerator:663 - code generatio: config db path: /home/dirks/STMicroelectronics/STM32CubeMX_Pre//db/ java.lang.NumberFormatException: For input string: "LSI_VALUE" at java.base/jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054) at java.base/jdk.internal.math.FloatingDecimal.parseFloat(FloatingDecimal.java:122) at java.base/java.lang.Float.parseFloat(Float.java:455) at com.st.microxplorer.codegenerator.McuDataModel.getIpRCCSourceInfo(McuDataModel.java:939) at com.st.microxplorer.codegenerator.McuDataModel.initMcuData(McuD
I'm trying to download Starter Package to microSD card on STM32MP157F-DK2 via USB.I clicked "Open file", selected "FlashLayout_sdcard_stm32mp157f-dk2-trusted.csv", pressed RESET button, clicked "connect" and tried to download.However, STM32CubeProgrammer showed the message "MMC erase failed", or "an error occured while uploading data from the virtual partition 0xF1".Please tell me someone about what shall I do to remove these errors.Note:・Both DIPSW (BOOT0 and BOOT2) are set to OFF. ・I'm using Kingston 16GB microSDHC for downloading.・I want to use the Programmer for WIndows10 not for Linux if possible.
Hello, I see two folders with the same name(STM32MP1xx_HAL_Driver) - one inside the CM4 and another one level above it.For the development of CM4 which folder to consider for the drivers?If it is the one inside the CM4 do I need to move the CMSIS as well inside it?Same question for the middleware folder, which one to be considered? the one inside the CM4 or outside it? I see that enabling any Middleware component it generates the source code inside both the Middleware folder.(e.g Free RTOS)Br,D
Hello, I am trying to associate the DMA1 in M4 context with USART2 but whenever I click "add" on the right pane, I see no USART2 on that, on the contrary, I see UART4 it on DMA2 as shown below. If I try to put DMA2 in M4 context, UART4 now appears in DMA1 and I cannot Assign both of them to M4 No uart/usart when i click add , please see below image : My aim is to associate the USART2 with the DMA1 if it is possible. Please guide. Regards, D
Hi, We are using Stm32mp157a Processor in Our custom board. We are configuring PA5 as DAC1_OUT2.We want to configure DMA for DAC. But we didnot get an DMA setting tab in DAC configuration in stm32 Cube mx.How do i enable DMA for DAC? You can see in below Attachment.
Hi community,I'm facing problems to upload the flash layout on a custom board with the STM32CubeProgrammer. I tried with the last version (v2.10.0) but also older ones. The USB communication seems to be working fine as there are not checksum errors or alike. However, for some reason UBoot can still not parse the uploaded layout.Any idea how this problem can happen even if the USB communication is correct? Could this be a RAM misconfiguration problem even if UBoot can run from RAM and the basic UBoot RAM tests are successful?For more information, I attach the STM32CubeProgrammer log and the UART4 log.Thank you in advance for any insight!Bests,Moises
Hi all,I am trying to debug an C++ user space application on A7using STM32CubeIDE.Build happens fine. But when i try to debug it i run into following errors.I can confirm the toolchain is installed both on system as well as embedded in CUBEIDE.How can i get past these errors?Any idea as to what this might be related to?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.