Get ready for the STM32 Summit 2026 | Online, November 3
Join discussions in the Product Forums. Ask questions, learn from your peers, and share insights on ST solutions to accelerate your design journey.
Most recent activity
Hello,I am working on the boot process and security of the STM32H757.For my tests, I have placed the two boot addresses for the two cores (ADD0 and ADD1 for CM7 and CM4) in the internal flash memory, with an ISR vector at each boot address :ADD0: standard ISR vector calling the standard Reset_Handler, which in turn calls the main function g_pfnVectors: .word __initial_spTop /* Use internal RAM for stack for calling SystemInit. */ .word Reset_Handler .word NMI_Handler .word HardFault_Handler .word MemManage_Handler .word BusFault_Handler .word UsageFault_Handler ... and ADD1: virtually the same ISR vector but calling BootPin_Handler instead of Reset_Handlerg_bootPinVectors: .word __initial_spTop .word BootPin_Handler .word NMI_Handler .word HardFault_Handler .word MemManage_Handler .word BusFault_Handler .word UsageFault_Handler ... Everything seems to be working properly, at least up until the security test.When RDP is set to level 0 or 1, everything is fine and
I’m working on STM32F405RGT6, receiving audio from ICS43432 (MSB First, 24bit on 32 bit frame).sing Circular DMA (double buffering) to read it in. After 3 days of debugging and millions of mem corruptions and stackoverflows later I finally managed to get the pipeline to work without MemCorruptions.Basically my implementation:I have a UItask, that handles button presses and changes the system states. The StartWriteAudioTask() starts the DMA and creates a .wav file. Also sets the systemState to STATE_RECORDING. DMA fills the buffer and gives semaphore to my MicTask, which basically does an endian conversion and writes a wav block. Just in case I also implemented a copy of the audiobuffer, because DMA might overwrite before I can manage to write it to a wav block. Using the debugger I see that my state machine logic and start/stop works fine, file initialization works as well and even the file appears and is playable. But the tim
The issue I am facing when using the STM32U585 microcontroller in the MATLAB and Simulink (M&S) Environment.1. The controller is the STM32U585Allx. Discovery kit. 2. We are working on a project in Simulink (Model-Based Design). As a first stage, we are sensing three-phase AC currents and a PWM generator as a part of our project. For this project the hardware is provided by STM32 U585-based Discovery kit. All hardware support packages have been installed in the M&S environment. We are setting up the hardware in STM32CubeMX, configuring ADC1 and Timer1. All the desired parameters are set and we are generating the code.ioc file. The ADC is set for injected signal inputs. TRG0 provides the trigger for the ADC1. The ADC1 block in Simulink is not getting linked with .ioc file generated in SubeMX. The error is: Index exceeds the number of array elements. So we cannot proceed further. We would like to get
Thank you @B.Montanari for the complete guide. Unfortunately on my computer the project is not created as packs can't be downloaded, error is the following (in this case for button pack): Error installing STMicroelectronics.button_part_drivers.2.0.0 pack Could not save pack of pack-URL: https://developer.st.com/st-pack-server/api/v1/pack/STMicroelectronics.button_part_drivers.2.0.0.pack, got: Unsupported `GLOBAL_AGENT.HTTP_PROXY` configuration value: URL protocol must be "http:". I'm behind a proxy (set at system level), and if I use the URL listed I'm able to download and manually install the pack. I tried setting proxy information on MX2 as IP:port with no result. Is there a way to solve this? BR Edit: moved from How to create a new project with STM32CubeMX2
Post Edited by ST moderator to apply source code formatting Hello, To need to disable external read/write access to flash in stm32c071 i have changed the RDP from level 0(0xAA) to level 1(0xBB) and was successful in doing so. But when I try to change from level 1 to level 0 i am unable to change it. code to change from level 1 to level 0. eFLASH_ErrorType_t FlashReadWriteEnable(void) { eFLASH_ErrorType_t err_code = e_SUCCESS; // Check if flash is busy err_code = CheckFlashBusy(); if(err_code == e_SUCCESS) { // Unlock flash err_code = flashUnlock(); if(err_code == e_FLASH_UNLOCKED) { // user options unlock err_code = flashOptUnlock(); if(err_code == e_FLASH_OPT_UNLOCKED) { FLASH->OPTR &= (~FLASH_OPTR_RDP_Msk); FLASH->OPTR |= (0xAA << FLASH_OPTR_RDP_Pos); FLASH->CR |= FLASH_CR_OPTSTRT; // Check if flash is busy err_code = CheckFlashBusy(); if(err_code == e_SUCCESS) { FLASH->CR |= FLASH_CR_OBL_LAUNCH; } } } } return err_code;
I want to try the multi antena design mentioned in AN6121. where can I either download the gerber files for the PCB or order a PCB?
Hi,i tried to migrate my project to CubeMx v6.17.0 coming from v6.16.0As a result, the firmware package was also updated to FW_MP1 V1.7.0I am using CubeIDE 2.0.0After migration the compilation fails with following error in auto-generated FreeRTOSConfig.hDescription Resource Path Location Type each undeclared identifier is reported only once for each function it appears in FreeRTOSConfig.h /PROJECT_CM4/Inc line 71 C/C++ Problem/* USER CODE BEGIN Header */ /* * FreeRTOS Kernel V10.6.2 * Portion Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. * Portion Copyright (C) 2019 StMicroelectronics, Inc. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of * this software and associated documentation files (the "Software"), to deal in * the Software without restriction, including without limitation the rights to * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of * the Softw
EDIT: Resolved! It looks like this was an issue with the pin reporting on our end. Hello, We would like to use MC workbench, however we want to move from ADC1/2 to ADC12 for the current sense, VBUS and temperature NTC. Is there a way to implement this alternate ADC configuration in MC workbench? If we need to manually change the FW, is there anything we need to watch out for?We are moving from the following dev kit setup to a custom PCBAAlgorithm: FOCType : MODULARControl BoardNUCLEO-G474REMcuSTM32G474REBridgeX-NUCLEO-IHM09M2Power BoardSTEVAL-IPM08B
Hi all,I really hope someone can shed some light on this...I am trying to find any information regarding the accuracy of the internal temperature sensor of the STM32H7 family, more specifically the STM32H743XIH6.I understand that each device is factory calibrated to improve the accuracy, however I cannot find what the accuracy actually is, I mean, I cannot find any official source of information, I've seen some saying that it is ±1.5C, but nothing in the ST documentation.Any help is appreciated.Thanks
Hello, I’m working on a low-power BLE peripheral design on an STM32WBA63 and I’ve hit a timing issue that I’m hoping someone can help me with.Hardware / softwareMCU: STM32WBA63CIUxSTM32CubeMX: 6.15.0Firmware package: STM32Cube FW_WBA V1.7.0Wireless stack: STM32_WPAN (BLE)RTOS: FreeRTOS 1.3.1 with tickless idle enabledLow power mode: STOP1 (not standby/off)BLE role: peripheral advertisingAdvertising interval: ADV_INTERVAL_MIN = 0x0640 (1 s)IDE/toolchain: EWARM V9.60Issue:Advertising is stable until I add some application-side work in the FreeRTOS tickless idle pre-sleep / post-sleep hooks. After that, advertising becomes intermittent and sometimes appears to stop completely.It looks like the device wakes from STOP, but then misses the BLE Link Layer scheduling point for the next advertising event.I instrumented the post-sleep hook and measured the time spent in post-sleep processing, which resulted in a 0.477ms d
Heyho,I recently started using ITCM SRAM in my H733 project, functions there working well.Then I thought that it might make sense to also copy the vector table and some interrupt handlers to ITCM.And this for the custom bootloader (BL) and the application.... and now I have some strange effect when jumping back and forth:jump BL to app: no problems at all, both the "auto-jump" after reset / power-up is working, so does a manually triggered jumpjump app to BL: and here it hangs, and so does the debugger...I'm basically using the same functions with different addresses, and in main also doing the same at start: copying the vector table to ITCM.... and now that I almost completed this post, I found that I moved the SysTick init after the peripheral clock init in the bootloader, and this uses the SysTick. Oh my... nothing to do with ITCM.Always good to write things down! :DThanks anyway!
STM32CubeIDE 1.15.1 login error, although Check Connection shows "green" in the "Firmware Updater". Because of the Login error I cannot Install "STM32CubeU0 Firmware Package V1.0.0 / 12-February-2024". I have seen in the Forum, that this kind of error has been around for a while, and even with this (for the time being) latest version of STM32CubeIDE. If some of you fellows have working ideas, please let me know!
Hi Team,I am currently working on a 48V HALL sensored based BLDC motor control system (three-phase) using the STM32F405RGT6, DRV8300, and STP100N10F7 MOSFETs. The motor is running using six-step commutation PWM.Although the motor is rotating, I am experiencing significant noise during operation. I have tested PWM frequencies ranging from 12 kHz to 20 kHz and am currently using a dead time of 1.25 µs.Under no-load conditions, the phase outputs (U, V, and W) appear correct. However, when the motor is connected, the waveforms on all three phases become distorted and are not as expected.I have attached the output video and image for reference. Could you please suggest possible solutions to reduce the noise and improve the waveform quality? Any guidance, tuning recommendations, or reference code would be greatly appreciated.Regards,Veerapandiyan V.1.With_Out_Load_ON_PHASEA_HIGH_SIDE(yELLOW_lOW_SIDE_Blue)Without_LOad_On2.With_Out_Load_Off_PHASEA_HIGH_SIDE(yELLOW_lOW_SIDE_Blue)Without_L
Hi tech supoort reps, According to the documentation for the NUCLEO-563ZI (MB1404C), the board is expected to support I3C mode. However, during our evaluation, we were unable to successfully issue I3C shell and CCC (Common Command Code) commands.At this stage, it is unclear which configuration or setting does not meet the expected requirements. Could you please provide:The correct steps to enable and use the I3C interface on this boardAny required software, firmware, or device-tree configurationsA simple example or reference demonstrating successful I3C shell and CCC command execution Thank you for your support. [00:00:00.000,000] <inf> i3c_hub_init: I3C Hub I2C init start[00:00:00.004,000] <inf> i3c_hub_init: Hub I2C init done[00:00:00.104,000] <inf> i3c_bus_mgr: I3C bus re-enumeration start[00:00:00.104,000] <inf> i3c_bus_mgr: I3C CCC: RSTDAA[00:00:00.204,000] <err> i3c_bus_mgr: RSTDAA failed (-116)*** Booting Zephyr OS build v4.3.0-6019-gef798176ad4c
Dear ST colleagues,I tried recently the package X-CUBE-NFC12.First I tested on NUCLEO-L476RG board the delivered example and it was working out of the box, then I tried on NUCLEO-C071RB but it was not working, first I noticed that the Pins configuration are not correct it was fixed, but still not working, did anyone ever test this example, because I assume it needs to work without any modification.Thank you in advance for your support.Best regardsBassem Taamallah
I am developing an spc582bxx microcontroller using AutoDevKit Studio.The device needs to wake up from sleep (standby 0) via wkpu, and RAM data must be preserved when not in por mode.Therefore, I set the MC_PCU.PCONF2.B.STBY0 register before entering sleep.However, looking at the generated boot code, it appears to clear all RAM areas during booting.Is there a boot code sample that preserves RAM data during wake-up via wkpu?I look forward to your reply.Thank you.
Regarding the Schottky diode 1N5711, could you please tell me what the reverse resistance value of this diode is? Our factory's designer believes that the reverse resistance value of this diode can be greater than 200 megohms. Could you please confirm if there is a product of this model with a reverse resistance value greater than 200 megohms? Also, under what conditions is this reverse resistance value tested and is there a testing specification? Please give us some suggestions. Thank you!
Hey, I am using MotionFx 9D, and it works pretty well, except in one case: when a fast movement is done, and we stop, the IMU is not in the correct orientation due to the update being disabled just before the end of the movement (like a 10-30° error). As I read on that forum, this is intended behavior; however, in our application, it is a pretty useless bug rather than a feature. We tried many thresholds, trusts, various sampling times, etc. No luck. Please provide any information on how we can control updates to achieve almost no movement. That looks like hidden settings, and we are so desperate to even inject a 'noisy' input as input data to trigger updating at the end of movement (as we have noticed that small vibrations are causing orientation to be corrected with every single small movement).Thanks!
I am trying to debug a project I have created in STM32CubeMX and edited in STM32CubeIDE with the STM32MP257F-DK. I am seeing an intermittent error which is mentioned in the troubleshooting grid, but it's not clear to me how to fix it. After it builds with no errors, I get a familiar message:Error in final launch sequence:Failed pre launchFailed pre launchFirmware remoteproc load failed, please:1. make sure that /lib/firmware on your target has space2. make sure that /lib/firmware has write access> you can open a Console View for this..When I check dmesg on the board, I see the lines[ 58.546876] remoteproc remoteproc0: powering up m0[ 58.628708] remoteproc remoteproc0: Booting fw image Project_Name_CM33.elf, size 3097880[ 58.631958] remoteproc remoteproc0: bad phdr da 0x80100000 mem 0x540[ 58.638236] remoteproc remoteproc0: Failed to load program segments: -22[ 58.645251] remoteproc remoteproc0: Boot failed: -22This "bad phdr" line is mentioned in Table 1 of the troublesho
Hi, I am designing a 25W power supply for the raspberry pi 5 for my battery powered project. The buck regulator I am using has a fixed 5V output and I want to use the STUSB4710 to offer 5V 5A to the Pi. How can I program the registers to do so via I2C? I have checked the datasheets as well as the STUSB47XX register maps but both are still quite vague on how to program.
Hi @STackPointer64 , I wanted to note one issue related to the 'Save As' feature. After I enter the project name (I2C_new_project_name) and the project repository (/home/gil/.../I2C_new_project_name) I click the Save button. I open the newly created ioc2 file with a text editor and I notice that the source code path is the one of the old project: "CMake": {"outputPath": "I2C_old_project_name_cmake","toolchain": "GCC","exportSource": "include-packs-from-local","removeBoard": true} I was expecting to see the source code path of the new project. Sure enough if I generate the project with this ioc2 file it will write to the I2C_old_project_name_cmake directory. I edited the ioc2 file to change the source code path to the new path to fix this issue. Regards, Gil Original post: Starting a new project with an existing ioc2 file. This discussion has been moved here for better tracking and follow-up.
I purchased a STM32H745I-DISCO. The board appears to work fine. I am trying to flash the stock firmware onto the board. I downloaded the binary from the ST product page, followed the instructions, set the correct option bytes, used the external loader. The binary file on the product page "STM32Cube_Demo-STM32H745I-DISCO-V1.0.0_FULL.hex" does not bring the board back to factory settings. The touchscreen does not work. The stock demo wont run. Does anyone have have a more up to date binary file or procedure for factory reset? Thanks
Hello,I am using the STUSB4710 as a PD-Source in my project and have a few questions regarding its configuration. In my setup, I have not utilized the feedback configuration. Instead, I am connecting the PDO outputs of the STUSB4710 to a microcontroller. The microcontroller reads the status and subsequently adjusts the output of my buck-boost converter accordingly.However, I am facing an issue where no negotiation occurs, and the output remains fixed at 5V. I would like to know if the STUSB4710 is capable of operating in such a configuration. Specifically, is it possible to achieve successful power delivery negotiations without using the feedback mechanism?Thank you for your support!
In Debian unstable (forky/sid), I tried to launch STM32CubeMX2 by launcher or command "cube mx start", but noting happened, thought there were process with command "~/.local/share/STMicroelectronics/STM32CubeMX2/resources/stm32cubemx-application/1.0.0/dist/stm32cubemx2 ~/.local/share/STMicroelectronics/STM32CubeMX2/resources/stm32cubemx-application/1.0.0/dist/resources/app/lib/backend/main.js --no-sandbox --allow-multiple-windows --backendTimeout=30000" and process with command "~/.local/share/STMicroelectronics/STM32CubeMX2/resources/stm32cubemx-application/1.0.0/dist/stm32cubemx2 --type=zygote --no-zygote-sandbox --no-sandbox".
Hello everyone,I am currently working with the STM32N6570-DK board, and I'm still in the process of understanding the workflow for the STM32 programming environment (STM32CubeIDE/CubeMX). (I have implemented simple code to turn on the led with a button and using the RNG available in the board, as a get to know the board and programming environment before this).I am trying to include the CMSIS-DSP library (arm_math.h) into my project, but I am stuck. I have tried several approaches without success:I tried following the method shown in this tutorial video (https://www.youtube.com/watch?v=QxqnBByUvKE), but it didn't work for my setup.I tried manually copying and pasting the .h and source files directly into my project folders, but that also failed and resulted in compilation errors. (https://community.st.com/t5/stm32cubemx-mcus/how-to-add-arm-math-and-dsp-libraries-to-stm32cubemx-generated/m-p/316172)In many tutorials, people suggest going to "Software Packs" -> "Select Components" in
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.