Skip to content

Commit d5b6a9d

Browse files
committed
Adds support for new update client implementation.
Following targets are now supported wih new update client implementation and bootloaders. 1. DISCO_L475VG_IOT01A 2. K64F 3. K66F 4. NUCLEO_F411RE 5. NUCLEO_F429ZI Signed-off-by: Arpit Goel <[email protected]> Signed-off-by: Mayank Bhatt <[email protected]> Signed-off-by: Ram Chauhan <[email protected]>
1 parent 4538cee commit d5b6a9d

File tree

15 files changed

+282
-113
lines changed

15 files changed

+282
-113
lines changed

mbed-cloud-client.lib

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
https://github.com/PelionIoT/mbed-cloud-client/#f277bdc5cf8f5dee22063a5d293c03d76a0a8da2
1+
https://github.com/PelionIoT/mbed-cloud-client/#d7edc529ed3722c811ff401440ef58ea980bf543

mbed-os.lib

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
https://github.com/ARMmbed/mbed-os/#f2278567d09b9ae9f4843e1d9d393526b9462783
1+
https://github.com/ARMmbed/mbed-os/#3377f083b3a6bd7a1b45ed2cea5cf083b9007527

mbed_app.json

+93-104
Large diffs are not rendered by default.

mbed_cloud_client_user_config.h

+1-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// ----------------------------------------------------------------------------
2-
// Copyright 2019 ARM Ltd.
2+
// Copyright 2019-2021 Pelion.
33
//
44
// SPDX-License-Identifier: Apache-2.0
55
//
@@ -33,12 +33,6 @@
3333
#define SN_COAP_MAX_BLOCKWISE_PAYLOAD_SIZE 512
3434
#endif
3535

36-
/* set flag to enable update support in mbed Cloud client */
37-
#define MBED_CLOUD_CLIENT_SUPPORT_UPDATE
38-
39-
/* set download buffer size in bytes (min. 1024 bytes) */
40-
#define MBED_CLOUD_CLIENT_UPDATE_BUFFER 1024
41-
4236
#define MBED_CLOUD_DEV_UPDATE_CERT
4337
#define MBED_CLOUD_DEV_UPDATE_ID
4438

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
// ----------------------------------------------------------------------------
2+
// Copyright 2021 Pelion.
3+
//
4+
// SPDX-License-Identifier: Apache-2.0
5+
//
6+
// Licensed under the Apache License, Version 2.0 (the "License");
7+
// you may not use this file except in compliance with the License.
8+
// You may obtain a copy of the License at
9+
//
10+
// http://www.apache.org/licenses/LICENSE-2.0
11+
//
12+
// Unless required by applicable law or agreed to in writing, software
13+
// distributed under the License is distributed on an "AS IS" BASIS,
14+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
// See the License for the specific language governing permissions and
16+
// limitations under the License.
17+
// ----------------------------------------------------------------------------
18+
19+
#ifndef MBED_CLOUD_CLIENT_USER_CONFIG_LEGACY_H
20+
#define MBED_CLOUD_CLIENT_USER_CONFIG_LEGACY_H
21+
22+
#define MBED_CLOUD_CLIENT_ENDPOINT_TYPE "default"
23+
#define MBED_CLOUD_CLIENT_LIFETIME 3600
24+
25+
// Application can override the default transport mode via `target.macros_add` definition in mbed_app.json.
26+
#if !defined(MBED_CLOUD_CLIENT_TRANSPORT_MODE_UDP) && !defined(MBED_CLOUD_CLIENT_TRANSPORT_MODE_TCP) && !defined(MBED_CLOUD_CLIENT_TRANSPORT_MODE_UDP_QUEUE)
27+
#define MBED_CLOUD_CLIENT_TRANSPORT_MODE_TCP
28+
#endif
29+
30+
#ifdef MBED_CONF_MBED_CLIENT_SN_COAP_MAX_BLOCKWISE_PAYLOAD_SIZE
31+
#define SN_COAP_MAX_BLOCKWISE_PAYLOAD_SIZE MBED_CONF_MBED_CLIENT_SN_COAP_MAX_BLOCKWISE_PAYLOAD_SIZE
32+
#else
33+
#define SN_COAP_MAX_BLOCKWISE_PAYLOAD_SIZE 512
34+
#endif
35+
36+
/* set flag to enable update support in mbed Cloud client */
37+
#define MBED_CLOUD_CLIENT_SUPPORT_UPDATE
38+
39+
/* set download buffer size in bytes (min. 1024 bytes) */
40+
#define MBED_CLOUD_CLIENT_UPDATE_BUFFER 1024
41+
42+
#define MBED_CLOUD_DEV_UPDATE_CERT
43+
#define MBED_CLOUD_DEV_UPDATE_ID
44+
45+
#endif /* MBED_CLOUD_CLIENT_USER_CONFIG_LEGACY_H */
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"name": "mbed-bootloader-DISCO_L475VG_IOT01A-TARGET_BL_QSPIF",
3+
"target_overrides": {
4+
"*": {
5+
"target.macros_add": [
6+
"MBED_CONF_STORAGE_STORAGE_TYPE=TDB_INTERNAL",
7+
"MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS=(MBED_ROM_START + 38*1024)",
8+
"MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE=(2*16*1024)",
9+
"MBED_CLOUD_CLIENT_FOTA_BLOCK_DEVICE_TYPE=FOTA_DEFAULT_MBED_OS_BD",
10+
"MBED_CLOUD_CLIENT_FOTA_STORAGE_START_ADDR=(0)",
11+
"MBED_CLOUD_CLIENT_FOTA_STORAGE_SIZE=(((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR)/0x1000)*0x1000)"
12+
13+
],
14+
"target.bootloader_img": "mbed-bootloader-95fa885.bin",
15+
"target.header_offset" : "0x11800",
16+
"target.app_offset" : "0x11A00",
17+
"target.header_format": [
18+
["magic", "const", "32le", "0x5c0253a3"],
19+
["firmwareSize", "size", "32le", ["application"]],
20+
["firmwareVersion", "const", "64le", "0x0"],
21+
["firmwareDigest", "digest", "SHA256", "application"],
22+
["precursorDigest", "digest", "SHA256", "application"]
23+
]
24+
}
25+
}
26+
}
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"name": "mbed-bootloader-K64F-TARGET_BL_INTERNAL_FLASH",
3+
"target_overrides": {
4+
"*": {
5+
"target.macros_add": [
6+
"MBED_BOOTLOADER_FLASH_BANK_SIZE=MBED_ROM_SIZE/2",
7+
"MBED_CONF_STORAGE_STORAGE_TYPE=TDB_INTERNAL",
8+
"MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS=(MBED_ROM_START + MBED_BOOTLOADER_FLASH_BANK_SIZE)",
9+
"MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE=(2*16*1024)",
10+
"MBED_CLOUD_CLIENT_FOTA_BLOCK_DEVICE_TYPE=FOTA_INTERNAL_FLASH_MBED_OS_BD",
11+
"MBED_CLOUD_CLIENT_FOTA_STORAGE_START_ADDR=(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)",
12+
"MBED_CLOUD_CLIENT_FOTA_STORAGE_SIZE=(MBED_BOOTLOADER_FLASH_BANK_SIZE - MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)"
13+
14+
],
15+
"target.bootloader_img": "mbed-bootloader-95fa885.bin",
16+
"target.header_offset" : "0x8000",
17+
"target.app_offset" : "0x8200",
18+
"target.restrict_size" : "0x77E00",
19+
"target.header_format": [
20+
["magic", "const", "32le", "0x5c0253a3"],
21+
["firmwareSize", "size", "32le", ["application"]],
22+
["firmwareVersion", "const", "64le", "0x0"],
23+
["firmwareDigest", "digest", "SHA256", "application"],
24+
["precursorDigest", "digest", "SHA256", "application"]
25+
]
26+
}
27+
}
28+
}
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"name": "mbed-bootloader-K66F-TARGET_BL_INTERNAL_FLASH",
3+
"target_overrides": {
4+
"*": {
5+
"target.macros_add": [
6+
"MBED_BOOTLOADER_FLASH_BANK_SIZE=MBED_ROM_SIZE/2",
7+
"MBED_CONF_STORAGE_STORAGE_TYPE=TDB_INTERNAL",
8+
"MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS=(MBED_ROM_START + MBED_BOOTLOADER_FLASH_BANK_SIZE)",
9+
"MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE=(2*48*1024)",
10+
"MBED_CLOUD_CLIENT_FOTA_BLOCK_DEVICE_TYPE=FOTA_INTERNAL_FLASH_MBED_OS_BD",
11+
"MBED_CLOUD_CLIENT_FOTA_STORAGE_START_ADDR=(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)",
12+
"MBED_CLOUD_CLIENT_FOTA_STORAGE_SIZE=(MBED_BOOTLOADER_FLASH_BANK_SIZE - MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)"
13+
14+
],
15+
"target.bootloader_img": "mbed-bootloader-95fa885.bin",
16+
"target.header_offset" : "0x8000",
17+
"target.app_offset" : "0x8200",
18+
"target.restrict_size" : "0xF7C00",
19+
"target.header_format": [
20+
["magic", "const", "32le", "0x5c0253a3"],
21+
["firmwareSize", "size", "32le", ["application"]],
22+
["firmwareVersion", "const", "64le", "0x0"],
23+
["firmwareDigest", "digest", "SHA256", "application"],
24+
["precursorDigest", "digest", "SHA256", "application"]
25+
]
26+
}
27+
}
28+
}
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
"name": "mbed-bootloader-NUCLEO_F411RE-TARGET_BL_SD",
3+
"target_overrides": {
4+
"*": {
5+
"target.macros_add": [
6+
"MBED_CONF_STORAGE_STORAGE_TYPE=FILESYSTEM",
7+
"MBED_CONF_STORAGE_FILESYSTEM_FILESYSTEM=LITTLE",
8+
"MBED_CONF_STORAGE_FILESYSTEM_BLOCKDEVICE=SD",
9+
"MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_BASE_ADDRESS=0x0",
10+
"MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_SIZE=(1024*1024*64)",
11+
"MBED_CONF_STORAGE_FILESYSTEM_INTERNAL_BASE_ADDRESS=(MBED_ROM_START+32*1024)",
12+
"MBED_CONF_STORAGE_FILESYSTEM_RBP_INTERNAL_SIZE=(32*1024)",
13+
"MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS=0",
14+
"MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE=0",
15+
"MBED_CLOUD_CLIENT_FOTA_BLOCK_DEVICE_TYPE=FOTA_DEFAULT_MBED_OS_BD",
16+
"MBED_CLOUD_CLIENT_FOTA_STORAGE_START_ADDR=(MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_SIZE)",
17+
"MBED_CLOUD_CLIENT_FOTA_STORAGE_SIZE=(MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR)"
18+
],
19+
"target.bootloader_img": "mbed-bootloader-95fa885.bin",
20+
"target.header_offset" : "0x10000",
21+
"target.app_offset" : "0x10200",
22+
"target.header_format": [
23+
["magic", "const", "32le", "0x5c0253a3"],
24+
["firmwareSize", "size", "32le", ["application"]],
25+
["firmwareVersion", "const", "64le", "0x0"],
26+
["firmwareDigest", "digest", "SHA256", "application"],
27+
["precursorDigest", "digest", "SHA256", "application"]
28+
]
29+
}
30+
}
31+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"name": "mbed-bootloader-NUCLEO_F429ZI-TARGET_BL_INTERNAL_FLASH",
3+
"target_overrides": {
4+
"*": {
5+
"target.macros_add": [
6+
"MBED_BOOTLOADER_FLASH_BANK_SIZE=MBED_ROM_SIZE/2",
7+
"MBED_CONF_STORAGE_STORAGE_TYPE=TDB_INTERNAL",
8+
"MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS=(MBED_ROM_START + MBED_BOOTLOADER_FLASH_BANK_SIZE)",
9+
"MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE=(2*64*1024)",
10+
"MBED_CLOUD_CLIENT_FOTA_BLOCK_DEVICE_TYPE=FOTA_INTERNAL_FLASH_MBED_OS_BD",
11+
"MBED_CLOUD_CLIENT_FOTA_STORAGE_START_ADDR=(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)",
12+
"MBED_CLOUD_CLIENT_FOTA_STORAGE_SIZE=(MBED_BOOTLOADER_FLASH_BANK_SIZE - MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)"
13+
14+
],
15+
"target.bootloader_img": "mbed-bootloader-95fa885.bin",
16+
"target.header_offset" : "0x8000",
17+
"target.app_offset" : "0x8200",
18+
"target.restrict_size" : "0xF7C00",
19+
"target.header_format": [
20+
["magic", "const", "32le", "0x5c0253a3"],
21+
["firmwareSize", "size", "32le", ["application"]],
22+
["firmwareVersion", "const", "64le", "0x0"],
23+
["firmwareDigest", "digest", "SHA256", "application"],
24+
["precursorDigest", "digest", "SHA256", "application"]
25+
]
26+
}
27+
}
28+
}

0 commit comments

Comments
 (0)