Skip to content

Commit 66c6844

Browse files
authored
IMPROVEMENT: [IOTUC-685] Update instructions (ARMmbed#152)
1 parent 1c04fc5 commit 66c6844

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

README.md

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
# mbed-bootloader
2-
3-
[![Build Status](https://jenkins-internal.mbed.com/buildStatus/icon?job=ARMmbed/mbed-bootloader-internal/master)](https://jenkins-internal.mbed.com/job/ARMmbed/job/mbed-bootloader-internal/job/master/)
42

53
Generic bootloader to be used in conjunction with [mbed-cloud-client](https://github.com/ARMmbed/mbed-cloud-client).
64

@@ -9,8 +7,18 @@ Generic bootloader to be used in conjunction with [mbed-cloud-client](https://gi
97
1. Install `mbed-cli` https://github.com/ARMmbed/mbed-cli
108
1. Run `mbed deploy` to pull in dependencies
119
1. Compile by running `mbed compile -t GCC_ARM -m (K64F|NUCLEO_F429ZI|UBLOX_EVK_ODIN_W2) --profile=tiny.json`
12-
1. Use this [script](https://github.com/ARMmbed/mbed-cloud-client-example/blob/master/tools/combine_bootloader_with_app.py) to combine the bootloader with application `python tools/combine_bootloader_with_app.py -a {application.bin} -b {bootloader.bin} --app-offset {application-start-address} --header-offset {firmware_metadata_header_address} -o {combined.bin}`.
13-
1. Flash `{combined.bin}` to device by drag and drop.
10+
11+
## Installation instructions
12+
13+
An image that contains the bootloader and your application can then be flashed on your device.
14+
15+
If you use Mbed CLI 1.8.x then two images are created when you compile the `example application` https://github.com/ARMmbed/mbed-cloud-client-example:
16+
* A full image `mbed-cloud-client-example-internal.bin` which combines the application with the bootloader and is used for the initial programming of the device
17+
* An update image `mbed-cloud-client-example-internal_update.bin` which contains only the application and is used for updating the device over the air
18+
19+
For more details, see [Arm Mbed OS managed bootloader](https://os.mbed.com/docs/v5.10/tutorials/bootloader.html#arm-mbed-os-managed-bootloader).
20+
21+
Flash `mbed-cloud-client-example-internal.bin` to your device by drag and drop.
1422

1523
## Metadata Header
1624

@@ -34,7 +42,7 @@ If `application-jump-address` is not set, the `application-start-address` will b
3442

3543
### Firmware Candidate Storage
3644

37-
1. `MBED_CLOUD_CLIENT_UPDATE_STORAGE`, This need to be set in the "macros" section of `mbed_app.json`. Choices are ARM_UCP_FLASHIAP_BLOCKDEVICE and ARM_UCP_FLASHIAP. This determines whether the firmware is stored on a blockdevice or internal flash. If blockdevice is used `ARM_UC_USE_PAL_BLOCKDEVICE=1` must also be set.
45+
1. `MBED_CLOUD_CLIENT_UPDATE_STORAGE`, This need to be set in the "macros" section of `mbed_app.json`. Choices are ARM_UCP_FLASHIAP_BLOCKDEVICE and ARM_UCP_FLASHIAP. This determines whether the firmware is stored on a blockdevice or internal flash. If blockdevice is used `ARM_UC_USE_PAL_BLOCKDEVICE=1` must also be set.
3846
1. `update-client.storage-address`, The address in sd block device or internal flash where the firmware candidates are stored. **Must align to flash erase boundary**
3947
1. `update-client.storage-size`, total size on the block device or internal flash reserved for firmware storage. It will be rounded up to align with flash erase sector size automatically.
4048
1. `update-client.storage-locations`, The number of slots in the firmware storage.

0 commit comments

Comments
 (0)