2024-07-15 10:50 PM
I seek your assistance with an issue I'm encountering while attempting to jump from my bootloader to an application stored at a specific address in the flash memory of an STM32H723ZGT6TR microcontroller.
I am able to successfully flash the application binary from a USB to the flash memory using bootloader code. However, I am unable to run the application using the following code snippet:
2024-07-16 12:42 AM - edited 2024-07-16 12:42 AM
Hello @Pushpalatha and welcome to the Community 🙂
Please have a look at these articles which will help you on how to Jump to bootloader from application:
2024-07-16 02:04 AM
When I flash the application code using STM32CubeIDE and then run the bootloader code, I am able to successfully jump to the application address and execute the application. However, when I attempt to flash the application code from within the bootloader itself, I encounter difficulties in running the application code afterward. I suspect the issue lies with the flash write process during the bootloader operation.
2024-07-16 02:13 AM
Could you show us your process of how you write the flash in the bootloader?
2024-07-16 02:26 AM
void Flash_Write(uint32_t address, uint8_t *data, uint32_t length) { HAL_FLASH_Unlock(); for (uint32_t i = 0; i < length; i += 8) { uint32_t data_word = *(uint32_t *)(data + i); if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_FLASHWORD, address + i, data_word) != HAL_OK) { Error_Handler(); } }