Skip to content

Commit 35620e8

Browse files
committed
v4.0.1
1 parent 061032f commit 35620e8

File tree

65 files changed

+5547
-582
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+5547
-582
lines changed

.mbedignore

+9-54
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,20 @@ mbed-os/rtos/*
33
mbed-os/events/*
44
mbed-os/features/FEATURE_LWIP/*
55
mbed-os/features/FEATURE_BLE/*
6-
mbed-os/features/FEATURE_COMMON_PAL/mbed-client-randlib/*
7-
mbed-os/features/FEATURE_COMMON_PAL/mbed-coap/*
8-
mbed-os/features/FEATURE_COMMON_PAL/nanostack-hal-mbed-cmsis-rtos/*
9-
mbed-os/features/FEATURE_COMMON_PAL/sal-stack-nanostack-eventloop/*
10-
mbed-os/features/FEATURE_COMMON_PAL/mbed-trace/source/*
11-
mbed-os/features/FEATURE_COMMON_PAL/mbed-trace/test/*
12-
mbed-os/features/FEATURE_COMMON_PAL/nanostack-libservice/source/*
13-
mbed-os/features/FEATURE_COMMON_PAL/nanostack-libservice/test/*
14-
mbed-os/features/FEATURE_UVISOR/*
156
mbed-os/features/unsupported/*
167
mbed-os/features/cellular/*
178
mbed-os/features/lorawan/*
189
mbed-os/features/nanostack/*
1910
mbed-os/features/netsocket/*
20-
mbed-os/features/filesystem/littlefs/*
21-
mbed-os/features/filesystem/fat/*
22-
mbed-os/features/device_key/*
11+
mbed-os/components/802.15.4_RF/*
12+
mbed-os/components/storage/blockdevice/COMPONENT_SD/util/*
2313
mbed-os/components/wifi/*
24-
mbed-os/components/storage/*
14+
mbed-os/features/frameworks/mbed-trace/*
2515
mbed-os/features/frameworks/mbed-client-cli/*
16+
mbed-os/features/frameworks/mbed-client-randlib/*
17+
mbed-os/features/frameworks/nanostack-libservice/source/*
18+
mbed-os/features/nanostack/nanostack-hal-mbed-cmsis-rtos/*
19+
mbed-os/features/frameworks/mbed-coap/*
2620
mbed-os/features/lwipstack/*
2721
mbed-os/features/nfc/*
2822
mbed-os/targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F437xG/TARGET_UBLOX_C030/onboard_modem_api.c
@@ -31,44 +25,5 @@ mbed-os/targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F437xG/TARGET_UBLOX_C030/m
3125
mbed-os/targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F437xG/TARGET_UBLOX_C030/min_battery_voltage.h
3226
mbed-os/targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F439xI/TARGET_MODULE_UBLOX_ODIN_W2/sdk/ublox-odin-w2-drivers/default_wifi_interface.cpp
3327
mbed-os/targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F439xI/TARGET_MODULE_UBLOX_ODIN_W2/sdk/ublox-odin-w2-drivers/OdinWiFiInterface.cpp
34-
mbed-os/features/frameworks/mbed-client-randlib/*
35-
mbed-os/features/frameworks/mbed-coap/*
36-
mbed-os/features/frameworks/mbed-trace/*
37-
mbed-os/features/frameworks/nanostack-libservice/*
38-
mbed-cloud-client/update-client-hub/source/*
39-
mbed-cloud-client/update-client-hub/modules/atomic-queue/*
40-
mbed-cloud-client/update-client-hub/modules/control-center/*
41-
mbed-cloud-client/update-client-hub/modules/firmware-manager/*
42-
mbed-cloud-client/update-client-hub/modules/manifest-manager/*
43-
mbed-cloud-client/update-client-hub/modules/pal-linux/*
44-
mbed-cloud-client/update-client-hub/modules/source/*
45-
mbed-cloud-client/update-client-hub/modules/source-http-socket/*
46-
mbed-cloud-client/update-client-hub/modules/device-identity/*
47-
mbed-cloud-client/update-client-hub/modules/lwm2m-mbed/*
48-
mbed-cloud-client/update-client-hub/modules/monitor/*
49-
mbed-cloud-client/update-client-hub/modules/pal-filesystem/*
50-
mbed-cloud-client/update-client-hub/modules/pal-target-specific/*
51-
mbed-cloud-client/update-client-hub/modules/source-http/*
52-
mbed-cloud-client/update-client-hub/modules/source-manager/*
53-
mbed-cloud-client/update-client-hub/modules/resume-engine/*
54-
mbed-cloud-client/update-client-hub/modules/common/source/arm_uc_scheduler.c
55-
mbed-cloud-client/mbed-client-pal/*
56-
mbed-cloud-client/CMakeLists.txt
57-
mbed-cloud-client/DOXYGEN_FRONTPAGE.md
58-
mbed-cloud-client/Jenkinsfile
59-
mbed-cloud-client/LICENSE
60-
mbed-cloud-client/README.md
61-
mbed-cloud-client/contributions.md
62-
mbed-cloud-client/doxygen/*
63-
mbed-cloud-client/factory-configurator-client/*
64-
mbed-cloud-client/mbed-client/*
65-
mbed-cloud-client/mbed-client-randlib/*
66-
mbed-cloud-client/mbed-cloud-client/*
67-
mbed-cloud-client/mbed-coap/*
68-
mbed-cloud-client/mbed-trace/*
69-
mbed-cloud-client/mbed_lib.json
70-
mbed-cloud-client/nanostack-libservice/*
71-
mbed-cloud-client/ns-hal-pal/*
72-
mbed-cloud-client/sal-stack-nanostack-eventloop/*
73-
mbed-cloud-client/source/*
74-
mbed-cloud-client/certificate-enrollment-client/*
28+
mbed-os/targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_SDK_11/libraries/fds/*
29+
mbed-os/targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_SDK_14_2/libraries/fds/*

README.md

+117-38
Large diffs are not rendered by default.

configs/block_device_fake_rot.json

+106
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
{
2+
"config": {
3+
"documentation": {
4+
"options": [
5+
"In this configuration:",
6+
"- Firmware storage is on an external SD card block device",
7+
"- Root of Trust is hard coded and insecure",
8+
"The flash regions are as follows:",
9+
"1. Bootloader - 32KiB from the beginning of flash",
10+
"4. KVSTORE - 2 flash sectors immediately following the bootloader",
11+
"2. Active App Metadata Header - (1KiB/2KiB) from the end of KVSTORE",
12+
"3. Active App - From end of header to the end of flash",
13+
"+--------------------------+",
14+
"| |",
15+
"| |",
16+
"| |",
17+
"| Active App |",
18+
"| |",
19+
"| |",
20+
"| |",
21+
"+--------------------------+ <-+ mbed-bootloader.application-start-address",
22+
"|Active App Metadata Header|",
23+
"+--------------------------+ <-+ update-client.application-details",
24+
"| |",
25+
"| KVSTORE |",
26+
"| |",
27+
"+--------------------------+ <-+ storage_tdb_internal.internal_base_address",
28+
"| |",
29+
"| Bootloader |",
30+
"| |",
31+
"+--------------------------+ <-+ 0",
32+
"Firmware Candidate Storage is on external SD Card at an offset of 64 MiB.",
33+
"The storage size is the size of the maximum application size (i.e. Active",
34+
"Application region size) multiplied by the number of storage-locations.",
35+
"(storage-locations is set to 1 in this configuration)",
36+
"Because the root of trust is hard code, the bootloader does not use the",
37+
"kvstore the kvstore region here is purely for the benefit of Pelion Device",
38+
"Management Client"
39+
]
40+
}
41+
},
42+
"macros": [
43+
"ARM_UC_USE_PAL_BLOCKDEVICE=1",
44+
"MBED_CLOUD_CLIENT_UPDATE_STORAGE=ARM_UCP_FLASHIAP_BLOCKDEVICE"
45+
],
46+
"target_overrides": {
47+
"*": {
48+
"platform.stdio-baud-rate" : 115200,
49+
"platform.stdio-flush-at-exit" : false,
50+
"update-client.firmware-header-version": "2",
51+
"target.components_add" : ["SD"],
52+
"sd.CRC_ENABLED" : 0,
53+
"mbed-bootloader.use-kvstore-rot" : 0,
54+
"update-client.storage-address" : "(1024*1024*64)",
55+
"update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - MBED_CONF_MBED_BOOTLOADER_APPLICATION_START_ADDRESS) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)",
56+
"update-client.storage-locations" : 1
57+
},
58+
"NRF52_DK": {
59+
"sd.SPI_CS" : "SPI_PSELSS0",
60+
"sd.SPI_MOSI" : "SPI_PSELMOSI0",
61+
"sd.SPI_MISO" : "SPI_PSELMISO0",
62+
"sd.SPI_CLK" : "SPI_PSELSCK0",
63+
"minimal-printf.console-output" : "SWO",
64+
"target.app_offset" : "0x74000",
65+
"update-client.application-details" : "(508*1024)",
66+
"mbed-bootloader.application-start-address": "(152*1024)",
67+
"mbed-bootloader.max-application-size" : "((456-152)*1024)",
68+
"update-client.storage-page" : 512,
69+
"target.extra_labels_remove" : ["SOFTDEVICE_S132_FULL", "SOFTDEVICE_COMMON"],
70+
"target.extra_labels_add" : ["SOFTDEVICE_S132_MBR"]
71+
},
72+
"K64F": {
73+
"update-client.application-details" : "(MBED_ROM_START+40*1024)",
74+
"mbed-bootloader.application-start-address": "(MBED_ROM_START+41*1024)"
75+
},
76+
"K66F": {
77+
"update-client.application-details" : "(MBED_ROM_START+40*1024)",
78+
"mbed-bootloader.application-start-address": "(MBED_ROM_START+41*1024)"
79+
},
80+
"KW24D": {
81+
"update-client.application-details" : "(MBED_ROM_START+36*1024)",
82+
"mbed-bootloader.application-start-address": "(MBED_ROM_START+37*1024)"
83+
},
84+
"NUCLEO_L476RG": {
85+
"update-client.application-details" : "(MBED_ROM_START+36*1024)",
86+
"mbed-bootloader.application-start-address": "(MBED_ROM_START+38*1024)"
87+
},
88+
"DISCO_L476VG": {
89+
"update-client.application-details" : "(MBED_ROM_START+36*1024)",
90+
"mbed-bootloader.application-start-address": "(MBED_ROM_START+38*1024)"
91+
},
92+
"NUCLEO_F429ZI": {
93+
"update-client.application-details" : "(MBED_ROM_START+64*1024)",
94+
"mbed-bootloader.application-start-address": "(MBED_ROM_START+65*1024)"
95+
},
96+
"UBLOX_EVK_ODIN_W2": {
97+
"target.device_has_remove": ["EMAC"],
98+
"update-client.application-details" : "(MBED_ROM_START+64*1024)",
99+
"mbed-bootloader.application-start-address": "(MBED_ROM_START+65*1024)"
100+
},
101+
"UBLOX_C030_U201": {
102+
"update-client.application-details" : "(MBED_ROM_START+64*1024)",
103+
"mbed-bootloader.application-start-address": "(MBED_ROM_START+65*1024)"
104+
}
105+
}
106+
}

configs/internal_flash_fake_rot.json

-61
This file was deleted.

configs/internal_flash_no_rot.json

+89
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
{
2+
"config": {
3+
"documentation": {
4+
"options": [
5+
"This configuration takes advantage of the fact that most MCUs have 2 banks of flash",
6+
"which can be read from and written to independently of each other. Hence we put all",
7+
"executables on the first bank, and all storage on the second bank such that reading",
8+
"and writing storage does not halt execution. The regions are as follows:",
9+
"1. Bootloader - 32kb from the beginning of flash",
10+
"2. Active App Metadata Header - 1kb from the end of Bootloader",
11+
"3. Active App - From end of header to the end of first bank of flash",
12+
"4. KVSTORE - KVSTORE_SIZE from the beginning of the second bank of flash",
13+
"5. Firmware Candidate Storage - The rest of the second bank of flash",
14+
"+--------------------------+",
15+
"| |",
16+
"| |",
17+
"| |",
18+
"|Firmware Candidate Storage|",
19+
"| |",
20+
"| |",
21+
"| |",
22+
"+--------------------------+ <-+ update-client.storage-address",
23+
"| |",
24+
"| KVSTORE |",
25+
"| |",
26+
"+--------------------------+ <-+ storage_tdb_internal.internal_base_address",
27+
"| |",
28+
"| |",
29+
"| |",
30+
"| Active App |",
31+
"| |",
32+
"| |",
33+
"| |",
34+
"+--------------------------+ <-+ mbed-bootloader.application-start-address",
35+
"|Active App Metadata Header|",
36+
"+--------------------------+ <-+ update-client.application-details",
37+
"| |",
38+
"| Bootloader |",
39+
"| |",
40+
"+--------------------------+ <-+ 0",
41+
"Please note that because the firmware candidate is stored on internal flash, the",
42+
"bootloader does not require a rot to operate. Hence the KVSTORE region is there for",
43+
"the benefit of Pelion Device Management Client only"
44+
]
45+
},
46+
"kvstore-size": {
47+
"help": "The size of the area of flash reserved for kvstore, it neeeds to be even number of flash sectors",
48+
"macro_name": "KVSTORE_SIZE",
49+
"required": true
50+
}
51+
},
52+
"macros": [
53+
"MBED_CLOUD_CLIENT_UPDATE_STORAGE=ARM_UCP_FLASHIAP",
54+
"MBED_BOOTLOADER_SIZE=APPLICATION_SIZE",
55+
"MBED_BOOTLOADER_ACTIVE_HEADER_REGION_SIZE=1024",
56+
"FLASH_BANK_SIZE=MBED_ROM_SIZE/2"
57+
],
58+
"target_overrides": {
59+
"*": {
60+
"platform.stdio-baud-rate": 115200,
61+
"platform.stdio-flush-at-exit": false,
62+
"update-client.firmware-header-version": "2",
63+
"mbed-bootloader.use-kvstore-rot": 0,
64+
"target.restrict_size": "0x8000",
65+
"update-client.application-details" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)",
66+
"mbed-bootloader.application-start-address": "(MBED_CONF_UPDATE_CLIENT_APPLICATION_DETAILS + MBED_BOOTLOADER_ACTIVE_HEADER_REGION_SIZE)",
67+
"mbed-bootloader.max-application-size" : "(MBED_ROM_START + FLASH_BANK_SIZE - MBED_CONF_MBED_BOOTLOADER_APPLICATION_START_ADDRESS)",
68+
"update-client.storage-address" : "(MBED_ROM_START + FLASH_BANK_SIZE + KVSTORE_SIZE)",
69+
"update-client.storage-size" : "(FLASH_BANK_SIZE - KVSTORE_SIZE)",
70+
"update-client.storage-locations" : 1
71+
},
72+
"K64F": {
73+
"kvstore-size": "2*24*1024",
74+
"update-client.storage-page": 8
75+
},
76+
"K66F": {
77+
"kvstore-size": "2*48*1024",
78+
"update-client.storage-page": 8
79+
},
80+
"NUCLEO_F429ZI": {
81+
"kvstore-size": "2*64*1024",
82+
"update-client.storage-page": 1
83+
},
84+
"NUCLEO_F303RE": {
85+
"kvstore-size": "2*24*1024",
86+
"update-client.storage-page": 1
87+
}
88+
}
89+
}

configs/internal_flash_nvstore.json

-47
This file was deleted.

0 commit comments

Comments
 (0)