Skip to content

Commit 8ef8fce

Browse files
authored
Merge pull request #78 from PelionIoT/release-4.8.0
mbed-cloud-client-example 4.8.0
2 parents e9c83cf + 5d6d67b commit 8ef8fce

File tree

62 files changed

+4906
-1006
lines changed

Some content is hidden

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

62 files changed

+4906
-1006
lines changed

CHANGELOG.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,33 @@
11
# Changelog for Pelion Device Management Client example application
22

3+
## Release 4.8.0 (19.04.2021)
4+
5+
* Updated to Mbed OS 6.8.0.
6+
* Updated cURL to 7.75.0 in `pal-platform`.
7+
* Updated parsec-se-driver to 0.4.0.
8+
* Updated to Pelion end-to-end test library v0.2.10.
9+
* Removed support for SXOS platform in the application.
10+
* Consolidated the K64F ESP8266 configuration to `wifi_esp8266_minimal.json`.
11+
* Removed K66F PSA.
12+
* `DISCO_L475VG_IOT01A` target bootloader increased from 36kB to 38kB.
13+
* Introduction of upgraded Update client:
14+
* The new features of the upgraded Update client:
15+
* Component update.
16+
* Resume after power failure.
17+
* Defer firmware update installation.
18+
* Candidate encryption on external storage.
19+
* Configured Mbed OS non-mesh and Linux targets to use the new upgraded Update client.
20+
21+
<span class="notes">**Note:** To use legacy Update client in your Mbed OS non mesh target, please refer to the configurations in PDMC example 4.7.1.</span>
22+
23+
* Legacy Update client is still used in Mbed OS mesh targets and SDK's targets (NXP, Renesas).
24+
* Upgraded update client bootloaders are located in prebuild-bl folder. Legacy bootloaders are located in tools folder.
25+
* On `K64F`, `NUCLEO_F411RE` and `DISCO_L475VG_IOT01A` targets, the update candidate is stored encrypted on the external storage encrypted.
26+
27+
* Created migration documentation guide for existing customers who wish to migrate legacy Update client to the new Update client.
28+
29+
<span class="notes">**Note:** After you migrate to the new Update client, only the "Component update" feature is available. To use other features of the new Update client, reflash the device with the new configuration and new bootloader.</span>
30+
331
## Release 4.7.1 (28.01.2021)
432

533
- [Mbed OS] Updated ISM43362 Wi-Fi driver to #3813a4b with fixes for logging and UDP socket handling.

CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
if(DEFINED WEST_PYTHON)
2+
message(STATUS "Zephyr build detected. Using CMakeLists.txt from pal-platform/SDK/ZephyrOS instead.")
3+
include(${CMAKE_CURRENT_SOURCE_DIR}/pal-platform/SDK/ZephyrOS/CMakeLists.txt)
4+
return()
5+
endif()
6+
17
INCLUDE(CMakeForceCompiler)
28
# CROSS COMPILER SETTING
39
cmake_minimum_required (VERSION 3.5)

Makefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,15 @@ LOCAL_ADD_INCLUDE += . \
7474
LOCAL_EXPORT_FLAG += __SXOS__
7575

7676
LOCAL_EXPORT_FLAG += "'PAL_USER_DEFINED_CONFIGURATION=\"SXOS/sxos_sotp.h\"'"
77-
LOCAL_EXPORT_FLAG += "'MBED_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config.h\"'"
7877
LOCAL_EXPORT_FLAG += "'MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config.h\"'"
7978

8079
LOCAL_EXPORT_FLAG += "'MBED_CONF_MBED_CLIENT_EVENT_LOOP_SIZE=12000'"
8180
LOCAL_EXPORT_FLAG += "PAL_SIMULATOR_FLASH_OVER_FILE_SYSTEM=1"
8281
LOCAL_EXPORT_FLAG += "MBED_CONF_APP_CLOUD_MODE=1"
8382
LOCAL_EXPORT_FLAG += "MBED_CONF_APP_DEVELOPER_MODE=1"
83+
LOCAL_EXPORT_FLAG += "MBED_CLOUD_CLIENT_SUPPORT_UPDATE"
84+
LOCAL_EXPORT_FLAG += "MBED_CLOUD_CLIENT_UPDATE_BUFFER=2048"
85+
LOCAL_EXPORT_FLAG += "MBED_CLOUD_CLIENT_TRANSPORT_MODE_UDP_QUEUE"
8486

8587
# not yet
8688
LOCAL_EXPORT_FLAG += "MBED_CONF_MBED_CLOUD_CLIENT_DISABLE_CERTIFICATE_ENROLLMENT=1"
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
https://github.com/PelionIoT/pelion-e2e-python-test-library/#b1254f39b5d4fe4a5805642f109bd6d6f27adaaa
1+
https://github.com/PelionIoT/pelion-e2e-python-test-library/#43e62c4a457c7c2568759dacc22948b59a459705

configs-psa/eth_v4.json

Lines changed: 16 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,37 @@
11
{
22
"macros": [
3-
"ARM_UC_USE_PAL_BLOCKDEVICE=1",
43
"MBEDTLS_USE_PSA_CRYPTO"
54
],
65
"target_overrides": {
76
"*": {
8-
"target.features_add" : ["EXPERIMENTAL_API", "BOOTLOADER", "STORAGE"],
9-
"target.c_lib" : "std",
7+
"target.features_add" : ["EXPERIMENTAL_API", "STORAGE"],
108
"platform.stdio-baud-rate" : 115200,
119
"platform.stdio-convert-newlines" : true,
1210
"platform.stdio-buffered-serial" : true,
1311
"platform.stdio-flush-at-exit" : true,
1412
"rtos.main-thread-stack-size" : 5120,
1513
"mbed-cloud-client.psa-support" : 1,
1614
"update-client.storage-locations" : 1,
17-
"mbed-trace.enable" : null
18-
},
19-
"Freescale": {
20-
"lwip.mem-size" : 12500
15+
"mbed-trace.enable" : null,
16+
"storage.storage_type" : null,
17+
"storage_filesystem.filesystem" : null,
18+
"storage_filesystem.blockdevice" : null,
19+
"storage_filesystem.internal_base_address" : null,
20+
"storage_filesystem.rbp_internal_size" : null,
21+
"storage_filesystem.external_base_address" : null,
22+
"storage_filesystem.external_size" : null,
23+
"fota.enable" : true,
24+
"fota.default-app-ifs" : 1
2125
},
2226
"K64F": {
2327
"target.network-default-interface-type" : "ETHERNET",
24-
"target.bootloader_img" : "tools/mbed-bootloader-k64f-block_device-kvstore-v4.1.0.bin",
28+
"target.extra_labels_add" : ["BL_SD"],
2529
"target.header_offset" : "0xa000",
26-
"target.app_offset" : "0xa400",
30+
"target.app_offset" : "0xa200",
2731
"target.components_add" : ["SD"],
28-
"update-client.bootloader-details" : "0x00007188",
29-
"update-client.application-details" : "(40*1024)",
30-
"update-client.storage-address" : "(1024*1024*64)",
31-
"update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)",
32-
"mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE",
33-
"storage_filesystem.internal_base_address" : "(32*1024)",
34-
"storage_filesystem.rbp_internal_size" : "(8*1024)",
35-
"storage_filesystem.external_base_address" : "(0x0)",
36-
"storage_filesystem.external_size" : "(1024*1024*64)",
37-
"storage.storage_type" : "FILESYSTEM",
38-
"storage_filesystem.filesystem" : "LITTLE",
39-
"storage_filesystem.blockdevice" : "SD"
40-
},
41-
"K66F": {
42-
"target.network-default-interface-type" : "ETHERNET",
43-
"target.bootloader_img" : "tools/mbed-bootloader-k66f-internal_flash-no_rot-v4.1.0.bin",
44-
"target.header_offset" : "0x8000",
45-
"target.app_offset" : "0x8400",
46-
"rtos.main-thread-stack-size" : 8192,
47-
"update-client.bootloader-details" : "0x4D58",
48-
"update-client.application-details" : "(32*1024)",
49-
"update-client.storage-address" : "(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS+MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)",
50-
"update-client.storage-size" : "(1024*1024-MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)",
51-
"update-client.storage-page" : 8,
52-
"mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP",
53-
"mbed-cloud-client.disable-certificate-enrollment": null,
54-
"storage_tdb_internal.internal_base_address": "(1024*1024)",
55-
"storage_tdb_internal.internal_size" : "(96*1024)",
56-
"storage.storage_type" : "TDB_INTERNAL"
32+
"fota.num-components" : 2,
33+
"fota.app-default-cb-no-print" : false,
34+
"fota.encryption-support" : true
5735
}
5836
},
5937
"config": {

configs-psa/eth_v4_with_se_atmel.json

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
{
22
"macros": [
3-
"ARM_UC_USE_PAL_BLOCKDEVICE=1",
43
"MBEDTLS_USE_PSA_CRYPTO",
54
"MBED_CONF_APP_SECURE_ELEMENT_ATCA_SUPPORT",
65
"MBEDTLS_PSA_CRYPTO_SE_C"
76
],
87
"target_overrides": {
98
"*": {
10-
"target.features_add" : ["EXPERIMENTAL_API", "BOOTLOADER", "STORAGE"],
9+
"target.features_add" : ["EXPERIMENTAL_API", "STORAGE"],
1110
"target.c_lib" : "std",
1211
"platform.stdio-baud-rate" : 115200,
1312
"platform.stdio-convert-newlines" : true,
@@ -16,6 +15,15 @@
1615
"rtos.main-thread-stack-size" : 5120,
1716
"events.shared-stacksize" : 2048,
1817
"events.shared-eventsize" : 1536,
18+
"storage.storage_type" : null,
19+
"storage_filesystem.filesystem" : null,
20+
"storage_filesystem.blockdevice" : null,
21+
"storage_filesystem.internal_base_address" : null,
22+
"storage_filesystem.rbp_internal_size" : null,
23+
"storage_filesystem.external_base_address" : null,
24+
"storage_filesystem.external_size" : null,
25+
"fota.enable" : true,
26+
"fota.default-app-ifs" : 1,
1927
"mbed-cloud-client.psa-support" : 1,
2028
"update-client.storage-locations" : 1,
2129
"mbed-trace.enable" : null,
@@ -25,24 +33,14 @@
2533
},
2634
"K64F": {
2735
"target.network-default-interface-type" : "ETHERNET",
28-
"target.bootloader_img" : "tools/mbed-bootloader-k64f-block_device-kvstore-v4.1.0.bin",
36+
"target.extra_labels_add" : ["BL_SD"],
2937
"target.header_offset" : "0xa000",
30-
"target.app_offset" : "0xa400",
38+
"target.app_offset" : "0xa200",
3139
"target.components_add" : ["SD", "ATECC608A"],
32-
"update-client.bootloader-details" : "0x00007188",
33-
"update-client.application-details" : "(40*1024)",
34-
"update-client.storage-address" : "(1024*1024*64)",
35-
"update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)",
36-
"mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE",
37-
"mbed-cloud-client.secure-element-support" : 1,
38-
"storage_filesystem.internal_base_address" : "(32*1024)",
39-
"storage_filesystem.rbp_internal_size" : "(8*1024)",
40-
"storage_filesystem.external_base_address" : "(0x0)",
41-
"storage_filesystem.external_size" : "(1024*1024*64)",
42-
"storage.storage_type" : "FILESYSTEM",
43-
"storage_filesystem.filesystem" : "LITTLE",
44-
"storage_filesystem.blockdevice" : "SD"
45-
}
40+
"fota.num-components" : 2,
41+
"fota.app-default-cb-no-print" : false,
42+
"fota.encryption-support" : true
43+
}
4644
},
4745
"config": {
4846
"developer-mode": {

configs/wifi.json

Lines changed: 0 additions & 76 deletions
This file was deleted.

configs/wifi_esp8266_minimal.json

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
],
77
"target_overrides": {
88
"*": {
9-
"target.features_add" : ["BOOTLOADER", "STORAGE"],
9+
"target.features_add" : ["STORAGE"],
1010
"target.c_lib" : "std",
1111
"platform.stdio-baud-rate" : 115200,
1212
"platform.stdio-convert-newlines" : true,
@@ -32,24 +32,24 @@
3232
"nsapi.default-wifi-ssid" : "\"SSID\"",
3333
"nsapi.default-wifi-password" : "\"Password\"",
3434
"mbed-client-pal.pal-max-frag-len" : 1,
35-
"mbed-client.sn-coap-max-blockwise-payload-size" : 256
35+
"mbed-client.sn-coap-max-blockwise-payload-size" : 256,
36+
"storage.storage_type" : null,
37+
"storage_tdb_internal.internal_base_address": null,
38+
"storage_tdb_internal.internal_size" : null,
39+
"storage_filesystem.internal_base_address" : null,
40+
"fota.enable" : true,
41+
"fota.default-app-ifs" : 1
3642
},
3743
"K64F": {
3844
"target.network-default-interface-type" : "WIFI",
39-
"target.bootloader_img" : "tools/mbed-bootloader-k64f-internal_flash-no_rot-v4.1.0.bin",
45+
"target.extra_labels_add" : ["BL_INTERNAL_FLASH"],
46+
"update-client.storage-locations" : 1,
4047
"target.header_offset" : "0x8000",
41-
"target.app_offset" : "0x8400",
48+
"target.app_offset" : "0x8200",
4249
"target.restrict_size" : "0x77C00",
43-
"update-client.bootloader-details" : "0x4A6C",
44-
"update-client.application-details" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)",
45-
"update-client.storage-address" : "(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS+MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)",
46-
"update-client.storage-size" : "(512*1024-MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)",
47-
"update-client.storage-locations" : 1,
48-
"update-client.storage-page" : 8,
49-
"mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP",
50-
"storage_tdb_internal.internal_base_address": "(512*1024)",
51-
"storage_tdb_internal.internal_size" : "(32*1024)",
52-
"storage.storage_type" : "TDB_INTERNAL"
50+
"fota.num-components" : 2,
51+
"fota.app-default-cb-no-print" : false,
52+
"fota.encryption-support" : false
5353
}
5454
},
5555
"config": {

define-rpi3-yocto.txt

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
11
include(${CMAKE_SOURCE_DIR}/define.txt)
2-
2+
remove_definitions(-DMBED_CLOUD_CLIENT_FOTA_LINUX_SINGLE_MAIN_FILE=1)
33
add_definitions(-DPAL_FS_MOUNT_POINT_PRIMARY="\\"/mnt/config\\"")
44
add_definitions(-DPAL_FS_MOUNT_POINT_SECONDARY="\\"/mnt/config\\"")
5-
add_definitions(-DPAL_UPDATE_FIRMWARE_DIR="\\"/mnt/cache/firmware\\"")
6-
add_definitions(-DMBED_CLOUD_CLIENT_UPDATE_STORAGE=ARM_UCP_LINUX_YOCTO_RPI)
7-
add_definitions(-DARM_UC_SOCKET_TIMEOUT_MS=5*60*1000)
5+
add_definitions(-DFOTA_TRACE_ENABLE=1)
6+
add_definitions(-DFOTA_TRACE_DBG=1)
7+
add_definitions(-DFOTA_DEFAULT_APP_IFS=1)
8+
add_definitions(-DUSE_ACTIVATION_SCRIPT=1)
9+
add_definitions(-DMBED_CLOUD_CLIENT_FOTA_STORAGE_SIZE=0x5000000)
10+
add_definitions(-DMBED_CLOUD_CLIENT_FOTA_LINUX_UPDATE_STORAGE_FILENAME="\\"/mnt/cache/fota_update_storage\\"")
11+
add_definitions(-DMBED_CLOUD_CLIENT_FOTA_LINUX_CANDIDATE_FILENAME="\\"/mnt/cache/fota_raw_candidate\\"")
12+
add_definitions(-DMBED_CLOUD_CLIENT_FOTA_LINUX_HEADER_FILENAME="\\"/mnt/cache/fota_fw_metadata\\"")
813

9-
if(FOTA_ENABLE)
10-
add_definitions(-DFOTA_DEFAULT_APP_IFS=1)
11-
add_definitions(-DTARGET_LIKE_LINUX=1)
12-
add_definitions(-DUSE_ACTIVATION_SCRIPT=1)
13-
add_definitions(-DMBED_CLOUD_CLIENT_FOTA_STORAGE_SIZE=0x5000000)
14-
add_definitions(-DMBED_CLOUD_CLIENT_FOTA_LINUX_HEADER_FILENAME="\\"/mnt/cache/fota_fw_metadata\\"")
15-
add_definitions(-DMBED_CLOUD_CLIENT_FOTA_LINUX_UPDATE_STORAGE_FILENAME="\\"/mnt/cache/fota_candidate\\"")
16-
add_definitions(-DMBED_CLOUD_CLIENT_FOTA_LINUX_CANDIDATE_FILENAME="\\"/mnt/cache/fota_raw_candidate\\"")
17-
endif()
1814

0 commit comments

Comments
 (0)