Skip to main content
Visitor II
September 2, 2024
Solved

Cant upload in PlatformIO and NUCLEO-H755 board is suddenly not detected in stm32CubeProgrammer

  • September 2, 2024
  • 1 reply
  • 3535 views

Im using NUCLEO-H755ZI-Q. I used it together with plattformio and arduino framework. In order to get arduino to work im using this setup:

 

[env:nucleo_h743zi]
platform = ststm32
board = nucleo_h743zi
framework = arduino
monitor_speed = 115200

 

This works fine using this board but suddenly it stopped working. And getting this upload error

 

Error: init mode failed (unable to connect to the target)

 

As well as the board is not connected stm32CubeProgrammer.

It is however discovered at port 13 but cannot upload. The COM led is also red indicating there is a problem with the communication with the computer. I got a brand new usb cable and have tried others so it is not the cable. 
I have two possible scenarios what has happened. 

1) since I have soldered the headers I have burned some component on the board. But maybe not so likely since it first worked and then stopped working
2) something has happened with the communication after using "wrong" but working board for uploading nucleo_h743zi. 

Are there any way of factory reset my board NUCLEO-H755ZI-Q in order to try to resolve what is wrong or any other recommendation? I have of course tried to reset with the reset button. But still the led is red. 

Thanks
    This topic has been closed for replies.
    Best answer by mƎALLEm

    Hello,

    According to this statement, did you upload a STM32H743 program to a STM32H755?



    2) something has happened with the communication after using "wrong" but working board for uploading nucleo_h743zi. 


    and: 

    [env:nucleo_h743zi]
    platform = ststm32
    board = nucleo_h743zi
    framework = arduino
    monitor_speed = 115200

    If yes, pretty sure it's a power configuration issue as NUCLEO_H743ZI board is configured in LDO while NUCLEO-H755ZI-Q is configured in SMPS.

    So, refer to this article on how to recover the board.

    1 reply

    mƎALLEmAnswer
    Technical Moderator
    September 6, 2024

    Hello,

    According to this statement, did you upload a STM32H743 program to a STM32H755?



    2) something has happened with the communication after using "wrong" but working board for uploading nucleo_h743zi. 


    and: 

    [env:nucleo_h743zi]
    platform = ststm32
    board = nucleo_h743zi
    framework = arduino
    monitor_speed = 115200

    If yes, pretty sure it's a power configuration issue as NUCLEO_H743ZI board is configured in LDO while NUCLEO-H755ZI-Q is configured in SMPS.

    So, refer to this article on how to recover the board.

    Graduate II
    September 6, 2024

    +1 on the SMPS/LDO settings

    Code would notionally be in SystemClock_Config() function, or part of some board level library or variant code as part of the build process.

    static void SystemClock_Config(void)
    {
     RCC_ClkInitTypeDef RCC_ClkInitStruct;
     RCC_OscInitTypeDef RCC_OscInitStruct;
     HAL_StatusTypeDef ret = HAL_OK;
    
     /*!< Supply configuration update enable */
     HAL_PWREx_ConfigSupply(PWR_DIRECT_SMPS_SUPPLY); // **NOT** LDO
    
     /* The voltage scaling allows optimizing the power consumption when the device is
     clocked below the maximum system frequency, to update the voltage scaling value
     regarding system frequency refer to product datasheet. */
     __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
    
     while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}
    ...
    Technical Moderator
    September 6, 2024

    Yes it should be for STM32H755.

     

     /*!< Supply configuration update enable */
     HAL_PWREx_ConfigSupply(PWR_DIRECT_SMPS_SUPPLY); // **NOT** LDO

     

    instead of:

     

     /*!< Supply configuration update enable */
     HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);

     

    + As it's an SMPS, he can't exceed the maximum System frequency of 400MHz @VOS1 as it could be for NUCLEO_H743ZI (I suppose the program he uploaded is running @480MHz @VOS0).