Skip to content

Commit

Permalink
v4.0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
evedon committed Mar 8, 2019
1 parent 061032f commit 35620e8
Show file tree
Hide file tree
Showing 65 changed files with 5,547 additions and 582 deletions.
63 changes: 9 additions & 54 deletions .mbedignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,20 @@ mbed-os/rtos/*
mbed-os/events/*
mbed-os/features/FEATURE_LWIP/*
mbed-os/features/FEATURE_BLE/*
mbed-os/features/FEATURE_COMMON_PAL/mbed-client-randlib/*
mbed-os/features/FEATURE_COMMON_PAL/mbed-coap/*
mbed-os/features/FEATURE_COMMON_PAL/nanostack-hal-mbed-cmsis-rtos/*
mbed-os/features/FEATURE_COMMON_PAL/sal-stack-nanostack-eventloop/*
mbed-os/features/FEATURE_COMMON_PAL/mbed-trace/source/*
mbed-os/features/FEATURE_COMMON_PAL/mbed-trace/test/*
mbed-os/features/FEATURE_COMMON_PAL/nanostack-libservice/source/*
mbed-os/features/FEATURE_COMMON_PAL/nanostack-libservice/test/*
mbed-os/features/FEATURE_UVISOR/*
mbed-os/features/unsupported/*
mbed-os/features/cellular/*
mbed-os/features/lorawan/*
mbed-os/features/nanostack/*
mbed-os/features/netsocket/*
mbed-os/features/filesystem/littlefs/*
mbed-os/features/filesystem/fat/*
mbed-os/features/device_key/*
mbed-os/components/802.15.4_RF/*
mbed-os/components/storage/blockdevice/COMPONENT_SD/util/*
mbed-os/components/wifi/*
mbed-os/components/storage/*
mbed-os/features/frameworks/mbed-trace/*
mbed-os/features/frameworks/mbed-client-cli/*
mbed-os/features/frameworks/mbed-client-randlib/*
mbed-os/features/frameworks/nanostack-libservice/source/*
mbed-os/features/nanostack/nanostack-hal-mbed-cmsis-rtos/*
mbed-os/features/frameworks/mbed-coap/*
mbed-os/features/lwipstack/*
mbed-os/features/nfc/*
mbed-os/targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F437xG/TARGET_UBLOX_C030/onboard_modem_api.c
Expand All @@ -31,44 +25,5 @@ mbed-os/targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F437xG/TARGET_UBLOX_C030/m
mbed-os/targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F437xG/TARGET_UBLOX_C030/min_battery_voltage.h
mbed-os/targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F439xI/TARGET_MODULE_UBLOX_ODIN_W2/sdk/ublox-odin-w2-drivers/default_wifi_interface.cpp
mbed-os/targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F439xI/TARGET_MODULE_UBLOX_ODIN_W2/sdk/ublox-odin-w2-drivers/OdinWiFiInterface.cpp
mbed-os/features/frameworks/mbed-client-randlib/*
mbed-os/features/frameworks/mbed-coap/*
mbed-os/features/frameworks/mbed-trace/*
mbed-os/features/frameworks/nanostack-libservice/*
mbed-cloud-client/update-client-hub/source/*
mbed-cloud-client/update-client-hub/modules/atomic-queue/*
mbed-cloud-client/update-client-hub/modules/control-center/*
mbed-cloud-client/update-client-hub/modules/firmware-manager/*
mbed-cloud-client/update-client-hub/modules/manifest-manager/*
mbed-cloud-client/update-client-hub/modules/pal-linux/*
mbed-cloud-client/update-client-hub/modules/source/*
mbed-cloud-client/update-client-hub/modules/source-http-socket/*
mbed-cloud-client/update-client-hub/modules/device-identity/*
mbed-cloud-client/update-client-hub/modules/lwm2m-mbed/*
mbed-cloud-client/update-client-hub/modules/monitor/*
mbed-cloud-client/update-client-hub/modules/pal-filesystem/*
mbed-cloud-client/update-client-hub/modules/pal-target-specific/*
mbed-cloud-client/update-client-hub/modules/source-http/*
mbed-cloud-client/update-client-hub/modules/source-manager/*
mbed-cloud-client/update-client-hub/modules/resume-engine/*
mbed-cloud-client/update-client-hub/modules/common/source/arm_uc_scheduler.c
mbed-cloud-client/mbed-client-pal/*
mbed-cloud-client/CMakeLists.txt
mbed-cloud-client/DOXYGEN_FRONTPAGE.md
mbed-cloud-client/Jenkinsfile
mbed-cloud-client/LICENSE
mbed-cloud-client/README.md
mbed-cloud-client/contributions.md
mbed-cloud-client/doxygen/*
mbed-cloud-client/factory-configurator-client/*
mbed-cloud-client/mbed-client/*
mbed-cloud-client/mbed-client-randlib/*
mbed-cloud-client/mbed-cloud-client/*
mbed-cloud-client/mbed-coap/*
mbed-cloud-client/mbed-trace/*
mbed-cloud-client/mbed_lib.json
mbed-cloud-client/nanostack-libservice/*
mbed-cloud-client/ns-hal-pal/*
mbed-cloud-client/sal-stack-nanostack-eventloop/*
mbed-cloud-client/source/*
mbed-cloud-client/certificate-enrollment-client/*
mbed-os/targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_SDK_11/libraries/fds/*
mbed-os/targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_SDK_14_2/libraries/fds/*
155 changes: 117 additions & 38 deletions README.md

Large diffs are not rendered by default.

106 changes: 106 additions & 0 deletions configs/block_device_fake_rot.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
{
"config": {
"documentation": {
"options": [
"In this configuration:",
"- Firmware storage is on an external SD card block device",
"- Root of Trust is hard coded and insecure",
"The flash regions are as follows:",
"1. Bootloader - 32KiB from the beginning of flash",
"4. KVSTORE - 2 flash sectors immediately following the bootloader",
"2. Active App Metadata Header - (1KiB/2KiB) from the end of KVSTORE",
"3. Active App - From end of header to the end of flash",
"+--------------------------+",
"| |",
"| |",
"| |",
"| Active App |",
"| |",
"| |",
"| |",
"+--------------------------+ <-+ mbed-bootloader.application-start-address",
"|Active App Metadata Header|",
"+--------------------------+ <-+ update-client.application-details",
"| |",
"| KVSTORE |",
"| |",
"+--------------------------+ <-+ storage_tdb_internal.internal_base_address",
"| |",
"| Bootloader |",
"| |",
"+--------------------------+ <-+ 0",
"Firmware Candidate Storage is on external SD Card at an offset of 64 MiB.",
"The storage size is the size of the maximum application size (i.e. Active",
"Application region size) multiplied by the number of storage-locations.",
"(storage-locations is set to 1 in this configuration)",
"Because the root of trust is hard code, the bootloader does not use the",
"kvstore the kvstore region here is purely for the benefit of Pelion Device",
"Management Client"
]
}
},
"macros": [
"ARM_UC_USE_PAL_BLOCKDEVICE=1",
"MBED_CLOUD_CLIENT_UPDATE_STORAGE=ARM_UCP_FLASHIAP_BLOCKDEVICE"
],
"target_overrides": {
"*": {
"platform.stdio-baud-rate" : 115200,
"platform.stdio-flush-at-exit" : false,
"update-client.firmware-header-version": "2",
"target.components_add" : ["SD"],
"sd.CRC_ENABLED" : 0,
"mbed-bootloader.use-kvstore-rot" : 0,
"update-client.storage-address" : "(1024*1024*64)",
"update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - MBED_CONF_MBED_BOOTLOADER_APPLICATION_START_ADDRESS) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)",
"update-client.storage-locations" : 1
},
"NRF52_DK": {
"sd.SPI_CS" : "SPI_PSELSS0",
"sd.SPI_MOSI" : "SPI_PSELMOSI0",
"sd.SPI_MISO" : "SPI_PSELMISO0",
"sd.SPI_CLK" : "SPI_PSELSCK0",
"minimal-printf.console-output" : "SWO",
"target.app_offset" : "0x74000",
"update-client.application-details" : "(508*1024)",
"mbed-bootloader.application-start-address": "(152*1024)",
"mbed-bootloader.max-application-size" : "((456-152)*1024)",
"update-client.storage-page" : 512,
"target.extra_labels_remove" : ["SOFTDEVICE_S132_FULL", "SOFTDEVICE_COMMON"],
"target.extra_labels_add" : ["SOFTDEVICE_S132_MBR"]
},
"K64F": {
"update-client.application-details" : "(MBED_ROM_START+40*1024)",
"mbed-bootloader.application-start-address": "(MBED_ROM_START+41*1024)"
},
"K66F": {
"update-client.application-details" : "(MBED_ROM_START+40*1024)",
"mbed-bootloader.application-start-address": "(MBED_ROM_START+41*1024)"
},
"KW24D": {
"update-client.application-details" : "(MBED_ROM_START+36*1024)",
"mbed-bootloader.application-start-address": "(MBED_ROM_START+37*1024)"
},
"NUCLEO_L476RG": {
"update-client.application-details" : "(MBED_ROM_START+36*1024)",
"mbed-bootloader.application-start-address": "(MBED_ROM_START+38*1024)"
},
"DISCO_L476VG": {
"update-client.application-details" : "(MBED_ROM_START+36*1024)",
"mbed-bootloader.application-start-address": "(MBED_ROM_START+38*1024)"
},
"NUCLEO_F429ZI": {
"update-client.application-details" : "(MBED_ROM_START+64*1024)",
"mbed-bootloader.application-start-address": "(MBED_ROM_START+65*1024)"
},
"UBLOX_EVK_ODIN_W2": {
"target.device_has_remove": ["EMAC"],
"update-client.application-details" : "(MBED_ROM_START+64*1024)",
"mbed-bootloader.application-start-address": "(MBED_ROM_START+65*1024)"
},
"UBLOX_C030_U201": {
"update-client.application-details" : "(MBED_ROM_START+64*1024)",
"mbed-bootloader.application-start-address": "(MBED_ROM_START+65*1024)"
}
}
}
61 changes: 0 additions & 61 deletions configs/internal_flash_fake_rot.json

This file was deleted.

89 changes: 89 additions & 0 deletions configs/internal_flash_no_rot.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
{
"config": {
"documentation": {
"options": [
"This configuration takes advantage of the fact that most MCUs have 2 banks of flash",
"which can be read from and written to independently of each other. Hence we put all",
"executables on the first bank, and all storage on the second bank such that reading",
"and writing storage does not halt execution. The regions are as follows:",
"1. Bootloader - 32kb from the beginning of flash",
"2. Active App Metadata Header - 1kb from the end of Bootloader",
"3. Active App - From end of header to the end of first bank of flash",
"4. KVSTORE - KVSTORE_SIZE from the beginning of the second bank of flash",
"5. Firmware Candidate Storage - The rest of the second bank of flash",
"+--------------------------+",
"| |",
"| |",
"| |",
"|Firmware Candidate Storage|",
"| |",
"| |",
"| |",
"+--------------------------+ <-+ update-client.storage-address",
"| |",
"| KVSTORE |",
"| |",
"+--------------------------+ <-+ storage_tdb_internal.internal_base_address",
"| |",
"| |",
"| |",
"| Active App |",
"| |",
"| |",
"| |",
"+--------------------------+ <-+ mbed-bootloader.application-start-address",
"|Active App Metadata Header|",
"+--------------------------+ <-+ update-client.application-details",
"| |",
"| Bootloader |",
"| |",
"+--------------------------+ <-+ 0",
"Please note that because the firmware candidate is stored on internal flash, the",
"bootloader does not require a rot to operate. Hence the KVSTORE region is there for",
"the benefit of Pelion Device Management Client only"
]
},
"kvstore-size": {
"help": "The size of the area of flash reserved for kvstore, it neeeds to be even number of flash sectors",
"macro_name": "KVSTORE_SIZE",
"required": true
}
},
"macros": [
"MBED_CLOUD_CLIENT_UPDATE_STORAGE=ARM_UCP_FLASHIAP",
"MBED_BOOTLOADER_SIZE=APPLICATION_SIZE",
"MBED_BOOTLOADER_ACTIVE_HEADER_REGION_SIZE=1024",
"FLASH_BANK_SIZE=MBED_ROM_SIZE/2"
],
"target_overrides": {
"*": {
"platform.stdio-baud-rate": 115200,
"platform.stdio-flush-at-exit": false,
"update-client.firmware-header-version": "2",
"mbed-bootloader.use-kvstore-rot": 0,
"target.restrict_size": "0x8000",
"update-client.application-details" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)",
"mbed-bootloader.application-start-address": "(MBED_CONF_UPDATE_CLIENT_APPLICATION_DETAILS + MBED_BOOTLOADER_ACTIVE_HEADER_REGION_SIZE)",
"mbed-bootloader.max-application-size" : "(MBED_ROM_START + FLASH_BANK_SIZE - MBED_CONF_MBED_BOOTLOADER_APPLICATION_START_ADDRESS)",
"update-client.storage-address" : "(MBED_ROM_START + FLASH_BANK_SIZE + KVSTORE_SIZE)",
"update-client.storage-size" : "(FLASH_BANK_SIZE - KVSTORE_SIZE)",
"update-client.storage-locations" : 1
},
"K64F": {
"kvstore-size": "2*24*1024",
"update-client.storage-page": 8
},
"K66F": {
"kvstore-size": "2*48*1024",
"update-client.storage-page": 8
},
"NUCLEO_F429ZI": {
"kvstore-size": "2*64*1024",
"update-client.storage-page": 1
},
"NUCLEO_F303RE": {
"kvstore-size": "2*24*1024",
"update-client.storage-page": 1
}
}
}
47 changes: 0 additions & 47 deletions configs/internal_flash_nvstore.json

This file was deleted.

Loading

0 comments on commit 35620e8

Please sign in to comment.