Skip to main content
Visitor II
February 28, 2024
Solved

MCUBoot on nucleo H563

  • February 28, 2024
  • 1 reply
  • 2227 views
Hello,
I'm working with the nucleo_h563zi board and Zephyr (3.6).  I'm trying to build using MCU Boot and firmware update. I  have been able to successfully build MCUBoot and flash it to the device. That boots but fails with the "Unable to find bootable image" which is expected as there is no application flashed at this point. Next, I am able to build and flash my application to the board.  I'm using the Zephyr Blinky sample as a minimal test.  I've made sure to configure the partitions and MCUBoot options correctly. When I flash it to the board, however, I get the following error:

Memory Programming ...
Opening and parsing file: zephyr.signed.hex
File : zephyr.signed.hex
Size : 20.02 KB
Address : 0x08010000


Erasing memory corresponding to segment 0:
Erasing internal memory sectors [8 10]
Download in Progress:
██████████████████████████████████████████████████ 100%

File download complete
Time elapsed during download operation: 00:00:00.674

RUNNING Program ...
Address: : 0x8000000
Warning: The core is locked up
Start operation achieved successfully

 
As can be seen above, the core locks up.  From that point on the board is unresponsive. Resetting, cycling power, etc. all result is nothing showing up on the console.  All of the board options are stock.  I've not changed any of the option bytes, boot parameters, etc.  I am able to build without MCU Boot and flash to the device; this works without issue.
 
Any ideas as to what is causing this or how to troubleshoot this?
 
Thank you in advance,
Stephen
    This topic has been closed for replies.
    Best answer by srberard

    I managed to sort this out.  As it turns out,  the boards.cmake file (in the Zephyr boards directory for the specific board) includes the --erase option.  This prevents the board from flashing properly when you have multiple flash operations.  Removing this option resolved my issue.  

    There is an issue opened in Zephyr tracking this.  See https://github.com/zephyrproject-rtos/zephyr/issues/69582 for more details.

    1 reply

    srberardAuthorAnswer
    Visitor II
    February 28, 2024

    I managed to sort this out.  As it turns out,  the boards.cmake file (in the Zephyr boards directory for the specific board) includes the --erase option.  This prevents the board from flashing properly when you have multiple flash operations.  Removing this option resolved my issue.  

    There is an issue opened in Zephyr tracking this.  See https://github.com/zephyrproject-rtos/zephyr/issues/69582 for more details.