2024-09-02 09:49 AM - last edited on 2024-09-06 09:42 AM by SofLit
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
Error: init mode failed (unable to connect to the target)
As well as the board is not connected stm32CubeProgrammer.
Solved! Go to Solution.
2024-09-06 09:39 AM - edited 2024-09-06 09:41 AM
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.
2024-09-06 09:39 AM - edited 2024-09-06 09:41 AM
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.
2024-09-06 09:52 AM
+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)) {}
...
2024-09-06 09:59 AM - edited 2024-09-06 09:59 AM
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).
2024-09-06 10:11 AM
Yes, I'd expect the PlatformIO board selection would need to be done more selectively to better match the hardware at play, especially if currently targeting the OLD NUCLEO-H743ZI(1) design
NUCLEO-H745ZI-Q being the closest variant without the CRYP/HASH support
https://github.com/platformio/platformio-docs/blob/develop/boards/ststm32/nucleo_h745zi_q.rst
[env:nucleo_h745zi_q]
platform = ststm32
board = nucleo_h745zi_q
2024-09-06 10:32 AM
Thanks for the reply. Yes this solves the issue. Bu I need arduino framework support. Dont think that is supported with NUCLEO-H745ZI-Q. Is there something else to use to get arduino framework support together with NUCLEO-H755ZI-Q?
2024-09-06 10:38 AM - edited 2024-09-06 10:49 AM
As said by @Tesla DeLorean PlatformIo supports the STM32H745 which is same as STM32H755.
The difference between the devices is that H755 has the crypto accelerator not the H745.
So you can use NUCLEO-H745Z platform for NUCLEO-H755.
2024-09-06 10:55 AM
You'd need to engage with the developers directly. Perhaps fund a porting exercise.
Or look at the differences/addition related to the different board, ie pin usage, LEDs, etc, and port/morph the current material into something better suited for the board / MCU you're using.
Perhaps find where the "arduino" framework is living on Github and cite that.
2024-09-06 10:58 AM
According to the boardlist at plattformio i cant see that STM32H745 is supported though? Are there an alternative?
2024-09-06 11:07 AM - edited 2024-09-06 11:08 AM
https://github.com/platformio/platformio-docs/blob/develop/boards/ststm32/nucleo_h745zi_q.rst
Meanwhile, there is config problem. As I said, in SMPS System clock should not exceed 400MHz @VOS1:
I don't have an idea how PlatformIO works but you need to change the frequency to 400MHz and the voltage scale to VOS1