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 Team,Refering to this Thread : https://community.st.com/t5/stm32-mcus-products/updating-firmware-through-usb-dfu-with-readout-protection-level/m-p/838635We want to achieve same , Can I upgrade the firmware using USB DFU, with RDP set to level 1? We are fine setting RDP1 -> RDP0 and Erase Flash, then Flash the Firmware.I tried with Cubeprogrammers and CLI , but unroftunately USB1 ( STM32 Bootloader in PC device manager ) not showing and connection does not happen. Tried making BOOT0 pin high when Reset.However , Actual plan is jump to system bootloader from User code through jump address. Regards,@STOne-32 @j_filipe
my UART settings are as follows:void USART_Configuration(EUartCom uartCom) { USART_Config(uartCom, COM_BAUDRATE[uartCom]); } void USART_Config(EUartCom uartCom, uint32_t baudrate) { USART_DeInit(COM_USART[uartCom]); GPIO_InitTypeDef GPIO_InitStructure; // DE: GPIO_InitStructure.GPIO_Pin = COM_DE_PIN[uartCom]; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(COM_DE_PORT[uartCom], &GPIO_InitStructure); GPIO_ResetBits(COM_DE_PORT[uartCom], COM_DE_PIN[uartCom]); // TX: GPIO_InitStructure.GPIO_Pin = COM_TX_PIN[uartCom]; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_25MHz; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(COM_TX_PORT[uartCom], &GPIO_InitStructure); // RX: GPIO_InitStructure.GPIO_Pin = COM_RX_PIN[uart
STM32H563 on custom board. Using NVIC_SystemReset() to reset. It resets consistently.I expect LL_RCC_IsActiveFlag_PINRST() to return true after the MCU comes out of reset. It consistently returns false.NVIC_SystemReset() should result in pin reset, yes?LL_RCC_IsActiveFlag_PINRST() returns false after a restart with STM32CubeIDE debugger also.Could something on the board hold NRST high?
I have created a project in MotorControlWorkbench version 6.4.0 with both no RTOS and FreeRTOS (by clicking the radio button in MotorControlWorkbench) and gotten it to work successfully on my custom hardware based on the EVLServo1 eval kit. However, because I use he Keil toolchain I would prefer to use RTOS2 RTX5 for my RTOS instead. I have managed to create the project with MotorControlWorkbench (with no FreeRTOS) and then when I open it in Keil I go into the Manage RunTime Environment and enable the RTOS2 RTX5 RTOS. This adds a number of files to the project. I have worked through a number of compilation errors and am now getting one last error:Error: L6200E: Symbol SysTick_Handler multiply defined (by irq_armv7m.o and stm32_mc_common_it.o).I understand this to mean that RTOS2 RTX5 has a SysTick_Handler of it's own and so does the HAL libraries created by MotorControlWorkbench and I need to switch one of them over to use a hardware timer like TIM6 instead.&nbs
I am testing the Timer and PWM with different combinations to understand it better on NucleoF446RE board. I have configured as belowTimer1 as Master with trigger output as update event, PWM channel1 output on PA8 (interrupt). Timer2 as slave in trigger mode and output PWM Channel1 on PA5 same as LED based on interrupt.Problem is Timer2 Channel1 output does not toggle on PA5 but if i place break point in tiimer2 interrupt is triggered.void TIM2_IRQHandler(void) { /* USER CODE BEGIN TIM2_IRQn 0 */ /* USER CODE END TIM2_IRQn 0 */ HAL_TIM_IRQHandler(&htim2); /* USER CODE BEGIN TIM2_IRQn 1 */ /* USER CODE END TIM2_IRQn 1 */ }Please guide to solve the issue.
Hello,I have been using CubeIDE for some time to flash the STM32H755ZIT6 microcontroller with the J-Link Base. After the latest update, I started getting this error: Error in final launch sequence:Failed to execute MI command:target remote localhost:2331Error message from debugger back end:Truncated register 16 in remote 'g' packetFailed to execute MI command:target remote localhost:2331Error message from debugger back end:Truncated register 16 in remote 'g' packetTruncated register 16 in remote 'g' packetI have already updated J-Link to the latest versionIs there any method to resolve this issue?Thank you.
Hello, I am using below the libraries with my project.STM32Cube_FW_H7_V1.12.0 (STM32H7xx HAL 1.10.0)- LwIP V2.1.2, FreeRTOS V10.2.1, 2017 - ethernetif.cAnd I designed the HTTP Server with STM32H743ZIT6. It is very well operate.And I updated the libraries such as STM32H7xx HAL 1.11.5 recently.- LwIP V2.1.2, FreeRTOS V10.3.1, 2022 - ethernetif.cAll normal operations are functioning properly. (TCP, UDP)However, an errors is occurring in the HTTP Server.I implemented it by referenceing the LwIP_HTTP_Server_Socket_RTOS example from the STM32H7 HAL repository.When approximately two files are requested simultaneously in a Web Browser, LwIP becomes unresponsive.(Ethernet Event Handler is running when LAN cable Unplug and Plug) (capture packets in old version) (capture packets in new version)There are no changes to the application. (httpserver_socket.c)But, these error continue to appear. I would appreciate any helpful advice. Best regards, 
Hi, I'm using STM32H745ZI implemented ethernet with Lwip it's working fine STM32CubeIDE(ver-1.90.0) but not in IAR(ver-9.30.1) like any changes that I need to do in .icf file of IAR because it's working fine Cube IDE
I have an STM32H7 project (created by TouchGFX) that uses FreeRTOS.FreeRTOS uses the systick, so the HAL uses TIM2 for it's timebase.However, HAL_IncTick is never called, so calls to HAL_Delay never return.HAL_InitTick() is being called during startup and this results in TIM2 counting and its update interrupt flag being set. However, the interrupt handler never gets called.
Hi,I´m trying to get the BLE p2p running on a STM32G0B1. But it´s really hard to figure out what to copy from the U5 demo application! Is there any detailed guide how to do this?When configuring it in STM32CubeMX there´s also the problem, that Application can not be selected - maybe because FreeRTOS is integrated in G0 package and can not be selected as a component. Best regards,Achim
New programmer and new to the STM32 ecosystem as well.I am working with a STM32F401 as it has 5v tolerant inputs and 2 32bit clocks.I have a simple program that reads the 2 32bit TIMs (2&5) in encoder mode, sums the results and then outputs a quadrature signal to a device. I have the GPIO outputs set to "low" speed, which according to my reading should give them a max of 2Mhz output.Even this appears to be too fast with the HCLK set to the maximum of 84Mhz. On a scope the signal looks pretty bad and my device (cheap DRO) cannot read the signal at that speed. If I drop the HCLK down to 4Mhz everything works as expected and I get real nice square waves on the scope but this feels "kludgy"My question is, is there something else I should be looking at to adjust the output rate? HAL_Delay etc feel even more kludgy than stepping the clock down.Any help would be greatly appreciated; Code follows while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ int32_t cnt1 = __HAL_
HI, I'm using stm32h7s78-dk, and setup the external flash following this tutorial The "appli" project is in external flash and runs with no issue. Now I want to write some config data such as display brightness to the external flash according to user input but I can't find a way to do that. I tried HAL_FLASH_Program(), but it seems can only modify the internal flash. Then I tried to enable EXTMEM_MANAGER_APPLI in CubeMX to use EXTMEM_WriteInMappedMode(). However, I can't reinitialize the xspi in "appli" project..What is the appropriate way to do this? Any input is much appreciated!
Hello,I need to build a USB headset(mic+speaker) using STM32H742VIT6 for a project. I want the stm32h7 to be recognized as a audio device when connected to a PC/android device. Is this possible?This is my first time using a STM Board with cubeMX and cubeIDE, so I want to build the microphone part first. I am having trouble programming the board, specially what middleware to use, how the structure of the project works in the ide, what would be the setup e.g. clock config, dma, adc, timer configuration. It would be nice if I could get some resources/guide on how to start, because I am lost inside the mx and ide!Hardware: WeAct Studion STM32H742VIT6MAX4466 mic
Hi, Was wondering if there is any info on when the VL53L9CX is expected to be released? Regards
Hi everyone,My company recently purchased a new ST-Link/v2 programmer. The problem is that after the firmware update, the device stopped working, and when I press the Connect button on the STM32CubeProgrammer, the following error appears:Error: ST-LINK error (DEV_USB_COMM_ERR)I tried using an ST-Link/V2 programmer I bought a few months ago, and everything works fine (I only replaced the programmer, same USB cable, same programming cable).The programmer is original, I'm sure of it. I purchased the programmer from DigiKey.Even the serial number I see appears to be genuine. When I try to update the firmware, I get the following result:Can anyone help me solve my problem?Thanks
PART NO: STM32H743IIT6CUBE_IDE VER: 1.19.0SDK : STM32Cube FW_H7 V1.12.1LSE PART NO. : CM9V-T1A-32.768kHz-12.5pF-20PPM-TA-QCHello everyone,I am trying to use RTC on mentioned STM part number. I have enable LSE and configured the RTC.Currently i am not using any battery, i am using a power supply with 3V to VBAT.After boot up inside HAL_RCC_OscConfig, i am getting timeout while checking RCC_FLAG_LSERDY flag. while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == 0U) { if ((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) { return HAL_TIMEOUT; } } The sequence is, once i have provided VDD then VBAT, everything works fine.Next i just turn off the VDD, VBAT is still present.Then i turn on the VDD and facing this issue.Another thing to note is, i am not facing this issue with LSI. So i changed the crystal but facing the same issue.Also the PDR_ON pin is connected to VDD according to specifications.Is it possible to provide any insight of why this is happe
We have a bit of an issue with a batch of STR731FV2T7 microcontrollers (oldschool, I know) not being able to be flashed properly. Any help would be appreciated. We've verified all the usual suspects are not a problem (signal integrity, crystal oscillation, power supply rails all OK). We've also x-ray inspected the packages and the dies, bond wire and package all look the same as known working batches. Anyway, when we try to flash the board with a SEGGER Flasher, we get the following: SEGGER J-Link Commander V6.44h (Compiled May 3 2019 17:37:48)DLL version V6.44h, compiled May 3 2019 17:37:09Connecting to J-Link via USB...O.K.Firmware: J-Link ARM / Flasher ARM V4 compiled Apr 18 2019 16:17:53Hardware version: V4.02S/N: 164215152License(s): JFlash, GDBIP-Addr: 10.0.0.156 (DHCP)VTref=5.019VType "connect" to establish a target connection, '?' for helpJ-Link>Please specify device / core. <Default>: STR731FV2Type '?' for selection dialogDevice>Please specify target interface:J) J
I'd like to clone an existing STM32 C project with CMake that I've previously setup. I've seen posts about how to do this on STM32CubeIDE but none using the VSCode extension.Currently, I'm aware of 2 methods:Cloning `.ioc` fileClone the `.ioc` file into new folder with <New Project Name>.Find and replace any <Old Project Name> references with <New Project Name> in the `.ioc` file.Open the updated `.ioc` file in CubeMX and generate code.Copy over any user code from the original `main.c`.(a bit tedious depending on how much user code there is)Copy over any libraries and recreate any symlinks.Build projectCopying the whole project folder and renamingCopy entire project folder and rename it.Find and replace all occurrences of <Old Project Name> with <New Project Name>.Try building and fix any errors that pop up.Method 1 feels safer but is more tedious than method 2.Is there a neater way to do this that doesn't involve manually replacing values? (i.e. with
Hi! I am trying to muddle my way through a design that revolves around an STM32U5 MCU, and am specifically trying to think about ESD protection. I have been referencing AN5612, which quite helpfully provides lots of specific examples for various applications (though it seems to perhaps be falling out of date, as a handful of the devices mentioned seem to now be marked NRND). One thing that I can't quite wrap my head around, though, is ESD protection as it relates to running some or all of the power domains of the MCU at 1.8V. For example, the datasheet for the stm32u59xx has an Absolute Maximum Ratings table that shows most FT (5V tolerant) pins have a max rating of either 5.5V or min(Vxx+4.0, 6) - so 5.8V in this case - with other pins having a max rating of 4.0. I know these are DC voltages, but I think I understand that it's these values I should use when trying to parametrically search for ESD protective devices, such that they have forward voltages above 1.8V and clamping vol
HiIn this EVAL-SCS001V1 BoardI want to connect this board to my STM32F767ZI, BUT Data lines D+/D- on Its USB-C Connector are not connected to any test point. Is there any workaround this? I can solder wires to for example A side of this connector(D+/D-) but then B side will be left unconnected. I can live with the fact that USB CABLE will work in only 1 orientation when inserted in USB-C Receptable but i am unsure of any other consequences that it will cause? Power delivery contracts/CC1/2, etc.. I know ST offers another Development board STEVAL-ISC005V1 where these signals are available but don't need so many Voltage Outputs and EVAL-SCS001V1 fits perfectly.
We are considering using ST TRISIL (TSS) devices for crowbar protection . We have been using an alternative type of protection device from LITTELFUSE (SIDACTOR) in an application where we require the TSS to fail as a short circuit. In our application we require the TSS to be a single use device that fails to a very low impedance in a current limited circuit (~3A) . The LITTELFUSE devices have been tested extensively in our circuit and do fail safe to a very low impedance of ~0.1 ohms however some other brands (not ST) have a percentage that fail with impedance of say 5-7 ohms which is too high a resistance with 3A flowing and this creates excessive power and fire risk. The ST data for the SMP100LC series of TSS device says that it will fail safe and our testing on 10pcs so far shows this to be correct. Can anyone confirm that the design of the TRISIL device will never fail in a higher impedance manner therefore minimizing fire risk?
Hello,first let me start this post by mentioning that I'm still very much a beginner.I'm writing my own abstraction layer functions for the N657X0.While running my clock_config() function, I ran into an issue that I don't know how to fix. The function works as follows:- reset RCC->CR, CRGR1, CFGR2- enable MSI and wait for MSI ready bit- set CPU & SYS clock source to MSI and wait for clock source confirmation bits- disable all other oscillators and all PLL- reset RCC->HSICFGR- configure HSI- enable HSI and wait for HSI ready bit- set CPU & SYS clock source to HSI and wait for clock source confirmation bits- disable MSI- reset RCC->MSICFGR- configure MSI- enable/disable oscillators (if HSIEN=0 then MSIEN=1 and vice-versa)- reset RCC->ICxCFGR- configure ICx- reset RCC->PLLxCFGRx- configure PLLx- enable PLLx and wait for PLLx lock ready bit- check CPU and SYS clock source selection- check if source is actually active by checking the corresponding ready bit again- sel
Hello, I'm trying to use TouchGFX. I created a new project and clicked on Generate code. Afterwards I get the following error message, which I do not know how to handle. Do you have any suggestions?Generate CodeCopy FrameworkCopying TouchGFX framework version 4.24.1 to C:\temp\testgfx\MyApplication\touchgfxDoneGenerateWrote config/gcc/app.mkWrote config/msvs/Application.propsWrote generated/gui_generated/include/gui_generated/common/FrontendApplicationBase.hppWrote generated/gui_generated/include/gui_generated/common/FrontendHeapBase.hppWrote generated/gui_generated/include/gui_generated/common/SimConstants.hppWrote generated/gui_generated/include/gui_generated/screen1_screen/Screen1ViewBase.hppWrote generated/gui_generated/src/common/FrontendApplicationBase.cppWrote generated/gui_generated/src/screen1_screen/Screen1ViewBase.cppWrote generated/simulator/gcc/MakefileWrote generated/simulator/include/simulator/mainBase.hppWrote generated/simulator/include/simulator/video/D
Hi Partners,hope I can find you well through this mail,I need X-NUCLEO-IHM08M1 3D model(step), if you have the resource, please help me! thanks. best regards,Crispian Liu
Hi, I'm a bit stuck. I'm trying to program watermarks for BANK2 (to make the entire bank secure so I can read the whole area using secure alias) for a custom boot-loader. The code below is executing in secure context from BANK1 (and no bank swap). It runs without error, but after a reset, the option bytes are still unchanged. Im calling it with (FLASH_BANK_2, 0, 63, 0) as arguments. (63 being the last flash page of a 512KB bank - device is 1MB) I am pretty sure I misunderstand something. Kind Regards, Nick /** * @brief Configures or Disables Secure Watermark for a specific bank. * @PArambank: FLASH_BANK_1 or FLASH_BANK_2 * @PAramstart_page: Start page (Set > end_page to disable) * @PAramend_page: End page * @PAramlaunch: If SET, triggers a System Reset immediately to apply changes. * @return true if the operation was successful, false otherwise * @note to disable WM, set start_page > end_
ST Community highlights – April to June 2026
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.