You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+59Lines changed: 59 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -156,3 +156,62 @@ The firmware update candidates can be stored on an external sd card. The firmwar
156
156
## Debug
157
157
158
158
Debug prints can be turned on by enabling the define `#define tr_debug(fmt, ...) printf("[DBG ] " fmt "\r\n", ##__VA_ARGS__)` in `source/bootloader_common.h` and setting the `ARM_UC_ALL_TRACE_ENABLE=1` macro on command line `mbed compile -DARM_UC_ALL_TRACE_ENABLE=1`.
159
+
160
+
## Example config case study
161
+
162
+
Scenario: Your target is NUCLEO_F429ZI. You have added extra functionality to the bootloader such that the size of the bootloader exceeded the default 32KiB. How to configure your bootloader and application so that everything still work together.
163
+
164
+
### STEP 1: Design flash layout
165
+
166
+
NUCLEO_F429ZI has 2MiB of flash, and its sector sizes are as follows: 4x16KiB, 1x64KiB, 7x128KiB, 4x16KiB, 1x64KiB, 7x128KiB.
167
+
Because the bootloader is larger than 32KiB, it will take the first 3 sectors. The NVStore area can no longer take 2x16KiB sectors. Hence we will move NVSTORE to the last 2x128KiB sectors in the flash region. So we will end up with the following layout:
168
+
169
+
```
170
+
0x00000000 - 0x0000C000 Bootloader
171
+
0x0000C000 - 0x0000C400 Application Header
172
+
0x0000C400 - 0x001C0000 Application
173
+
0x001C0000 - 0x001E0000 NVSTORE_1
174
+
0x001C0000 - 0x00200000 NVSTORE_2
175
+
```
176
+
177
+
The update firmware candidate is still stored on sd-card.
178
+
179
+
### STEP 2: Configure the bootloader
180
+
181
+
Given the above flash layout the following configuration need to change in the mbed_app.json:
Now you can build the application following the [Pelion Device Management Platform Documentation](https://cloud.mbed.com/docs/current/updating-firmware/updating-end-to-end-tutorials.html).
0 commit comments