Skip to main content
Graduate
November 28, 2025
Question

STM32CUBEIDE burned my stm32h750vbt6 micro

  • November 28, 2025
  • 2 replies
  • 182 views

I progrogrammed it to use HSME at 8Mhz, aftar that it was impossible to connect using stlinkv2, injected 3.3V on booth0 but nothing happened. I had to remove the microcontroller.
There are 2 ways: it went to a too high speed and burn or was not possible to connect to HSE

Here is the code, not use it unless can easily change the micro:

void SystemClock_Config(void)
{
 RCC_OscInitTypeDef RCC_OscInitStruct = {0};
 RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

 /** Supply configuration update enable
 */
 HAL_PWREx_ConfigSupply(PWR_EXTERNAL_SOURCE_SUPPLY);

 /** Configure the main internal regulator output voltage
 */
 __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE0);

 while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}

 /** Initializes the RCC Oscillators according to the specified parameters
 * in the RCC_OscInitTypeDef structure.
 */
 RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
 RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS;
 RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
 RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
 RCC_OscInitStruct.PLL.PLLM = 2;
 RCC_OscInitStruct.PLL.PLLN = 240;
 RCC_OscInitStruct.PLL.PLLP = 2;
 RCC_OscInitStruct.PLL.PLLQ = 2;
 RCC_OscInitStruct.PLL.PLLR = 2;
 RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_2;
 RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE;
 RCC_OscInitStruct.PLL.PLLFRACN = 0;
 if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
 {
 Error_Handler();
 }

 /** Initializes the CPU, AHB and APB buses clocks
 */
 RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
 |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
 |RCC_CLOCKTYPE_D3PCLK1|RCC_CLOCKTYPE_D1PCLK1;
 RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
 RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1;
 RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2;
 RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2;
 RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV8;
 RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2;
 RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2;

 if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK)
 {
 Error_Handler();
 }
}

/**
 * @brief Peripherals Common Clock Configuration
 * @retval None
 */
void PeriphCommonClock_Config(void)
{
 RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};

 /** Initializes the peripherals clock
 */
 PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_ADC;
 PeriphClkInitStruct.PLL2.PLL2M = 4;
 PeriphClkInitStruct.PLL2.PLL2N = 160;
 PeriphClkInitStruct.PLL2.PLL2P = 4;
 PeriphClkInitStruct.PLL2.PLL2Q = 2;
 PeriphClkInitStruct.PLL2.PLL2R = 2;
 PeriphClkInitStruct.PLL2.PLL2RGE = RCC_PLL2VCIRANGE_1;
 PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2VCOWIDE;
 PeriphClkInitStruct.PLL2.PLL2FRACN = 0;
 PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_PLL2;
 if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
 {
 Error_Handler();
 }
}

Edited to apply source code formatting - please see How to insert source code for future reference.

    This topic has been closed for replies.

    2 replies

    Technical Moderator
    November 28, 2025

    " to use HSME at 8Mhz" -> to use HSE?

    "injected 3.3V on booth0" -> Boot0 pin?

     

    Super User
    November 28, 2025

    Hold BOOT0 high during reset, then connect using STM32CubeProgrammer and erase the chip.

    Using or trying to use HSE won't kill the chip. Perhaps there are other design issues.

    Super User
    November 28, 2025

    @TDK wrote:

    Using or trying to use HSE won't kill the chip. Perhaps there are other design issues.


    Indeed.

    @JLope.11  A common way to (apparently) kill an STM32H7 is to mess-up the power supply configuration - see:

    How can I recover my STM32H7/STM32H7RS board after facing a power configuration deadlock?

     

    See also: Brick your STM32H735 in one easy step!

    Technical Moderator
    November 28, 2025

    @Andrew Neil wrote:

    @JLope.11  A common way to (apparently) kill an STM32H7 is to mess-up the power supply configuration - see:

    How can I recover my STM32H7/STM32H7RS board after facing a power configuration deadlock?

     

    See also: Brick your STM32H735 in one easy step!


    STM32H750 and all STM32H74x/H75x Single core have only LDO power mode.

    So the OP cannot be in this situation.