From d3b2cf16390096264b1bfe97c432837832375b66 Mon Sep 17 00:00:00 2001 From: Sebastian Romero Date: Thu, 17 Nov 2022 14:39:07 +0100 Subject: [PATCH] Add information on how to change the start address --- .../portenta-h7/tutorials/updating-the-bootloader/content.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/hardware/04.pro/boards/portenta-h7/tutorials/updating-the-bootloader/content.md b/content/hardware/04.pro/boards/portenta-h7/tutorials/updating-the-bootloader/content.md index f0c63620da..361a30c123 100644 --- a/content/hardware/04.pro/boards/portenta-h7/tutorials/updating-the-bootloader/content.md +++ b/content/hardware/04.pro/boards/portenta-h7/tutorials/updating-the-bootloader/content.md @@ -48,6 +48,7 @@ The bootloader helps to upload a new sketch to the board. If the bootloader was ## Memory Layout Both the bootloader and the firmware have predefined (but adjustable) locations in the memory where they get stored. In the end, the processor needs to know where to find the instructions to do its work. On the Portenta, for example, the bootloader is stored at the Flash memory address `0x08000000`. When the board gets powered on, it will jump to this location and start to do its job. The bootloader in turn knows that e.g. for the M7 the firmware can be found at location `0x08040000`, so it will jump there if it does not need to upload a new firmware. +Should you for some reason want to adjust the start address of the application, you can edit the property `target.mbed_app_start` in the [mbed_app.json config file](https://github.com/arduino/ArduinoCore-mbed/blob/master/variants/PORTENTA_H7_M7/conf/mbed_app.json) of the core. Apart from modifying the json, you also need to change the text section start address [here](https://github.com/arduino/ArduinoCore-mbed/blob/master/variants/PORTENTA_H7_M7/linker_script.ld#L3). Alternatively you can recompile Mbed OS using the `mbed-os-to-arduino` [script](https://github.com/arduino/ArduinoCore-mbed/blob/master/mbed-os-to-arduino). ![There are predefined, but adjustable locations in the memory where the firmware and the bootloader get installed](assets/por_ard_bl_flash_memory.svg)