From 38a2745227c7027526b221b490e91277a1f04841 Mon Sep 17 00:00:00 2001 From: Arpit Goel Date: Fri, 8 Oct 2021 07:11:27 +0530 Subject: [PATCH 1/5] 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 Signed-off-by: Mayank Bhatt Signed-off-by: Ram Chauhan --- mbed_app.json | 572 ++---------------- mbed_app_legacy.json | 481 +++++++++++++++ mbed_cloud_client_user_config.h | 8 +- mbed_cloud_client_user_config_legacy.h | 45 ++ .../mbed-bootloader-95fa885.bin | Bin 0 -> 38480 bytes .../TARGET_BL_QSPIF/mbed_lib.json | 26 + .../mbed-bootloader-95fa885.bin | Bin 0 -> 19680 bytes .../TARGET_BL_INTERNAL_FLASH/mbed_lib.json | 28 + .../mbed-bootloader-95fa885.bin | Bin 0 -> 20688 bytes .../TARGET_BL_INTERNAL_FLASH/mbed_lib.json | 28 + .../TARGET_BL_SD/mbed-bootloader-95fa885.bin | Bin 0 -> 32140 bytes .../TARGET_BL_SD/mbed_lib.json | 31 + .../mbed-bootloader-95fa885.bin | Bin 0 -> 20896 bytes .../TARGET_BL_INTERNAL_FLASH/mbed_lib.json | 28 + 14 files changed, 722 insertions(+), 525 deletions(-) create mode 100644 mbed_app_legacy.json create mode 100644 mbed_cloud_client_user_config_legacy.h create mode 100755 prebuilt-bl/TARGET_DISCO_L475VG_IOT01A/TARGET_BL_QSPIF/mbed-bootloader-95fa885.bin create mode 100644 prebuilt-bl/TARGET_DISCO_L475VG_IOT01A/TARGET_BL_QSPIF/mbed_lib.json create mode 100644 prebuilt-bl/TARGET_K64F/TARGET_BL_INTERNAL_FLASH/mbed-bootloader-95fa885.bin create mode 100644 prebuilt-bl/TARGET_K64F/TARGET_BL_INTERNAL_FLASH/mbed_lib.json create mode 100644 prebuilt-bl/TARGET_K66F/TARGET_BL_INTERNAL_FLASH/mbed-bootloader-95fa885.bin create mode 100644 prebuilt-bl/TARGET_K66F/TARGET_BL_INTERNAL_FLASH/mbed_lib.json create mode 100644 prebuilt-bl/TARGET_NUCLEO_F411RE/TARGET_BL_SD/mbed-bootloader-95fa885.bin create mode 100644 prebuilt-bl/TARGET_NUCLEO_F411RE/TARGET_BL_SD/mbed_lib.json create mode 100644 prebuilt-bl/TARGET_NUCLEO_F429ZI/TARGET_BL_INTERNAL_FLASH/mbed-bootloader-95fa885.bin create mode 100644 prebuilt-bl/TARGET_NUCLEO_F429ZI/TARGET_BL_INTERNAL_FLASH/mbed_lib.json diff --git a/mbed_app.json b/mbed_app.json index 381fb10..a4301a6 100644 --- a/mbed_app.json +++ b/mbed_app.json @@ -1,15 +1,10 @@ { "macros": [ - "MBED_TRACE_MAX_LEVEL=TRACE_LEVEL_INFO", - "MBED_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config.h\"", - "MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config.h\"", - "ARM_UC_USE_PAL_BLOCKDEVICE=1", "PAL_PLATFORM_DEFINED_CONFIGURATION=\"mbedOS_SST.h\"", "PAL_USER_DEFINED_CONFIGURATION=\"mbedOS_SST.h\"" ], "target_overrides": { "*": { - "target.features_add" : ["BOOTLOADER", "STORAGE"], "target.c_lib" : "std", "platform.stdio-baud-rate" : 115200, "platform.stdio-convert-newlines" : true, @@ -18,6 +13,15 @@ "rtos.main-thread-stack-size" : 5120, "update-client.storage-locations" : 1, "mbed-trace.enable" : null, + "storage.storage_type" : null, + "storage_filesystem.filesystem" : null, + "storage_filesystem.blockdevice" : null, + "storage_tdb_internal.internal_base_address": null, + "storage_tdb_internal.internal_size" : null, + "storage_filesystem.internal_base_address" : null, + "storage_filesystem.rbp_internal_size" : null, + "storage_filesystem.external_base_address" : null, + "storage_filesystem.external_size" : null, "events.shared-stacksize" : 2048, "nsapi.default-wifi-security" : "WPA_WPA2", "nsapi.default-wifi-ssid" : "\"SSID\"", @@ -31,79 +35,56 @@ "lwip.mem-size" : 12500 }, "K64F": { - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\""], + "target.features_add" : ["STORAGE"], + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config.h\"", "MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\""], "target.network-default-interface-type" : "ETHERNET", - "target.bootloader_img" : "bootloader/mbed-bootloader-k64f-internal_flash-no_rot-v4.1.0.bin", + "target.extra_labels_add" : ["BL_INTERNAL_FLASH"], "target.header_offset" : "0x8000", - "target.app_offset" : "0x8400", - "target.restrict_size" : "0x77C00", - "update-client.bootloader-details" : "0x4A6C", - "update-client.application-details" : "(32*1024)", - "update-client.storage-address" : "(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS+MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", - "update-client.storage-size" : "(512*1024-MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", - "update-client.storage-locations" : 1, - "update-client.storage-page" : 8, - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP", - "storage_tdb_internal.internal_base_address": "(512*1024)", - "storage_tdb_internal.internal_size" : "(32*1024)", - "storage.storage_type" : "TDB_INTERNAL", + "target.app_offset" : "0x8200", + "target.restrict_size" : "0xF7E00", + "target.components_remove" : ["SD"], + "fota.enable" : true, + "fota.default-app-ifs" : 1, + "fota.app-default-cb-no-print" : false, "run-ci" : 2 }, "K66F": { - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\""], + "target.features_add" : ["STORAGE"], + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config.h\"", "MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\""], "target.network-default-interface-type" : "ETHERNET", - "target.bootloader_img" : "bootloader/mbed-bootloader-k66f-internal_flash-no_rot-v4.1.0.bin", + "target.extra_labels_add" : ["BL_INTERNAL_FLASH"], "target.header_offset" : "0x8000", - "target.app_offset" : "0x8400", - "target.restrict_size" : "0xF7C00", - "update-client.bootloader-details" : "0x4D58", - "update-client.application-details" : "(32*1024)", - "update-client.storage-address" : "(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS+MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", - "update-client.storage-size" : "(1024*1024-MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", - "update-client.storage-page" : 8, - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP", - "storage_tdb_internal.internal_base_address": "(1024*1024)", - "storage_tdb_internal.internal_size" : "(96*1024)", - "storage.storage_type" : "TDB_INTERNAL", + "target.app_offset" : "0x8200", + "target.restrict_size" : "0xF7E00", + "target.components_remove" : ["SD"], + "fota.enable" : true, + "fota.default-app-ifs" : 1, + "fota.app-default-cb-no-print" : false, "run-ci" : 2 }, "NUCLEO_F429ZI": { - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\""], + "target.features_add" : ["STORAGE"], + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config.h\"", "MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\""], "target.network-default-interface-type" : "ETHERNET", - "target.bootloader_img" : "bootloader/mbed-bootloader-nucleo_f429zi-internal_flash-no_rot-v4.1.0.bin", + "target.extra_labels_add" : ["BL_INTERNAL_FLASH"], "target.header_offset" : "0x8000", - "target.app_offset" : "0x8400", - "target.restrict_size" : "0xF7C00", - "update-client.bootloader-details" : "0x080078CC", - "update-client.application-details" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", - "update-client.storage-address" : "(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS+MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", - "update-client.storage-size" : "(1024*1024-MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", - "update-client.storage-page" : 1, - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP", - "storage_tdb_internal.internal_base_address": "(MBED_ROM_START+1024*1024)", - "storage_tdb_internal.internal_size" : "(128*1024)", - "storage.storage_type" : "TDB_INTERNAL" + "target.app_offset" : "0x8200", + "target.restrict_size" : "0xF7E00", + "fota.enable" : true, + "fota.default-app-ifs" : 1, + "fota.app-default-cb-no-print" : false }, "NUCLEO_F411RE": { - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS_SW_TRNG.h\"", "MBEDTLS_ENTROPY_NV_SEED", "PAL_USE_HW_TRNG=0"], + "target.features_add" : ["STORAGE"], + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config.h\"", "MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS_SW_TRNG.h\"", "MBEDTLS_ENTROPY_NV_SEED", "PAL_USE_HW_TRNG=0"], "target.network-default-interface-type" : "WIFI", - "target.bootloader_img" : "bootloader/mbed-bootloader-nucleo_f411re-block_device-kvstore-v4.1.0.bin", + "target.extra_labels_add" : ["BL_SD"], "target.header_offset" : "0x10000", - "target.app_offset" : "0x10400", + "target.app_offset" : "0x10200", "target.components_add" : ["SD"], - "update-client.bootloader-details" : "(MBED_ROM_START + 30*1024)", - "update-client.application-details" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE + MBED_CONF_STORAGE_FILESYSTEM_RBP_INTERNAL_SIZE)", - "update-client.storage-address" : "(MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_SIZE)", - "update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)", - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", - "storage_filesystem.internal_base_address" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", - "storage_filesystem.rbp_internal_size" : "(32*1024)", - "storage_filesystem.external_base_address" : "(0x0)", - "storage_filesystem.external_size" : "(1024*1024*64)", - "storage.storage_type" : "FILESYSTEM", - "storage_filesystem.filesystem" : "LITTLE", - "storage_filesystem.blockdevice" : "SD", "target.macros_remove" : ["MBEDTLS_CONFIG_HW_SUPPORT"], + "fota.encryption-support" : true, + "fota.key-encryption" : "FOTA_USE_ENCRYPTED_ONE_TIME_FW_KEY", "sd.SPI_MOSI" : "PC_3", "sd.SPI_MISO" : "PC_2", "sd.SPI_CLK" : "PC_7", @@ -113,471 +94,26 @@ "esp8266.rst" : "PA_7", "esp8266.rts" : "PA_12", "esp8266.cts" : "PA_11", - "esp8266.provide-default" : true - }, - "NUMAKER_PFM_NUC472": { - "target.network-default-interface-type" : "ETHERNET", - "target.bootloader_img" : "bootloader/mbed-bootloader-nuc472-block_device-kvstore-v4.1.0.bin", - "bootloader-size" : "(64*1024)", - "target.header_offset" : "0x12000", - "target.app_offset" : "0x12400", - "target.components_add" : ["NUSD"], - "nusd.provide-default-blockdevice" : true, - "nusd.provide-kvstore-other-blockdevice" : true, - "update-client.bootloader-details" : "0x0", - "update-client.application-details" : "0x12000", - "update-client.storage-address" : "(1024*1024*64)", - "update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)", - "update-client.storage-locations" : 1, - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", - "storage.storage_type" : "FILESYSTEM", - "storage_filesystem.filesystem" : "LITTLE", - "storage_filesystem.blockdevice" : "other", - "storage_filesystem.internal_base_address" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", - "storage_filesystem.rbp_internal_size" : "(2*4*1024)", - "storage_filesystem.external_base_address" : "(0x0)", - "storage_filesystem.external_size" : "(1024*1024*64)", - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS_SW_TRNG.h\"", "MBEDTLS_ENTROPY_NV_SEED", "PAL_USE_HW_TRNG=0"] - }, - "NUMAKER_PFM_M487": { - "target.network-default-interface-type" : "ETHERNET", - "target.bootloader_img" : "bootloader/mbed-bootloader-m487-block_device-kvstore-v4.1.0.bin", - "bootloader-size" : "(64*1024)", - "target.header_offset" : "0x12000", - "target.app_offset" : "0x12400", - "target.components_add" : ["NUSD"], - "nusd.provide-default-blockdevice" : true, - "nusd.provide-kvstore-other-blockdevice" : true, - "update-client.bootloader-details" : "0x0", - "update-client.application-details" : "0x12000", - "update-client.storage-address" : "(1024*1024*64)", - "update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)", - "update-client.storage-locations" : 1, - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", - "storage.storage_type" : "FILESYSTEM", - "storage_filesystem.filesystem" : "LITTLE", - "storage_filesystem.blockdevice" : "other", - "storage_filesystem.internal_base_address" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", - "storage_filesystem.rbp_internal_size" : "(2*4*1024)", - "storage_filesystem.external_base_address" : "(0x0)", - "storage_filesystem.external_size" : "(1024*1024*64)", - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS_SW_TRNG.h\"", "MBEDTLS_ENTROPY_NV_SEED", "PAL_USE_HW_TRNG=0"] - }, - "NUMAKER_IOT_M487": { - "target.network-default-interface-type" : "WIFI", - "target.bootloader_img" : "bootloader/mbed-bootloader-m487_iot-block_device-kvstore-v4.1.0.bin", - "bootloader-size" : "(64*1024)", - "target.header_offset" : "0x12000", - "target.app_offset" : "0x12400", - "target.components_add" : ["NUSD"], - "nusd.provide-default-blockdevice" : true, - "nusd.provide-kvstore-other-blockdevice" : true, - "update-client.bootloader-details" : "0x0", - "update-client.application-details" : "0x12000", - "update-client.storage-address" : "(1024*1024*64)", - "update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)", - "update-client.storage-locations" : 1, - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", - "storage.storage_type" : "FILESYSTEM", - "storage_filesystem.filesystem" : "LITTLE", - "storage_filesystem.blockdevice" : "other", - "storage_filesystem.internal_base_address" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", - "storage_filesystem.rbp_internal_size" : "(2*4*1024)", - "storage_filesystem.external_base_address" : "(0x0)", - "storage_filesystem.external_size" : "(1024*1024*64)", - "esp8266.tx" : "PH_8", - "esp8266.rx" : "PH_9", - "esp8266.rts" : "A2", - "esp8266.cts" : "A3", - "esp8266.rst" : "PH_3", "esp8266.provide-default" : true, - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS_SW_TRNG.h\"", "MBEDTLS_ENTROPY_NV_SEED", "PAL_USE_HW_TRNG=0", "ESP8266_SEND_TIMEOUT=8s"] - }, - "NUMAKER_IOT_M263A": { - "target.network-default-interface-type" : "WIFI", - "target.bootloader_img" : "bootloader/mbed-bootloader-m263_iot-block_device-kvstore-v4.1.0.bin", - "bootloader-size" : "(64*1024)", - "target.header_offset" : "0x12000", - "target.app_offset" : "0x12400", - "target.components_add" : ["NUSD"], - "nusd.provide-default-blockdevice" : true, - "nusd.provide-kvstore-other-blockdevice" : true, - "update-client.bootloader-details" : "0x0", - "update-client.application-details" : "0x12000", - "update-client.storage-address" : "(1024*1024*64)", - "update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)", - "update-client.storage-locations" : 1, - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", - "storage.storage_type" : "FILESYSTEM", - "storage_filesystem.filesystem" : "LITTLE", - "storage_filesystem.blockdevice" : "other", - "storage_filesystem.internal_base_address" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", - "storage_filesystem.rbp_internal_size" : "(2*4*1024)", - "storage_filesystem.external_base_address" : "(0x0)", - "storage_filesystem.external_size" : "(1024*1024*64)", - "esp8266.tx" : "PC_7", - "esp8266.rx" : "PC_6", - "esp8266.rts" : "PE_13", - "esp8266.cts" : "PC_8", - "esp8266.rst" : "PE_12", - "esp8266.provide-default" : true, - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS_SW_TRNG.h\"", "MBEDTLS_ENTROPY_NV_SEED", "PAL_USE_HW_TRNG=0", "ESP8266_SEND_TIMEOUT=8s"] + "fota.enable" : true, + "fota.default-app-ifs" : 1, + "fota.app-default-cb-no-print" : false }, "DISCO_L475VG_IOT01A": { - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\""], + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config.h\"", "MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\""], "target.network-default-interface-type" : "WIFI", - "target.bootloader_img" : "bootloader/mbed-bootloader-disco_l475vg_iot01a-external_kvstore-qspif-v4.1.1.bin", - "target.header_offset" : "0x11000", - "target.app_offset" : "0x11400", + "target.header_offset" : "0x11800", + "target.app_offset" : "0x11A00", "target.components_add" : ["QSPIF", "WIFI_ISM43362"], - "bootloader-size" : "(36*1024)", - "ism43362.read-thread-stack-size" : 1024, + "target.extra_labels_add" : ["BL_QSPIF"], + "ism43362.read-thread-stack-size" : 2048, "mbed-client-pal.pal-max-frag-len" : 1, "mbed-client.sn-coap-max-blockwise-payload-size": 256, - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", - "storage.storage_type" : "FILESYSTEM", - "storage_filesystem.filesystem" : "LITTLE", - "storage_filesystem.blockdevice" : "QSPIF", - "storage_filesystem.external_size" : "(1024 * 1024)", - "storage_filesystem.external_base_address" : "(0)", - "storage_filesystem.rbp_internal_size" : "(32 * 1024)", - "storage_filesystem.internal_base_address" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", - "update-client.application-details" : "(MBED_CONF_STORAGE_FILESYSTEM_INTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_FILESYSTEM_RBP_INTERNAL_SIZE)", - "update-client.bootloader-details" : "0x800882c", - "update-client.firmware-header-version" : "2", - "update-client.storage-address" : "(MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_SIZE)", - "update-client.storage-locations" : 1, - "update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)" - }, - "DISCO_F746NG": { - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\""], - "target.network-default-interface-type" : "ETHERNET", - "target.bootloader_img" : "bootloader/mbed-bootloader-disco_f746ng-external_kvstore-qspif-738a116.bin", - "target.header_offset" : "0x20000", - "target.app_offset" : "0x20400", - "bootloader-size" : "(64*1024)", - "mbed-client-pal.pal-max-frag-len" : 1, - "mbed-client.sn-coap-max-blockwise-payload-size": 256, - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", - "storage.storage_type" : "TDB_EXTERNAL", - "storage_tdb_external.blockdevice" : "QSPIF", - "storage_tdb_external.rbp_internal_size" : "(2*32*1024)", - "storage_tdb_external.internal_base_address": "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", - "storage_tdb_external.external_base_address": "(0)", - "storage_tdb_external.external_size" : "(128 * 1024)", - "update-client.application-details" : "(MBED_CONF_STORAGE_TDB_EXTERNAL_INTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_TDB_EXTERNAL_RBP_INTERNAL_SIZE)", - "update-client.bootloader-details" : "0x800882c", - "update-client.firmware-header-version" : "2", - "update-client.storage-address" : "(MBED_CONF_STORAGE_TDB_EXTERNAL_EXTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_TDB_EXTERNAL_EXTERNAL_SIZE)", - "update-client.storage-locations" : 1, - "update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)" - }, - "DISCO_L496AG": { - "target.macros_add": [ - "CELLULAR_DEVICE=STModCellular", - "MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\"" - ], - "target.network-default-interface-type" : "CELLULAR", - "target.bootloader_img" : "bootloader/mbed-bootloader-disco_l496ag-external_qspif-kvstore-4.1.2.bin", - "target.header_offset" : "0x11000", - "target.app_offset" : "0x11400", - "target.components_add" : ["QSPIF", "LWIP", "FLASHIAP", "STMOD_CELLULAR"], - "bootloader-size" : "(36*1024)", - "mbed-client.sn-coap-max-blockwise-payload-size" : 256, - "mbed-client-pal.pal-max-frag-len" : 1, - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", - "lwip.ipv4-enabled" : true, - "lwip.ipv6-enabled" : true, - "lwip.ethernet-enabled" : false, - "lwip.ppp-enabled" : false, - "lwip.tcp-enabled" : true, - "stmod_cellular.provide-default" : "true", - "cellular.radio-access-technology" : 9, - "cellular.debug-at" : false, - "cellular.use-apn-lookup" : false, - "cellular.clear-on-connect" : null, - "nsapi.default-cellular-sim-pin" : null, - "nsapi.default-cellular-plmn" : null, - "nsapi.default-cellular-apn" : null, - "nsapi.default-cellular-username" : null, - "nsapi.default-cellular-password": null, - "storage.storage_type" : "FILESYSTEM", - "storage_filesystem.filesystem" : "LITTLE", - "storage_filesystem.blockdevice" : "QSPIF", - "storage_filesystem.external_size" : "(1024 * 1024)", - "storage_filesystem.external_base_address" : "(0)", - "storage_filesystem.rbp_internal_size" : "(2*16*1024)", - "storage_filesystem.internal_base_address" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", - "update-client.application-details" : "(MBED_CONF_STORAGE_FILESYSTEM_INTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_FILESYSTEM_RBP_INTERNAL_SIZE)", - "update-client.storage-address" : "(MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_SIZE)", - "update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)", - "update-client.storage-locations" : 1 - }, - "EP_AGORA": { - "target.features_remove" : ["BLE", "CRYPTOCELL310"], - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\""], - "target.bootloader_img" : "bootloader/mbed-bootloader-ep_agora-external_kvstore-spif-v4.1.2.bin", - "target.header_offset" : "0x10000", - "target.app_offset" : "0x10400", - "target.components_remove" : ["QSPIF"], - "target.components_add" : ["SPIF"], - "target.macros_remove" : ["MBEDTLS_CONFIG_HW_SUPPORT"], - "update-client.bootloader-details" : "0x7394", - "update-client.application-details" : "(MBED_CONF_STORAGE_FILESYSTEM_INTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_FILESYSTEM_RBP_INTERNAL_SIZE)", - "update-client.storage-address" : "(MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_SIZE)", - "update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)", - "update-client.firmware-header-version" : "2", - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", - "storage_filesystem.internal_base_address" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", - "storage_filesystem.rbp_internal_size" : "(32*1024)", - "storage.storage_type" : "FILESYSTEM", - "storage_filesystem.filesystem" : "LITTLE", - "storage_filesystem.blockdevice" : "SPIF", - "storage_filesystem.external_base_address" : "(0x0)", - "storage_filesystem.external_size" : "(1024*1024*1)", - "drivers.uart-serial-rxbuf-size" : 1024, - "drivers.uart-serial-txbuf-size" : 1024, - "lwip.ipv4-enabled" : true, - "lwip.ipv6-enabled" : true, - "lwip.ppp-enabled" : true, - "lwip.tcp-enabled" : true, - "lwip.ethernet-enabled" : false, - "lwip.mem-size" : 22000, - "nsapi.dns-response-wait-time" : 30000 - }, - "NUCLEO_H743ZI2": { - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\""], - "target.network-default-interface-type" : "ETHERNET", - "target.bootloader_img" : "bootloader/mbed-bootloader-nucleo-h743zi2-internal-flash-no-rot-4.1.1.bin", - "target.header_offset" : "0x40000", - "target.app_offset" : "0x40400", - "target.restrict_size" : "0xBFC00", - "bootloader-size" : "(128*1024)", - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP", - "storage.storage_type" : "TDB_INTERNAL", - "storage_tdb_internal.internal_base_address": "(MBED_ROM_START + (1024*1024))", - "storage_tdb_internal.internal_size" : "(2*128*1024)", - "update-client.application-details" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE * 2)", - "update-client.bootloader-details" : "0x0800715c", - "update-client.firmware-header-version" : "2", - "update-client.storage-address" : "(MBED_ROM_START + ((8+2)*128*1024))", - "update-client.storage-locations" : 1, - "update-client.storage-size" : "(6*128*1024)" - }, - "NUCLEO_L4R5ZI": { - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\"", "MBED_APP_FLASH_BANK_SIZE=MBED_ROM_SIZE/2", "KVSTORE_SIZE=(32*1024)"], - "target.bootloader_img" : "bootloader/mbed-bootloader-nucleo_l4r5zi-internal_flash_no_rot-ca089bb.bin", - "target.header_offset" : "0x08000", - "target.app_offset" : "0x08400", - "target.restrict_size" : "0xF7C00", - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP", - "update-client.bootloader-details" : "0x08007cac", - "update-client.application-details" : "(32*1024)", - "update-client.storage-address" : "(MBED_ROM_START + MBED_APP_FLASH_BANK_SIZE + KVSTORE_SIZE)", - "update-client.storage-size" : "(MBED_APP_FLASH_BANK_SIZE - KVSTORE_SIZE)", - "update-client.storage-locations" : 1, - "update-client.storage-page" : 1, - "storage_tdb_internal.internal_base_address": "(MBED_ROM_START+1024*1024)", - "storage_tdb_internal.internal_size" : "KVSTORE_SIZE", - "storage.storage_type" : "TDB_INTERNAL", - "target.network-default-interface-type" : "WIFI", - "esp8266.provide-default" : true, - "esp8266.tx" : "D1", - "esp8266.rx" : "D0", - "esp8266.cts" : "D12", - "esp8266.rts" : "PB_1", - "esp8266.rst" : "D8" - }, - "ARCH_MAX": { - "target.extra_labels_add" : ["PSA"], - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\""], - "target.network-default-interface-type" : "ETHERNET", - "target.bootloader_img" : "bootloader/mbed-bootloader-arch_max-block_device-kvstore-v4.0.3.bin", - "target.header_offset" : "0x10000", - "target.app_offset" : "0x10400", - "update-client.bootloader-details" : "0x08006FB8", - "update-client.application-details" : "(0x08000000+64*1024)", - "update-client.storage-address" : "(1024*1024*64)", - "update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)", - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", - "storage_filesystem.internal_base_address" : "(0x08000000+32*1024)", - "storage_filesystem.rbp_internal_size" : "(32*1024)", - "storage_filesystem.external_base_address" : "(0x0)", - "storage_filesystem.external_size" : "(1024*1024*64)", - "storage.storage_type" : "FILESYSTEM", - "storage_filesystem.filesystem" : "LITTLE", - "storage_filesystem.blockdevice" : "SD", - "target.lse_available" : 0, - "target.macros_remove" : ["MBEDTLS_CONFIG_HW_SUPPORT"] - }, - "RZ_A1H": { - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS_SW_TRNG.h\"", "MBEDTLS_ENTROPY_NV_SEED", "PAL_USE_HW_TRNG=0"], - "target.bootloader_supported" : true, - "target.network-default-interface-type" : "ETHERNET", - "target.bootloader_img" : "bootloader/mbed-bootloader-gr_peach-internal_flash-no_rot-v4.1.2.bin", - "target.header_offset" : "0x10000", - "target.app_offset" : "0x10400", - "target.restrict_size" : "0xEFC00", - "bootloader-size" : "(64*1024)", - "update-client.bootloader-details" : "0x1800a660", - "update-client.application-details" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", - "update-client.storage-address" : "(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS+MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", - "update-client.storage-size" : "(4*1024*1024-MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", - "update-client.storage-page" : 1, - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP", - "storage_tdb_internal.internal_base_address": "(MBED_ROM_START+4*1024*1024)", - "storage_tdb_internal.internal_size" : "(2*24*1024)", - "storage.storage_type" : "TDB_INTERNAL" - }, - "GR_LYCHEE": { - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\""], - "target.bootloader_supported" : true, - "target.network-default-interface-type" : "WIFI", - "target.components_add" : ["WIFI_ESP32"], - "target.bootloader_img" : "bootloader/mbed-bootloader-gr_lychee-internal_flash-no_rot-v4.1.2.bin", - "target.header_offset" : "0x10000", - "target.app_offset" : "0x10400", - "target.restrict_size" : "0xEFC00", - "bootloader-size" : "(64*1024)", - "update-client.bootloader-details" : "0x1800a468", - "update-client.application-details" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", - "update-client.storage-address" : "(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS+MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", - "update-client.storage-size" : "(4*1024*1024-MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", - "update-client.storage-page" : 1, - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP", - "storage_tdb_internal.internal_base_address": "(MBED_ROM_START+4*1024*1024)", - "storage_tdb_internal.internal_size" : "(2*24*1024)", - "storage.storage_type" : "TDB_INTERNAL" - }, - "WIO_3G": { - "target.features_add" : ["LWIP", "STORAGE", "BOOTLOADER"], - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\""], - "target.device_has_remove" : ["SERIAL_FC"], - "target.network-default-interface-type" : "CELLULAR", - "target.components_add" : ["FLASHIAP"], - "target.bootloader_img" : "bootloader/mbed-bootloader-wio_3g-internal_flash-no_rot-v4.1.2.bin", - "target.header_offset" : "0x8000", - "target.app_offset" : "0x8400", - "target.restrict_size" : "0xF7C00", - "nsapi.default-cellular-plmn" : 0, - "cellular.use-apn-lookup" : false, - "cellular.debug-at" : false, - "lwip.ipv4-enabled" : true, - "lwip.ethernet-enabled" : false, - "lwip.ppp-enabled" : true, - "lwip.tcp-enabled" : true, - "lwip.pbuf-pool-size" : 16, - "lwip.mem-size" : 12500, - "update-client.bootloader-details" : "0x08005ee8", - "update-client.application-details" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", - "update-client.storage-address" : "(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS+MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", - "update-client.storage-size" : "(1024*1024-MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", - "update-client.storage-page" : 1, - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP", - "storage_tdb_internal.internal_base_address": "(MBED_ROM_START+1024*1024)", - "storage_tdb_internal.internal_size" : "(32*1024)", - "storage.storage_type" : "TDB_INTERNAL" - }, - "WIO_BG96": { - "target.features_add" : ["LWIP", "STORAGE", "BOOTLOADER"], - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\""], - "target.network-default-interface-type" : "CELLULAR", - "target.components_add" : ["FLASHIAP"], - "target.bootloader_img" : "bootloader/mbed-bootloader-wio_3g-internal_flash-no_rot-v4.1.2.bin", - "target.header_offset" : "0x8000", - "target.app_offset" : "0x8400", - "target.restrict_size" : "0xF7C00", - "nsapi.default-cellular-plmn" : 0, - "cellular.use-apn-lookup" : false, - "cellular.debug-at" : false, - "lwip.ipv4-enabled" : true, - "lwip.ethernet-enabled" : false, - "lwip.ppp-enabled" : true, - "lwip.tcp-enabled" : true, - "lwip.pbuf-pool-size" : 16, - "lwip.mem-size" : 12500, - "update-client.bootloader-details" : "0x08005ee8", - "update-client.application-details" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", - "update-client.storage-address" : "(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS+MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", - "update-client.storage-size" : "(1024*1024-MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", - "update-client.storage-page" : 1, - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP", - "storage_tdb_internal.internal_base_address": "(MBED_ROM_START+1024*1024)", - "storage_tdb_internal.internal_size" : "(32*1024)", - "storage.storage_type" : "TDB_INTERNAL" - }, - "UHURU_RAVEN": { - "target.macros_remove" : ["MBEDTLS_CONFIG_HW_SUPPORT"], - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\""], - "target.network-default-interface-type" : "WIFI", - "target.components_add" : ["WIFI_ESP32", "FLASHIAP"], - "target.bootloader_img" : "bootloader/mbed-bootloader-stm32f767-internal_flash-no_rot-v4.1.2.bin", - "target.header_offset" : "0x18000", - "target.app_offset" : "0x18400", - "target.restrict_size" : "0xE7C00", - "esp32.wifi-debug" : false, - "esp32.wifi-en" : "PB_12", - "esp32.wifi-io0" : "PB_13", - "esp32.wifi-tx" : "PB_14", - "esp32.wifi-rx" : "PB_15", - "esp32.provide-default" : true, - "update-client.bootloader-details" : "0x8005d30", - "update-client.application-details" : "(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", - "update-client.storage-address" : "(MBED_ROM_START + (MBED_ROM_SIZE/2))", - "update-client.storage-size" : "((MBED_ROM_SIZE/2) - MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", - "update-client.storage-locations" : 1, - "update-client.storage-page" : 1, - "update-client.firmware-header-version" : "2", - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP", - "storage.storage_type" : "TDB_INTERNAL", - "storage_tdb_internal.internal_base_address": "(MBED_ROM_START + 32*1024)", - "storage_tdb_internal.internal_size" : "(32*2*1024)" - }, - "NUCLEO_F767ZI": { - "target.macros_remove" : ["MBEDTLS_CONFIG_HW_SUPPORT"], - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\""], - "target.network-default-interface-type" : "ETHERNET", - "target.bootloader_img" : "bootloader/mbed-bootloader-stm32f767-internal_flash-no_rot-v4.1.2.bin", - "target.header_offset" : "0x18000", - "target.app_offset" : "0x18400", - "target.restrict_size" : "0xE7C00", - "update-client.bootloader-details" : "0x8005d30", - "update-client.application-details" : "(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", - "update-client.storage-address" : "(MBED_ROM_START + (MBED_ROM_SIZE/2))", - "update-client.storage-size" : "((MBED_ROM_SIZE/2) - MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", - "update-client.storage-locations" : 1, - "update-client.storage-page" : 1, - "update-client.firmware-header-version" : "2", - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP", - "storage.storage_type" : "TDB_INTERNAL", - "storage_tdb_internal.internal_base_address": "(MBED_ROM_START + 32*1024)", - "storage_tdb_internal.internal_size" : "(32*2*1024)" - }, - "CY8CPROTO_062_4343W": { - "target.macros_add" : ["MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\"","ARM_UC_DELTAPAAL_WRITE_BUF_SIZE=512"], - "target.network-default-interface-type" : "WIFI", - "target.components_add" : ["QSPIF"], - "target.components_remove" : ["CM0P_SLEEP"], - "target.bootloader_img" : "bootloader/mbed-bootloader-cy8cproto-062-4343w-ext-kvstore-qspi-v4.1.3.bin", - "bootloader-size" : "0x00020000", - "target.header_offset" : "0x00020000", - "target.app_offset" : "0x00020400", - "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", - "update-client.bootloader-details" : "0x10010B9C", - "update-client.application-details" : "0x10020000", - "update-client.storage-address" : "0x00000000", - "update-client.storage-size" : "0x1C0000", - "update-client.storage-page" : 512, - "storage.storage_type" : "TDB_EXTERNAL", - "storage_tdb_external.blockdevice" : "QSPIF", - "storage_tdb_external.internal_base_address": "0x101E0000", - "storage_tdb_external.rbp_internal_size" : "0x10000", - "storage_tdb_external.external_base_address": "0x00200000", - "storage_tdb_external.external_size" : "4*0x40000", - "target.bootloader_supported" : true, - "target.mbed_rom_start" : "0x10000000", - "target.mbed_rom_size" : "0x00200000", - "target.sectors" : [[268435456, 512]] + "fota.enable" : true, + "fota.default-app-ifs" : 1, + "fota.app-default-cb-no-print" : false, + "fota.encryption-support" : true, + "fota.key-encryption" : "FOTA_USE_ENCRYPTED_ONE_TIME_FW_KEY" } }, "config": { diff --git a/mbed_app_legacy.json b/mbed_app_legacy.json new file mode 100644 index 0000000..3036363 --- /dev/null +++ b/mbed_app_legacy.json @@ -0,0 +1,481 @@ +{ + "macros": [ + "PAL_PLATFORM_DEFINED_CONFIGURATION=\"mbedOS_SST.h\"", + "PAL_USER_DEFINED_CONFIGURATION=\"mbedOS_SST.h\"" + ], + "target_overrides": { + "*": { + "target.features_add" : ["BOOTLOADER", "STORAGE"], + "target.c_lib" : "std", + "platform.stdio-baud-rate" : 115200, + "platform.stdio-convert-newlines" : true, + "platform.stdio-buffered-serial" : true, + "platform.stdio-flush-at-exit" : true, + "rtos.main-thread-stack-size" : 5120, + "update-client.storage-locations" : 1, + "mbed-trace.enable" : null, + "events.shared-stacksize" : 2048, + "nsapi.default-wifi-security" : "WPA_WPA2", + "nsapi.default-wifi-ssid" : "\"SSID\"", + "nsapi.default-wifi-password" : "\"PASSWORD\"", + "nsapi.default-cellular-apn" : "\"APN\"", + "nsapi.default-cellular-sim-pin" : null, + "nsapi.default-cellular-username" : null, + "nsapi.default-cellular-password" : null + }, + "Freescale": { + "lwip.mem-size" : 12500 + }, + "NUMAKER_PFM_NUC472": { + "target.network-default-interface-type" : "ETHERNET", + "target.bootloader_img" : "bootloader/mbed-bootloader-nuc472-block_device-kvstore-v4.1.0.bin", + "bootloader-size" : "(64*1024)", + "target.header_offset" : "0x12000", + "target.app_offset" : "0x12400", + "target.components_add" : ["NUSD"], + "nusd.provide-default-blockdevice" : true, + "nusd.provide-kvstore-other-blockdevice" : true, + "update-client.bootloader-details" : "0x0", + "update-client.application-details" : "0x12000", + "update-client.storage-address" : "(1024*1024*64)", + "update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)", + "update-client.storage-locations" : 1, + "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", + "storage.storage_type" : "FILESYSTEM", + "storage_filesystem.filesystem" : "LITTLE", + "storage_filesystem.blockdevice" : "other", + "storage_filesystem.internal_base_address" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", + "storage_filesystem.rbp_internal_size" : "(2*4*1024)", + "storage_filesystem.external_base_address" : "(0x0)", + "storage_filesystem.external_size" : "(1024*1024*64)", + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config_legacy.h\"", "MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS_SW_TRNG.h\"", "MBEDTLS_ENTROPY_NV_SEED", "PAL_USE_HW_TRNG=0", "ARM_UC_USE_PAL_BLOCKDEVICE=1"] + }, + "NUMAKER_PFM_M487": { + "target.network-default-interface-type" : "ETHERNET", + "target.bootloader_img" : "bootloader/mbed-bootloader-m487-block_device-kvstore-v4.1.0.bin", + "bootloader-size" : "(64*1024)", + "target.header_offset" : "0x12000", + "target.app_offset" : "0x12400", + "target.components_add" : ["NUSD"], + "nusd.provide-default-blockdevice" : true, + "nusd.provide-kvstore-other-blockdevice" : true, + "update-client.bootloader-details" : "0x0", + "update-client.application-details" : "0x12000", + "update-client.storage-address" : "(1024*1024*64)", + "update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)", + "update-client.storage-locations" : 1, + "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", + "storage.storage_type" : "FILESYSTEM", + "storage_filesystem.filesystem" : "LITTLE", + "storage_filesystem.blockdevice" : "other", + "storage_filesystem.internal_base_address" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", + "storage_filesystem.rbp_internal_size" : "(2*4*1024)", + "storage_filesystem.external_base_address" : "(0x0)", + "storage_filesystem.external_size" : "(1024*1024*64)", + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config_legacy.h\"","MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS_SW_TRNG.h\"", "MBEDTLS_ENTROPY_NV_SEED", "PAL_USE_HW_TRNG=0","ARM_UC_USE_PAL_BLOCKDEVICE=1"] + }, + "NUMAKER_IOT_M487": { + "target.network-default-interface-type" : "WIFI", + "target.bootloader_img" : "bootloader/mbed-bootloader-m487_iot-block_device-kvstore-v4.1.0.bin", + "bootloader-size" : "(64*1024)", + "target.header_offset" : "0x12000", + "target.app_offset" : "0x12400", + "target.components_add" : ["NUSD"], + "nusd.provide-default-blockdevice" : true, + "nusd.provide-kvstore-other-blockdevice" : true, + "update-client.bootloader-details" : "0x0", + "update-client.application-details" : "0x12000", + "update-client.storage-address" : "(1024*1024*64)", + "update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)", + "update-client.storage-locations" : 1, + "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", + "storage.storage_type" : "FILESYSTEM", + "storage_filesystem.filesystem" : "LITTLE", + "storage_filesystem.blockdevice" : "other", + "storage_filesystem.internal_base_address" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", + "storage_filesystem.rbp_internal_size" : "(2*4*1024)", + "storage_filesystem.external_base_address" : "(0x0)", + "storage_filesystem.external_size" : "(1024*1024*64)", + "esp8266.tx" : "PH_8", + "esp8266.rx" : "PH_9", + "esp8266.rts" : "A2", + "esp8266.cts" : "A3", + "esp8266.rst" : "PH_3", + "esp8266.provide-default" : true, + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config_legacy.h\"","MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS_SW_TRNG.h\"", "MBEDTLS_ENTROPY_NV_SEED", "PAL_USE_HW_TRNG=0", "ESP8266_SEND_TIMEOUT=8s","ARM_UC_USE_PAL_BLOCKDEVICE=1"] + }, + "NUMAKER_IOT_M263A": { + "target.network-default-interface-type" : "WIFI", + "target.bootloader_img" : "bootloader/mbed-bootloader-m263_iot-block_device-kvstore-v4.1.0.bin", + "bootloader-size" : "(64*1024)", + "target.header_offset" : "0x12000", + "target.app_offset" : "0x12400", + "target.components_add" : ["NUSD"], + "nusd.provide-default-blockdevice" : true, + "nusd.provide-kvstore-other-blockdevice" : true, + "update-client.bootloader-details" : "0x0", + "update-client.application-details" : "0x12000", + "update-client.storage-address" : "(1024*1024*64)", + "update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)", + "update-client.storage-locations" : 1, + "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", + "storage.storage_type" : "FILESYSTEM", + "storage_filesystem.filesystem" : "LITTLE", + "storage_filesystem.blockdevice" : "other", + "storage_filesystem.internal_base_address" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", + "storage_filesystem.rbp_internal_size" : "(2*4*1024)", + "storage_filesystem.external_base_address" : "(0x0)", + "storage_filesystem.external_size" : "(1024*1024*64)", + "esp8266.tx" : "PC_7", + "esp8266.rx" : "PC_6", + "esp8266.rts" : "PE_13", + "esp8266.cts" : "PC_8", + "esp8266.rst" : "PE_12", + "esp8266.provide-default" : true, + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config_legacy.h\"","MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS_SW_TRNG.h\"", "MBEDTLS_ENTROPY_NV_SEED", "PAL_USE_HW_TRNG=0", "ESP8266_SEND_TIMEOUT=8s","ARM_UC_USE_PAL_BLOCKDEVICE=1"] + }, + "DISCO_F746NG": { + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config_legacy.h\"","MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\"","ARM_UC_USE_PAL_BLOCKDEVICE=1"], + "target.network-default-interface-type" : "ETHERNET", + "target.bootloader_img" : "bootloader/mbed-bootloader-disco_f746ng-external_kvstore-qspif-738a116.bin", + "target.header_offset" : "0x20000", + "target.app_offset" : "0x20400", + "bootloader-size" : "(64*1024)", + "mbed-client-pal.pal-max-frag-len" : 1, + "mbed-client.sn-coap-max-blockwise-payload-size": 256, + "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", + "storage.storage_type" : "TDB_EXTERNAL", + "storage_tdb_external.blockdevice" : "QSPIF", + "storage_tdb_external.rbp_internal_size" : "(2*32*1024)", + "storage_tdb_external.internal_base_address": "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", + "storage_tdb_external.external_base_address": "(0)", + "storage_tdb_external.external_size" : "(128 * 1024)", + "update-client.application-details" : "(MBED_CONF_STORAGE_TDB_EXTERNAL_INTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_TDB_EXTERNAL_RBP_INTERNAL_SIZE)", + "update-client.bootloader-details" : "0x800882c", + "update-client.firmware-header-version" : "2", + "update-client.storage-address" : "(MBED_CONF_STORAGE_TDB_EXTERNAL_EXTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_TDB_EXTERNAL_EXTERNAL_SIZE)", + "update-client.storage-locations" : 1, + "update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)" + }, + "DISCO_L496AG": { + "target.macros_add": ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config_legacy.h\"", + "CELLULAR_DEVICE=STModCellular", + "MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\"", + "ARM_UC_USE_PAL_BLOCKDEVICE=1" + ], + "target.network-default-interface-type" : "CELLULAR", + "target.bootloader_img" : "bootloader/mbed-bootloader-disco_l496ag-external_qspif-kvstore-4.1.2.bin", + "target.header_offset" : "0x11000", + "target.app_offset" : "0x11400", + "target.components_add" : ["QSPIF", "LWIP", "FLASHIAP", "STMOD_CELLULAR"], + "bootloader-size" : "(36*1024)", + "mbed-client.sn-coap-max-blockwise-payload-size" : 256, + "mbed-client-pal.pal-max-frag-len" : 1, + "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", + "lwip.ipv4-enabled" : true, + "lwip.ipv6-enabled" : true, + "lwip.ethernet-enabled" : false, + "lwip.ppp-enabled" : false, + "lwip.tcp-enabled" : true, + "stmod_cellular.provide-default" : "true", + "cellular.radio-access-technology" : 9, + "cellular.debug-at" : false, + "cellular.use-apn-lookup" : false, + "cellular.clear-on-connect" : null, + "nsapi.default-cellular-sim-pin" : null, + "nsapi.default-cellular-plmn" : null, + "nsapi.default-cellular-apn" : null, + "nsapi.default-cellular-username" : null, + "nsapi.default-cellular-password": null, + "storage.storage_type" : "FILESYSTEM", + "storage_filesystem.filesystem" : "LITTLE", + "storage_filesystem.blockdevice" : "QSPIF", + "storage_filesystem.external_size" : "(1024 * 1024)", + "storage_filesystem.external_base_address" : "(0)", + "storage_filesystem.rbp_internal_size" : "(2*16*1024)", + "storage_filesystem.internal_base_address" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", + "update-client.application-details" : "(MBED_CONF_STORAGE_FILESYSTEM_INTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_FILESYSTEM_RBP_INTERNAL_SIZE)", + "update-client.storage-address" : "(MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_SIZE)", + "update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)", + "update-client.storage-locations" : 1 + }, + "EP_AGORA": { + "target.features_remove" : ["BLE", "CRYPTOCELL310"], + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config_legacy.h\"","MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\"","ARM_UC_USE_PAL_BLOCKDEVICE=1"], + "target.bootloader_img" : "bootloader/mbed-bootloader-ep_agora-external_kvstore-spif-v4.1.2.bin", + "target.header_offset" : "0x10000", + "target.app_offset" : "0x10400", + "target.components_remove" : ["QSPIF"], + "target.components_add" : ["SPIF"], + "target.macros_remove" : ["MBEDTLS_CONFIG_HW_SUPPORT"], + "update-client.bootloader-details" : "0x7394", + "update-client.application-details" : "(MBED_CONF_STORAGE_FILESYSTEM_INTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_FILESYSTEM_RBP_INTERNAL_SIZE)", + "update-client.storage-address" : "(MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_SIZE)", + "update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)", + "update-client.firmware-header-version" : "2", + "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", + "storage_filesystem.internal_base_address" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", + "storage_filesystem.rbp_internal_size" : "(32*1024)", + "storage.storage_type" : "FILESYSTEM", + "storage_filesystem.filesystem" : "LITTLE", + "storage_filesystem.blockdevice" : "SPIF", + "storage_filesystem.external_base_address" : "(0x0)", + "storage_filesystem.external_size" : "(1024*1024*1)", + "drivers.uart-serial-rxbuf-size" : 1024, + "drivers.uart-serial-txbuf-size" : 1024, + "lwip.ipv4-enabled" : true, + "lwip.ipv6-enabled" : true, + "lwip.ppp-enabled" : true, + "lwip.tcp-enabled" : true, + "lwip.ethernet-enabled" : false, + "lwip.mem-size" : 22000, + "nsapi.dns-response-wait-time" : 30000 + }, + "NUCLEO_H743ZI2": { + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config_legacy.h\"","MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\"","ARM_UC_USE_PAL_BLOCKDEVICE=1"], + "target.network-default-interface-type" : "ETHERNET", + "target.bootloader_img" : "bootloader/mbed-bootloader-nucleo-h743zi2-internal-flash-no-rot-4.1.1.bin", + "target.header_offset" : "0x40000", + "target.app_offset" : "0x40400", + "target.restrict_size" : "0xBFC00", + "bootloader-size" : "(128*1024)", + "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP", + "storage.storage_type" : "TDB_INTERNAL", + "storage_tdb_internal.internal_base_address": "(MBED_ROM_START + (1024*1024))", + "storage_tdb_internal.internal_size" : "(2*128*1024)", + "update-client.application-details" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE * 2)", + "update-client.bootloader-details" : "0x0800715c", + "update-client.firmware-header-version" : "2", + "update-client.storage-address" : "(MBED_ROM_START + ((8+2)*128*1024))", + "update-client.storage-locations" : 1, + "update-client.storage-size" : "(6*128*1024)" + }, + "NUCLEO_L4R5ZI": { + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config_legacy.h\"","MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\"", "MBED_APP_FLASH_BANK_SIZE=MBED_ROM_SIZE/2", "KVSTORE_SIZE=(32*1024)","ARM_UC_USE_PAL_BLOCKDEVICE=1"], + "target.bootloader_img" : "bootloader/mbed-bootloader-nucleo_l4r5zi-internal_flash_no_rot-ca089bb.bin", + "target.header_offset" : "0x08000", + "target.app_offset" : "0x08400", + "target.restrict_size" : "0xF7C00", + "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP", + "update-client.bootloader-details" : "0x08007cac", + "update-client.application-details" : "(32*1024)", + "update-client.storage-address" : "(MBED_ROM_START + MBED_APP_FLASH_BANK_SIZE + KVSTORE_SIZE)", + "update-client.storage-size" : "(MBED_APP_FLASH_BANK_SIZE - KVSTORE_SIZE)", + "update-client.storage-locations" : 1, + "update-client.storage-page" : 1, + "storage_tdb_internal.internal_base_address": "(MBED_ROM_START+1024*1024)", + "storage_tdb_internal.internal_size" : "KVSTORE_SIZE", + "storage.storage_type" : "TDB_INTERNAL", + "target.network-default-interface-type" : "WIFI", + "esp8266.provide-default" : true, + "esp8266.tx" : "D1", + "esp8266.rx" : "D0", + "esp8266.cts" : "D12", + "esp8266.rts" : "PB_1", + "esp8266.rst" : "D8" + }, + "ARCH_MAX": { + "target.extra_labels_add" : ["PSA"], + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config_legacy.h\"","MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\"","ARM_UC_USE_PAL_BLOCKDEVICE=1"], + "target.network-default-interface-type" : "ETHERNET", + "target.bootloader_img" : "bootloader/mbed-bootloader-arch_max-block_device-kvstore-v4.0.3.bin", + "target.header_offset" : "0x10000", + "target.app_offset" : "0x10400", + "update-client.bootloader-details" : "0x08006FB8", + "update-client.application-details" : "(0x08000000+64*1024)", + "update-client.storage-address" : "(1024*1024*64)", + "update-client.storage-size" : "((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR) * MBED_CONF_UPDATE_CLIENT_STORAGE_LOCATIONS)", + "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", + "storage_filesystem.internal_base_address" : "(0x08000000+32*1024)", + "storage_filesystem.rbp_internal_size" : "(32*1024)", + "storage_filesystem.external_base_address" : "(0x0)", + "storage_filesystem.external_size" : "(1024*1024*64)", + "storage.storage_type" : "FILESYSTEM", + "storage_filesystem.filesystem" : "LITTLE", + "storage_filesystem.blockdevice" : "SD", + "target.lse_available" : 0, + "target.macros_remove" : ["MBEDTLS_CONFIG_HW_SUPPORT"] + }, + "RZ_A1H": { + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config_legacy.h\"","MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS_SW_TRNG.h\"", "MBEDTLS_ENTROPY_NV_SEED", "PAL_USE_HW_TRNG=0","ARM_UC_USE_PAL_BLOCKDEVICE=1"], + "target.bootloader_supported" : true, + "target.network-default-interface-type" : "ETHERNET", + "target.bootloader_img" : "bootloader/mbed-bootloader-gr_peach-internal_flash-no_rot-v4.1.2.bin", + "target.header_offset" : "0x10000", + "target.app_offset" : "0x10400", + "target.restrict_size" : "0xEFC00", + "bootloader-size" : "(64*1024)", + "update-client.bootloader-details" : "0x1800a660", + "update-client.application-details" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", + "update-client.storage-address" : "(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS+MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", + "update-client.storage-size" : "(4*1024*1024-MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", + "update-client.storage-page" : 1, + "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP", + "storage_tdb_internal.internal_base_address": "(MBED_ROM_START+4*1024*1024)", + "storage_tdb_internal.internal_size" : "(2*24*1024)", + "storage.storage_type" : "TDB_INTERNAL" + }, + "GR_LYCHEE": { + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config_legacy.h\"","MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\"","ARM_UC_USE_PAL_BLOCKDEVICE=1"], + "target.bootloader_supported" : true, + "target.network-default-interface-type" : "WIFI", + "target.components_add" : ["WIFI_ESP32"], + "target.bootloader_img" : "bootloader/mbed-bootloader-gr_lychee-internal_flash-no_rot-v4.1.2.bin", + "target.header_offset" : "0x10000", + "target.app_offset" : "0x10400", + "target.restrict_size" : "0xEFC00", + "bootloader-size" : "(64*1024)", + "update-client.bootloader-details" : "0x1800a468", + "update-client.application-details" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", + "update-client.storage-address" : "(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS+MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", + "update-client.storage-size" : "(4*1024*1024-MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", + "update-client.storage-page" : 1, + "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP", + "storage_tdb_internal.internal_base_address": "(MBED_ROM_START+4*1024*1024)", + "storage_tdb_internal.internal_size" : "(2*24*1024)", + "storage.storage_type" : "TDB_INTERNAL" + }, + "WIO_3G": { + "target.features_add" : ["LWIP", "STORAGE", "BOOTLOADER"], + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config_legacy.h\"","MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\"","ARM_UC_USE_PAL_BLOCKDEVICE=1"], + "target.device_has_remove" : ["SERIAL_FC"], + "target.network-default-interface-type" : "CELLULAR", + "target.components_add" : ["FLASHIAP"], + "target.bootloader_img" : "bootloader/mbed-bootloader-wio_3g-internal_flash-no_rot-v4.1.2.bin", + "target.header_offset" : "0x8000", + "target.app_offset" : "0x8400", + "target.restrict_size" : "0xF7C00", + "nsapi.default-cellular-plmn" : 0, + "cellular.use-apn-lookup" : false, + "cellular.debug-at" : false, + "lwip.ipv4-enabled" : true, + "lwip.ethernet-enabled" : false, + "lwip.ppp-enabled" : true, + "lwip.tcp-enabled" : true, + "lwip.pbuf-pool-size" : 16, + "lwip.mem-size" : 12500, + "update-client.bootloader-details" : "0x08005ee8", + "update-client.application-details" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", + "update-client.storage-address" : "(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS+MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", + "update-client.storage-size" : "(1024*1024-MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", + "update-client.storage-page" : 1, + "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP", + "storage_tdb_internal.internal_base_address": "(MBED_ROM_START+1024*1024)", + "storage_tdb_internal.internal_size" : "(32*1024)", + "storage.storage_type" : "TDB_INTERNAL" + }, + "WIO_BG96": { + "target.features_add" : ["LWIP", "STORAGE", "BOOTLOADER"], + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config_legacy.h\"","MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\"","ARM_UC_USE_PAL_BLOCKDEVICE=1"], + "target.network-default-interface-type" : "CELLULAR", + "target.components_add" : ["FLASHIAP"], + "target.bootloader_img" : "bootloader/mbed-bootloader-wio_3g-internal_flash-no_rot-v4.1.2.bin", + "target.header_offset" : "0x8000", + "target.app_offset" : "0x8400", + "target.restrict_size" : "0xF7C00", + "nsapi.default-cellular-plmn" : 0, + "cellular.use-apn-lookup" : false, + "cellular.debug-at" : false, + "lwip.ipv4-enabled" : true, + "lwip.ethernet-enabled" : false, + "lwip.ppp-enabled" : true, + "lwip.tcp-enabled" : true, + "lwip.pbuf-pool-size" : 16, + "lwip.mem-size" : 12500, + "update-client.bootloader-details" : "0x08005ee8", + "update-client.application-details" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)", + "update-client.storage-address" : "(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS+MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", + "update-client.storage-size" : "(1024*1024-MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", + "update-client.storage-page" : 1, + "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP", + "storage_tdb_internal.internal_base_address": "(MBED_ROM_START+1024*1024)", + "storage_tdb_internal.internal_size" : "(32*1024)", + "storage.storage_type" : "TDB_INTERNAL" + }, + "UHURU_RAVEN": { + "target.macros_remove" : ["MBEDTLS_CONFIG_HW_SUPPORT"], + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config_legacy.h\"","MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\"","ARM_UC_USE_PAL_BLOCKDEVICE=1"], + "target.network-default-interface-type" : "WIFI", + "target.components_add" : ["WIFI_ESP32", "FLASHIAP"], + "target.bootloader_img" : "bootloader/mbed-bootloader-stm32f767-internal_flash-no_rot-v4.1.2.bin", + "target.header_offset" : "0x18000", + "target.app_offset" : "0x18400", + "target.restrict_size" : "0xE7C00", + "esp32.wifi-debug" : false, + "esp32.wifi-en" : "PB_12", + "esp32.wifi-io0" : "PB_13", + "esp32.wifi-tx" : "PB_14", + "esp32.wifi-rx" : "PB_15", + "esp32.provide-default" : true, + "update-client.bootloader-details" : "0x8005d30", + "update-client.application-details" : "(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", + "update-client.storage-address" : "(MBED_ROM_START + (MBED_ROM_SIZE/2))", + "update-client.storage-size" : "((MBED_ROM_SIZE/2) - MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", + "update-client.storage-locations" : 1, + "update-client.storage-page" : 1, + "update-client.firmware-header-version" : "2", + "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP", + "storage.storage_type" : "TDB_INTERNAL", + "storage_tdb_internal.internal_base_address": "(MBED_ROM_START + 32*1024)", + "storage_tdb_internal.internal_size" : "(32*2*1024)" + }, + "NUCLEO_F767ZI": { + "target.macros_remove" : ["MBEDTLS_CONFIG_HW_SUPPORT"], + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config_legacy.h\"","MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\"","ARM_UC_USE_PAL_BLOCKDEVICE=1"], + "target.network-default-interface-type" : "ETHERNET", + "target.bootloader_img" : "bootloader/mbed-bootloader-stm32f767-internal_flash-no_rot-v4.1.2.bin", + "target.header_offset" : "0x18000", + "target.app_offset" : "0x18400", + "target.restrict_size" : "0xE7C00", + "update-client.bootloader-details" : "0x8005d30", + "update-client.application-details" : "(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", + "update-client.storage-address" : "(MBED_ROM_START + (MBED_ROM_SIZE/2))", + "update-client.storage-size" : "((MBED_ROM_SIZE/2) - MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", + "update-client.storage-locations" : 1, + "update-client.storage-page" : 1, + "update-client.firmware-header-version" : "2", + "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP", + "storage.storage_type" : "TDB_INTERNAL", + "storage_tdb_internal.internal_base_address": "(MBED_ROM_START + 32*1024)", + "storage_tdb_internal.internal_size" : "(32*2*1024)" + }, + "CY8CPROTO_062_4343W": { + "target.macros_add" : ["MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config_legacy.h\"","MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\"","ARM_UC_DELTAPAAL_WRITE_BUF_SIZE=512","ARM_UC_USE_PAL_BLOCKDEVICE=1"], + "target.network-default-interface-type" : "WIFI", + "target.components_add" : ["QSPIF"], + "target.components_remove" : ["CM0P_SLEEP"], + "target.bootloader_img" : "bootloader/mbed-bootloader-cy8cproto-062-4343w-ext-kvstore-qspi-v4.1.3.bin", + "bootloader-size" : "0x00020000", + "target.header_offset" : "0x00020000", + "target.app_offset" : "0x00020400", + "mbed-cloud-client.update-storage" : "ARM_UCP_FLASHIAP_BLOCKDEVICE", + "update-client.bootloader-details" : "0x10010B9C", + "update-client.application-details" : "0x10020000", + "update-client.storage-address" : "0x00000000", + "update-client.storage-size" : "0x1C0000", + "update-client.storage-page" : 512, + "storage.storage_type" : "TDB_EXTERNAL", + "storage_tdb_external.blockdevice" : "QSPIF", + "storage_tdb_external.internal_base_address": "0x101E0000", + "storage_tdb_external.rbp_internal_size" : "0x10000", + "storage_tdb_external.external_base_address": "0x00200000", + "storage_tdb_external.external_size" : "4*0x40000", + "target.bootloader_supported" : true, + "target.mbed_rom_start" : "0x10000000", + "target.mbed_rom_size" : "0x00200000", + "target.sectors" : [[268435456, 512]] + } + }, + "config": { + "bootloader-size": { + "help" : "Helper macro to enable calculation of rom regions. target.header_offset and target.app_offset still needs to be calculated manually, though.", + "value" : "(32*1024)", + "macro_name": "MBED_BOOTLOADER_SIZE" + }, + "run-ci": { + "help" : "Configuration item to control the level of CI verification. 0 = ignored, 1 = build-only, 2 = build + E2E tests", + "accepted_values": [0, 1, 2], + "value" : 1 + } + } +} diff --git a/mbed_cloud_client_user_config.h b/mbed_cloud_client_user_config.h index 3a0cb86..462080a 100644 --- a/mbed_cloud_client_user_config.h +++ b/mbed_cloud_client_user_config.h @@ -1,5 +1,5 @@ // ---------------------------------------------------------------------------- -// Copyright 2019 ARM Ltd. +// Copyright 2019-2021 Pelion. // // SPDX-License-Identifier: Apache-2.0 // @@ -33,12 +33,6 @@ #define SN_COAP_MAX_BLOCKWISE_PAYLOAD_SIZE 512 #endif -/* set flag to enable update support in mbed Cloud client */ -#define MBED_CLOUD_CLIENT_SUPPORT_UPDATE - -/* set download buffer size in bytes (min. 1024 bytes) */ -#define MBED_CLOUD_CLIENT_UPDATE_BUFFER 1024 - #define MBED_CLOUD_DEV_UPDATE_CERT #define MBED_CLOUD_DEV_UPDATE_ID diff --git a/mbed_cloud_client_user_config_legacy.h b/mbed_cloud_client_user_config_legacy.h new file mode 100644 index 0000000..a034358 --- /dev/null +++ b/mbed_cloud_client_user_config_legacy.h @@ -0,0 +1,45 @@ +// ---------------------------------------------------------------------------- +// Copyright 2021 Pelion. +// +// SPDX-License-Identifier: Apache-2.0 +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------- + +#ifndef MBED_CLOUD_CLIENT_USER_CONFIG_LEGACY_H +#define MBED_CLOUD_CLIENT_USER_CONFIG_LEGACY_H + +#define MBED_CLOUD_CLIENT_ENDPOINT_TYPE "default" +#define MBED_CLOUD_CLIENT_LIFETIME 3600 + +// Application can override the default transport mode via `target.macros_add` definition in mbed_app.json. +#if !defined(MBED_CLOUD_CLIENT_TRANSPORT_MODE_UDP) && !defined(MBED_CLOUD_CLIENT_TRANSPORT_MODE_TCP) && !defined(MBED_CLOUD_CLIENT_TRANSPORT_MODE_UDP_QUEUE) +#define MBED_CLOUD_CLIENT_TRANSPORT_MODE_TCP +#endif + +#ifdef MBED_CONF_MBED_CLIENT_SN_COAP_MAX_BLOCKWISE_PAYLOAD_SIZE + #define SN_COAP_MAX_BLOCKWISE_PAYLOAD_SIZE MBED_CONF_MBED_CLIENT_SN_COAP_MAX_BLOCKWISE_PAYLOAD_SIZE +#else + #define SN_COAP_MAX_BLOCKWISE_PAYLOAD_SIZE 512 +#endif + +/* set flag to enable update support in mbed Cloud client */ +#define MBED_CLOUD_CLIENT_SUPPORT_UPDATE + +/* set download buffer size in bytes (min. 1024 bytes) */ +#define MBED_CLOUD_CLIENT_UPDATE_BUFFER 1024 + +#define MBED_CLOUD_DEV_UPDATE_CERT +#define MBED_CLOUD_DEV_UPDATE_ID + +#endif /* MBED_CLOUD_CLIENT_USER_CONFIG_LEGACY_H */ diff --git a/prebuilt-bl/TARGET_DISCO_L475VG_IOT01A/TARGET_BL_QSPIF/mbed-bootloader-95fa885.bin b/prebuilt-bl/TARGET_DISCO_L475VG_IOT01A/TARGET_BL_QSPIF/mbed-bootloader-95fa885.bin new file mode 100755 index 0000000000000000000000000000000000000000..e14b7e7184a2d35d159eb909c08c029641a78ff9 GIT binary patch literal 38480 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 VqPqU|2-8u>HUIoN`8kZr{(q#C2!{Xw literal 0 HcmV?d00001 diff --git a/prebuilt-bl/TARGET_DISCO_L475VG_IOT01A/TARGET_BL_QSPIF/mbed_lib.json b/prebuilt-bl/TARGET_DISCO_L475VG_IOT01A/TARGET_BL_QSPIF/mbed_lib.json new file mode 100644 index 0000000..a7ebc1e --- /dev/null +++ b/prebuilt-bl/TARGET_DISCO_L475VG_IOT01A/TARGET_BL_QSPIF/mbed_lib.json @@ -0,0 +1,26 @@ +{ + "name": "mbed-bootloader-DISCO_L475VG_IOT01A-TARGET_BL_QSPIF", + "target_overrides": { + "*": { + "target.macros_add": [ + "MBED_CONF_STORAGE_STORAGE_TYPE=TDB_INTERNAL", + "MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS=(MBED_ROM_START + 38*1024)", + "MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE=(2*16*1024)", + "MBED_CLOUD_CLIENT_FOTA_BLOCK_DEVICE_TYPE=FOTA_DEFAULT_MBED_OS_BD", + "MBED_CLOUD_CLIENT_FOTA_STORAGE_START_ADDR=(0)", + "MBED_CLOUD_CLIENT_FOTA_STORAGE_SIZE=(((MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR)/0x1000)*0x1000)" + + ], + "target.bootloader_img": "mbed-bootloader-95fa885.bin", + "target.header_offset" : "0x11800", + "target.app_offset" : "0x11A00", + "target.header_format": [ + ["magic", "const", "32le", "0x5c0253a3"], + ["firmwareSize", "size", "32le", ["application"]], + ["firmwareVersion", "const", "64le", "0x0"], + ["firmwareDigest", "digest", "SHA256", "application"], + ["precursorDigest", "digest", "SHA256", "application"] + ] + } + } +} diff --git a/prebuilt-bl/TARGET_K64F/TARGET_BL_INTERNAL_FLASH/mbed-bootloader-95fa885.bin b/prebuilt-bl/TARGET_K64F/TARGET_BL_INTERNAL_FLASH/mbed-bootloader-95fa885.bin new file mode 100644 index 0000000000000000000000000000000000000000..bd0fba454bd9c878b2af3494164bc008da829caa GIT binary patch literal 19680 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 J^#9wx{{_~;sgwW! literal 0 HcmV?d00001 diff --git a/prebuilt-bl/TARGET_K64F/TARGET_BL_INTERNAL_FLASH/mbed_lib.json b/prebuilt-bl/TARGET_K64F/TARGET_BL_INTERNAL_FLASH/mbed_lib.json new file mode 100644 index 0000000..126524e --- /dev/null +++ b/prebuilt-bl/TARGET_K64F/TARGET_BL_INTERNAL_FLASH/mbed_lib.json @@ -0,0 +1,28 @@ +{ + "name": "mbed-bootloader-K64F-TARGET_BL_INTERNAL_FLASH", + "target_overrides": { + "*": { + "target.macros_add": [ + "MBED_BOOTLOADER_FLASH_BANK_SIZE=MBED_ROM_SIZE/2", + "MBED_CONF_STORAGE_STORAGE_TYPE=TDB_INTERNAL", + "MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS=(MBED_ROM_START + MBED_BOOTLOADER_FLASH_BANK_SIZE)", + "MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE=(2*16*1024)", + "MBED_CLOUD_CLIENT_FOTA_BLOCK_DEVICE_TYPE=FOTA_INTERNAL_FLASH_MBED_OS_BD", + "MBED_CLOUD_CLIENT_FOTA_STORAGE_START_ADDR=(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", + "MBED_CLOUD_CLIENT_FOTA_STORAGE_SIZE=(MBED_BOOTLOADER_FLASH_BANK_SIZE - MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)" + + ], + "target.bootloader_img": "mbed-bootloader-95fa885.bin", + "target.header_offset" : "0x8000", + "target.app_offset" : "0x8200", + "target.restrict_size" : "0x77E00", + "target.header_format": [ + ["magic", "const", "32le", "0x5c0253a3"], + ["firmwareSize", "size", "32le", ["application"]], + ["firmwareVersion", "const", "64le", "0x0"], + ["firmwareDigest", "digest", "SHA256", "application"], + ["precursorDigest", "digest", "SHA256", "application"] + ] + } + } +} diff --git a/prebuilt-bl/TARGET_K66F/TARGET_BL_INTERNAL_FLASH/mbed-bootloader-95fa885.bin b/prebuilt-bl/TARGET_K66F/TARGET_BL_INTERNAL_FLASH/mbed-bootloader-95fa885.bin new file mode 100644 index 0000000000000000000000000000000000000000..06ba5f875d29185c66b3a7e9d311f6c59316bd49 GIT binary patch literal 20688 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 literal 0 HcmV?d00001 diff --git a/prebuilt-bl/TARGET_K66F/TARGET_BL_INTERNAL_FLASH/mbed_lib.json b/prebuilt-bl/TARGET_K66F/TARGET_BL_INTERNAL_FLASH/mbed_lib.json new file mode 100644 index 0000000..710433e --- /dev/null +++ b/prebuilt-bl/TARGET_K66F/TARGET_BL_INTERNAL_FLASH/mbed_lib.json @@ -0,0 +1,28 @@ +{ + "name": "mbed-bootloader-K66F-TARGET_BL_INTERNAL_FLASH", + "target_overrides": { + "*": { + "target.macros_add": [ + "MBED_BOOTLOADER_FLASH_BANK_SIZE=MBED_ROM_SIZE/2", + "MBED_CONF_STORAGE_STORAGE_TYPE=TDB_INTERNAL", + "MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS=(MBED_ROM_START + MBED_BOOTLOADER_FLASH_BANK_SIZE)", + "MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE=(2*48*1024)", + "MBED_CLOUD_CLIENT_FOTA_BLOCK_DEVICE_TYPE=FOTA_INTERNAL_FLASH_MBED_OS_BD", + "MBED_CLOUD_CLIENT_FOTA_STORAGE_START_ADDR=(MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS + MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)", + "MBED_CLOUD_CLIENT_FOTA_STORAGE_SIZE=(MBED_BOOTLOADER_FLASH_BANK_SIZE - MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE)" + + ], + "target.bootloader_img": "mbed-bootloader-95fa885.bin", + "target.header_offset" : "0x8000", + "target.app_offset" : "0x8200", + "target.restrict_size" : "0xF7C00", + "target.header_format": [ + ["magic", "const", "32le", "0x5c0253a3"], + ["firmwareSize", "size", "32le", ["application"]], + ["firmwareVersion", "const", "64le", "0x0"], + ["firmwareDigest", "digest", "SHA256", "application"], + ["precursorDigest", "digest", "SHA256", "application"] + ] + } + } +} diff --git a/prebuilt-bl/TARGET_NUCLEO_F411RE/TARGET_BL_SD/mbed-bootloader-95fa885.bin b/prebuilt-bl/TARGET_NUCLEO_F411RE/TARGET_BL_SD/mbed-bootloader-95fa885.bin new file mode 100644 index 0000000000000000000000000000000000000000..7ca91f3c51c58f2447d51135525c67cad05150c9 GIT binary patch literal 32140 zcmb@u33waTxj%f)XdBClEoZ|?oMdFjj+})kD^AKXmYuO2LYxiC5{jISaW*R(7zj6V z$YN*#h1E`>IJC5;g(4+&8z&e!6lkEOm9n&O`F0OcRZOPVcB zlggy_FO}DXY5G41i%6V{62Vh(SbRS!=!CfL%D6J0=&4BO+Txr-Y@Q0-uY_0$?y$(0 zjgveT*4DD|&pR{DK9SpytBY7wI#Gvf<)r?z)^@R*>b`B#g)$=i$0H~69r|hUv${x* zO20;MrOTW>Mk9EeUO6do)>A?9uXb8nM@eQ$FO8E@F(oBP)^=we+MPg(6JhUoPlcmZ zkNMC^BywNg^G@B_$eK^rh!fP1qutTUW@ zs8HPtUz$i`g>~Lr&a3BAv5_g)P#M5ayseq8%u36WjxJ)$bXh8?+oJs%lpEuz*soF= z4hSUJ{-swmC=a!XdLj@jut}kUnuF(2MCfJrOO%{jqAMOH7xaodN4cx;TN2FVa^!Jk zIqn?Url^$NOS?OWsBpyUw#s6!*I{*gDn_}e{G=iK0+nsOWIJ_JxwMy5vpe3kJKnYQ z%Ar!;p;YgRbgA^cw3nr0R5x>?ztSw{_li5rZnNxE^qh9@CIah|N12u-!;p@WN4ZDI zWtgW?Zt6kpptbdArA407EAFzmEpqwrU7>o5n{x-R)IMA0#u@})zOIe3UN1&{tsO6G z=h=VBC)ejQD1&n_?vIVe3;QcSsc|Y+?vrY(jg99?r0vzxc%%thS|!pR)zb7x6ScGq zr0v$yIHY;Cw2uv@3mz?vBCV>|tIgY!CgX+8TB?9l4kcOtDll_{i`cBoPFEAF@>h2^(G=g?Lso2kxMC;c9x}rWof(2NQQiYUK zH=`^h2wGP9xw^}18iG|H7HNFv8(^B%=~HoJAo zsKI904_u#OA)*V@ojZ_9F`A+6Q4P1!yN-Bxv~`5+NjRpf0Lms6euupbf#brp=lMw8PpH7kx`xZ1PsN-= zWhX@hx!$z;0uhcaBRZI9Jj zdqvOWkgbOHircY-AxCXqCCvwB*n38_QF^)ICP%H;#M((FODE`r zHs{sP#sLyr&2c$vNkOkV3N7t6i>-a)UOqUg?6`YQZS9rGvvbO3KS)fv3&P|2%F}AI zj_qNYR5*!;h+@PsiELjGJ5dgL>u%Re=TxF^0B6r8 z4NlY9CseYZrLcE#@vbnNlbj2s=&1=95?RsYrbEx}(kAy&`3TxqxSX;kcZX?u$Sv1T z;)-==$H`C9jPrL!s9hJvvrc!uDuTOdDO#B**%Te+%Nj9{`;$g(4&3sa@^pzR78>aB zW}7fO4=247PB<@vaUHAR(ZZLQNC6kGqudt44Po z#`ltnJ+b8U6cyN_$V17R6!AhO+yjec0TOB0%pyG2V z_Gfdx6WojgrFb9r_pf}wanExn3{#KD#ToaopM^Xrp1I6Zc9PC@sh4jUFVXMp9Zj%dS zir#JVecb6Q4LOGMM-zmSf>i9!ab1LWxyl$#vdLWj=_|C9>nWvv&?IZS9_^ATy@ZT> zl+5fJ(D3h!7yG#Gy=5Jy@{phPMf7$<*dcp$H(zkep;JGLq*Hl27xu^^7d`)={Ifpq zZN`uT_vTq6!`P1+KVwpX1NgLNkkJ6IE)V)qHsaPdSky+hg zVGu#9;_BGzg66QN}d(LPVzaQK1JRpRs*( z#`}y$@lvt8bpKeG{10l#ETa6*I}GQ#Fr76a^hJ$FCcu@a zoMXbaO$6)pl+zlnxZ1IO?ItQ7cACRSH<4a(&Qnf9_zUEF+zn2m{KQMK69(!XTdEYo zcM!|@PgT8_y;1&pT1b7gab*>wf7$21qKV%Dlq`*ny>ST2agiU$bd~{B&@gLpSOmXk z^bayE?y1-T)EK6K%TVia)H>meX?uR4eqklJyTory#kQjyH_IHZU~5aAm<4%&tr}N+ z^|N~;EbT6&edAi%^2jtuMHDN&8a3I9?d>anCl$M6s6^jqw?zaE21hNEK^QEzp(L60 zv+yuHMzlCzE6*tM)X0e_$-b@E^^RkUpm7CfXWqQYzv9cp?tRwJbl`_O4&zzxKHBG< z&6j!H;4^@H^nhN2nbG&G0XhUTxTH4EY;Tewn(b+&d-W10(Bi2f_rrqxiLG?)DqQuT zV&3X{H?`Rw)}Bl2F|IEYfVRjcpOHmV2HK7!#0mbsNB8!9W|MXKI)O$&NrY6v?Q4r3 zUi+}8o!bkUaawk$^kFK0lD}l_DqK&2&kEdA?i8LeTlw^1=fgZSEJEs9^?SJjI%9dL z>|wq9Nx{0ct8mc*-NS{qSM|mhPmqr%`mR9U*uA;z4S6dhR`NV~b=xHJ(t+duEpIic z=iiVEd%YXpa3lTO_fH}(799VJe4k0ZP+fggCIvRdM2~`ZOE ztN9wp3?g5B26C#GoN+hEUZdeWYhjdX!@j>1=C?44!mn?xF>iqkw4MkwpUpX&@nGuN zlwXrmPGj#k)6-bB5m+@r?m#;xteNrJn&|{cXt+YhSq-1Mg4i*F{pxZuJcj*9d*RD$ zl2c}YK31rR27^1lCZ}vIuGee0Ub1ss*g<0&AkEbTK(;87MNU*xdV5;LCTW+ef#$6!p$0Wd)fN}AffiO z^sGJsYLEfge5u$Qaj*0OAft9s+2^GKxsfP8^D=t$6R#fduOJZHH*_BQ!J+T3Yd$Ef z`=HB8A_to{`2kZV_%>zw;R>cPK|jPj@+>Wh96Blsa-fe?>B21ETgvh)jk@zFrHB-z z9ot^2jCX`(g z-xf%h%s5vbA&(v1%zK(QQ%Cbq*~qiR-Wg6qS;C;qr;ts6e}E9$y6saHRuyGJ!g1=0 zG^DjTVb&k-wMIB$K_oqL0Tz!r($^&NB2iRT(@(UXSPL|Nx|D83joSn6txTVGZ_o+3 zko!7hK`NGMRIby?FSTWZ=)<=33 zegCmu6Q!|Iwv=AAPx^;f?Hgg#$7&t*vX%ReS9fjA{&w*D2dA!UKGd9EvqR7!up)YG z&Df5l?xUNuReHdrtK~<&@7i=PZFOXpO(pCugvs; zYikgJ*7R@dFi^pEGTS#yL+*-Df$glP*cy;jjPI|%wsW5F(xQ{#F1bOr7QgY5nMC;& z_S_0cLwP~NwKe(gLqAye#-R^XM>E?;ZyfyZga7wyu=%<*xTM;>U#&w`cwu0XwhpZ2 z^h(eoK1vOdXL8%vULeXd-t=saz3{~|^u|%)!-3(o`13P#(Vq|6)_w8J!nUKEuxlS+ zyEeU7ND~BGoci6ad}fgL?bz8tu8Q zcgH(Yq%?3uCDwmk<6#JSK&TAiOs)pqnD9|R$5uE!mSM~g+x~NnNl}_AWCF&@AsGLa z7NlZx0p%w{P=0hySCpp9R9h8hcNjR7Zg)gDy|c^M&h`-{v)^%TXa5D%hhlG^X7tKP z&yylkqMnzaND`sWq&lz&a**wRidhR*g^GGQ=lt zzK&1aLZCZNB+6rP2IDQDz*ddEvl;}nj41EL1v#U#!Kn)`+2ZUa&L!*XA<>(t5mG** zu@p3x)q3^@IaA|VS-=}csko58&s%E=+wkVC9U(K0IRf?vQpi?`Jg1A0 z=h(B?Mld7uRRL?ID-;z0bl5Jv3;Qf<^)IeWKr^zEX)w&X;wqy)H(K1ccSM*xH&nZj zC}Y&R>*{AjXrm)Q8)*q!H&6=W)$^oKYjwdk$|&?DRq!@x6j?9bpU29Sh#eFBajzm~ z_??arnb{jk#;ztAmvSxs$GP)eggU_!_wCJBBAn9=>0RTHTquCiX?#-SjOiWtpA`9e zoMrknY-QT7w-xkX8L3*^h;pAw0^WAo%qeFER&Cg|>XDsgTWZ&B7B*JbY}v5h414u+ zeymMlnalVh#ZE0%7(XP?+Puq+K4aspTKdK-&(79Tdqt6@8e2feRZAmh9~a_<9G_k| zW3&1`?aHFiiOHv37B>})K4``QnZXB<<}mqKoqwo&fCyR8nZ3&mFY0~S!lzx_24H`S z&X$b5mP*gnNWZ7u54gybNiO3HfU5A{p&I9+NZ&97mEH!OM?@<^hEIonX(NNldiacu zL1aZAmepqTZ+amWdt3FiX}!NN)cfk;-rZX7ENx@J!K zAmPyT6HZ)Svu$g&N7%4qN9~S9!oxdiw>>C$YIp1sw(Z`!cEgSv3I4{oN|+~`Vv z8mtA=ZU~R6924PWu3#l+U2=EO3_l0#1{4;`D5u#iR+O&vA=# z#}%D5ca1Gh6y{sF-fqC;d}g1~yF#khTH5QO(4MUv?5Um#Ub8(C-qWg+Col0wy;Y{r zq@~SHz4n_M^f_+~FNK}aqbn$5xuZfiAlDiii{BC2uQ}v%@}bdqH)y|HXcV4x;a_PU zk%F>iH5U14wBXgvE%P~b?hn`QUrWOoH9703t+d+HZb0czL!r(z-Gl{Agx5_Zu)7kG zio}JhoQl>~s!XP|K)>mm;*@TkPPdke(rNjAf;akp`y? zPZ=p8l8g-`*U95-%?V2HC4b0H#?0~cHc+<9waPjjm(Ym17p!TI}wU3Z*qjpdKf7T{eR+}oyP|a*u`D}878`@2fjAmmWxpbsU08gkiln3kO z2f9m3E$7{JcIa2MWMGP&)czbBj5Pg=M zaBjY6cne%X*)r&r1Zlxis;nCn%TG8TI9E4;L@7^Rs_MSmM2ZY=z2`KX-9C<$y?fAD z9_wuBF%s@2z0Wg_zNqsV-Wd_qn@w+5!FED~6HzXEVWEpgXN#;C}ZK(^-# zsFD>gIR#sreM+c!4Rus5?hlP^Y*#0VB%pVb#{JIRizU)M&>sp=U+r&bqr%(j3_=96 zk9k!xd>JkGzzbpd5mjF8w>0uiSn&{KHl7OacUl96rN()%F-$SEP$k+gNF)5PY(7hZ zl%~AFR*RHb$!1CiI!r-_fuBCErAE>z4`Y4|E<=QCw7W?YUoK$Q^`LRkcld17wYo%5 zn#bPD((VV|vuO8c-!p6XPu`;vuRXnu^){r_+I8A}#(Pw|uY50pJ?v?Ha{TRiWD2o; z*J%lj8D~&T#^#<2hW~l2Pc$gh@P=4iM&~J=utv0Vl^HS(@D5_Ghten%VkCcMA-so19}M}QQPB0F?ABb&Q=u4S+7zmW5KirR}p#Qx7P_s-|) z9&d?MX}dMQqXL#MX|`<^o@(+q2aS`y5^0rfIo_!aZ^|36k&0%q`}Cd5%q7x|wi}V- z4Pfp)V&YI-Q-(tNGs@$8Ovd`ncB!(5 zH#JmvF-{Y)2k8`n#UC6Zusv^AR7=nrBbr%OQQ#YAk%jfw}vl zzhzQdS~+AYaE*xa{65TTv2Bq=3({?^L0g8#4ilTr*{Jbg;!+n!S4#dKGue(A?fe64 z=h=QkqrHp^vA%xUDLlg2vjFGyFqNn!fanGy8g&KC!PL|?Xu=DZFaeg;?Kn@H--VK7Na`XW*C5o*(9fr&K*LM;(T)rED)WSD3Ut(Og0FVz=qRbXr9> znL3nPHX*|LJdmObrfE;!6u*GAr4Q=0wk9JrJ;K|Ph6q|FY+lX|nj{8$8uAm-aoNU; zRNyN~oL6`!2~ENbFh4WsauL%Tfrr6uSOdaII;Lw7xpb=_HB`KyzD4d1oLBv%H17k| zZxxv(L(72$8ZX$-L1KwEY&FHK>p zGbAH>O9{iSOx@X5_Tf|0X|@Db3?`B zmBdb?27Yl!kiRK?1^b!f!Xwz{Z?O3Vg7%`=hUm-5=kTV*|couhJVEf+KCP zStqThG5~F{q`{{A1o%sDHT03)xIUKN94zk!L zvF>rYr*#B)=x9WDrD7R_4FLxrWHfoYL|y<_R#pw9X}mmiUq1k9vQ&`v4DnB|`nHw% z3DSJRVftKkd9yIfB~p$wQR=8*BLzQXd%J)rGX_eeT4ir(M@5Ombb5AA*%;3hhW637 z2Mo$&!Z;5J{>;IAkN?|#pd}3Vd5jpiO&Hd55j?Z~Fg(|=S`5Jj>l?#gy5*8O19)J^ zTuz3@J&Xqp6>};}fCW!ohq>0{wnsc>U9q;}cd<1VyU%=`&YFlG*;?e<7zcvSda&da z!`dYLx@2c6wkIV`&JErr&5qD0Z=4T1PkQCeQIqk;2*YDRx?z~!dsDIXSch?1Tfj5C zuNkxhU&ch}Z4CGM5Nms2sO@DbgZ**{G7cF8jcHE6VudxkX>hoYv;}G_);)qBlP8Os8q-aFcXnI;T zS&cUuLT&dmicpiF3u2v?nL6+pM&YUxIfe8V1K?wC_a>+@cE00S5*j#KFz7*5i83c~ zbQ8P(cftFEoE2-) zi6;|SC&YgEJqOjdaBm^TMqTAcU1qC8x@kL;37Zd6#L+R>Sd<)5{s7At!@&#}?-1OK zB3mJ~Ag(FNR)Q!WCcxiu&jl}JcCx=dN_aoUVgR3Bm3UG8I&5Vxs&^49epi#afFX+T zOXUasL^y!FH`F_cC197DE7&|x#d)e_3w%Nqu}*KRPrXaHHxTN&LGU^Cu%q-0?k`!4Vxh*-P}!tZSIX6s4TPd zr28|UVq>F9QnL_#ouHi>FJQ3(mVuLdk>^7_KJeXb8Iki{;|d~Mo*F-1q(%Fj+&Q%9 zCPk60`CCiJ({7z%S>OeX=ESMUHe!1bu}RaUIT z>+9S2@m8_LY50uws)uat5lKb!^Ec1lE0{Iq<50N z?S*p*|JsZ+t)NO{yjh#W^eCE6GA)`aPa|xMl}f!*JiDHDDO@!ZxZszwR)=n3&V?wc#F1P zdWqpgNn1Ly%$TwUkdBt1C!)5$-2=#ZP-~yc=-ds&y|GI1dOpxb(SdT3Y+zK>!S?tZ zX)tzoyrXO~I4VnP-e{L$4Ji*K6eY6J(|(&XTf<|j@N9lio6U+D{aCSgOz0;M+%XH| zIf9uw1h|Zi)KRj*ou{sM$S2lQ6o5kcEOR@J7Xi*;EV4lW524mldJ3y}x z_p1N^=xd%<)}|3{?p8nQ;#d1?^vdysb6jbUUdN~v)?2yn1ULuiKW)j=te`~sr7CZ} z)MaS|rEV6mYf6BBdSyCvwk3!f{;{oheiVu}N^U~i6md0t1=2Z|YDMbW6Rf{9 zm-?VfPYfCr5hPK~ovf=Q%2L2`r}l=eYl zk3o84R*Vvtsgn2%u5r)=4-9h14Gwlej(^Kc1UQ8SFX)dJ@d!U|u(fpa_5g|6^^<-@ z3Ky??`pZegH#946sJbQ@lp%<*dRtSmLn%%h9VkoC4S0yGSNK!x_l1+}_sb!??$RJm z?}{GndB{#Bq-?^$@2Tsp)=EDAgRZfHZ6j6As@TWM%c|S$Zo8*4vdt{tbqCku9JN@T zOP1#$>Z<4G#O4Ol@iEZ;{fJ?0~vnw9BQSYOFM0 zA<8dchcur`YPgmqL32<_)t3QBolFn&O?n48%%qP3Nw55CMh9In3`~!w>mnAYEwVD%^Ped>{rlrNev_!+I1-4bKHzBQ_o)MAot$@IjZ6 zWV=R4&2F^s5e^C3j%a9bA8dHC`C!9SIa1`HK6*2u`F}-}L}<|9dSj#Tpk0n^WL)MCmM7)9Sx$L^1pMtakLJq+GT?LZ*Du$|D?}TtmuzmSQa(r_vC@1-FW}!hnU)c# zQZkgDirtyyh9I%Fe~axW#jmYvK6Y#+;|++z2lj!RV~ytd-e zvMc1HctacWNo^Oay9vn+l*m5yW>9RMvOdX5bq}%_`_DUNJpXl2Z4aR=+H)=u*LD+* zOoOLenR|kr<FL!hXfg zmdeICp$|e%82xD%ain6;r?voQ=*Bq3!Fa`9&^b=xG%p@z>x2UPA>$gU*ng#{Bx59d zSWEN+Txl+mij5y6Li3>)RMA=-*sqEjchD*PdsbMa21=Q1#74?=6&bcPrd<-{9<3Eo zvolRQo0bvFk~IJIL$Ji{cq73rFeSJx;67`w<~n;U{LJxapFCUYYHO|`m^*<8u<)|p zbV^`Qp8POIm3fYp2?dx0b1TV)=FhyjnvSHUu-va|y@Yj{15ODW)&MI*g`f64x|Y?1 z9;*|i%blSv^QfG@M|YIrJrz6hE*p&(a{vikF@XCwuLCdCVKyGj{w1K^^W3=aCoCHt zEA@`cU)Q|Wl&~ycx6W01ri&Cr*0LU~kX3KCRtAX8i@Q&~)k;rMJl_J}u1~$q`f*@H zB_x-%hbABOSf@JD=VcK?ohNw(b~3wG#0Ve^LHZ$ln>@^$yUuy;xG(nBNMN|fi{q) zldLl7sU{zrDE#lgygRqT3~7bT&ILr#picSZJ%4MN{1~(XT_LRF`qhZ$;zRYau4e=E z2%UW7ZpIa@6=^yp*5n3~F=*_9yPCD`Z`I4?ZF)$JGumcM6r^g*+Wx^AZbnma-b3cw zcu)fP&nB`Mex@n0b63N6CN))ZrQM+wA_vX78S(n%Oz&s0Vg#{brJDpua19lllnJ{q z^w!wt1I#*0LuBeiXu`13HnKA55-!;L24cU~Nx;0lS7358m=;n*fD_j0`7u zM3xIlhD%HiRa(iT6Xoos?+0*pZ8NdI6#ssV58j$}u-jlVDcPpg>QoP1bf|mG7z5r8 zb&nmpS}k%P#QT4D5@DiS0T1~elL?h&?a;|_-GR%|?rp7?ZGjHCp@I)EeNqS7>jPC8 z)-M@-1inZOH6y^!FAiSlG8cHqHcHX@`*nOTb|aJO z*_oWvph|2H$&ZTxJNBgy@L)Fs9@YojZ$FK{3mn#i@^5?(`M92WkL^{Ra!j+95!h`w zL;~kSccjXmB>b*kqbqo&>RICwc%yqG)$qFFJXjTMZ-bDh+4&VcJHJv#6&qvNK27nyp}de_b9QRNHw(PVzyEV86Rq=7Sk}3V8&6BPAR9kB#jE zXy%LC2r)trFfD0t=E9q9tb|QKIx|sFOoaKy*f~B#7-&~7&K{A1eNOXdhn?7G9QIRw zJ+yOLP}a?%^uMR-v{V)?OO*rf!9y*a0F`(xp_iE5gDMRgm1TI!W|7GpRuT9C>B0LR zRrbAy6M#5Di3nrmH72`Mz3jiFHZ*_QWpWTiTGS%0|773Zs!bP#S9>NKr*FJ?Np19> zf`7C+bSi4i{>DXkY;6+|cXSUtEiV3Z^;^$h>MDSQW3`>B$a<$lyPI3sn`#S7A4anf zFZ4~Cj+tZ8s5+n6{UkiqDlFblt1gn!I1N%nhR@UlpD5v!wnRqbhtX`#UY_AIG-V41 z5Ea0)n6i=#v)Y*xU=U7#Es=ZfQ$*Gw7KB*glgdSjMQc`w3s+Oe)y}ak%=S%uBcdf4 zd}Ag2gtuch&O?8{LG!L=G%|SLFD4njt?=aFR9-%r$|>JZ9Em@r5R0wpZ9ukC;-efn z8O_SJ2eb0^&vDA;gud~IJ;ZFC#iK_P83!AjOU%F%y{Q+y5?|IkeB(m&_ciqQN{U5< zWk5^M@Yx#m@X_jhtlxP;zVGNpPQ}Z-Tc@b|^t5Ux z=9Y@QebB9@p25-i{z&pGW*?@O%@4|O78q<)np4sg2 zjpjG4`DK{9WRjJzzjH~=?SOyYX*_FNgEbabh_kg7em6?9?L%;oLQeTO&iruz>Nj)Bnm>DBoP7k;g^ul|@ppp6^z#rpbTkI8&<`K{&p*Gx^&M2m0h-SZAt z2ih^`+%cR)E`HwG8{W~GUQ<&O5yk~fD$Ss?JphS~nlXl!;eTKB@=Y84MT{5KL@yn)%+aGC)W;U(zGX^QZD$eU?t zhAJ=MIZY9MbBe{yO>}|!1X)a3Q`~{QW!H}feT+iFf4BXHJM4%}tdB!_uwMzM?V{VX zx4(x$^H5JGed!+UvcT#GpD^sjcj5%a^1$fm3}Ox=c2UhjTfbCmmFfE5c8uc6m z@7f@2tKB7RtlhnBy;g(_UDw*0vD7AS5Af1*)jn$^&ei^G&?dV! z>0sR!z`0i?h`@BG4hVbxR(=U7IJax$9MgBf5qle)`b3UFknX>qQ|Uc@XP4(e!vlSG z%$_rM-uwkOl`JfEmX$A-03!M46|0xpY|yDZ6`?O5n6+|z$Cs;Sk?CsKhuFx_msPVm zzAT$eruTjET_0Y2{(Bf=N$JFfI(~~B|fB_TT-gZ5n zYyrBEx_M}4GeFZ}7q=4OpH~dtw0z*HV7m7c{fH4`>*Pw?%3p%4!RDRK{}cWJ^k!qt4wnf1({+L6^@d3!oQP^?os%Q)VWq;P9AQ=1-jU1M0KY6&4#pqY1bJ*D*rh?LGtNWkMyNh#!b;ZmNMkmt4I0 z4DaNG6!=D*&U+hm^$zOm?}XMP>ile8mSVi?*6-d~cX!Q(#Ty^2sP$}n)ZhAy7E$mi z>>bcZ35UIAMQrF#1}?T41rBy2M7&u3*GL4ub#vf(>l6yP*Ll%8P zlnny}(TMsSw2_mA*c;0pdf@!_D#Z3w5W9s@CVe=dXVCT4ZUd6VQs zhNUbz2DT~09dBp%bhNpaz9RijhV!+1=~w0OPNwb()V58lBf@M*g#)qwQCa(p8qxW5 z0loPjovGL(7~yA{*M;SEbf(WgTcz<*0={VGg<*E5X?Kt*_Bx!f4a+h#6iC%u+%r6E zuYl$eJuDH}XF(=4O-AgKJ-~FCh6)x_Wo=L5s}uO*#87(Wzod^|D%91rx#irpWK0=w zyAew)KZ(|JfiL-l)un>qVXeH|nkl7YuG|5=ObXZ60KW>yV_eM@X*deVyC@$5U4qV5 z^||`NfhQzu-9?p%hjA9c(e``r4)>MEvPz^@N=MZa0hgplHz=87%s7F}6X#sq@V>4YexBT13)Xr}@*%uGks9I#9 zyv5ywr^Zt#M=o@kM)BoeR6`$)^d!U zFxZM~8l2{H#hXCeFLQ|;(!yFmX_jBSiIy-eh&o(l>|KkphHe3wxa_e1EaDRd`LL9G z{IpE+>)jn)#(W<}|FKCI@@`^27y))!!6$;ROjD=8cB`lP=;!hkU1Fq;FDKJ;gVu7L zQm(q!)*UBB^CF086ck$`_Q{~&zWaD8b^)iUg;RpeG@_s5Spg6JF3zg`S?1w=;Ae%q z$jA{<2VaJHeW2ecdD=>V(G7zfq*6Uui079EWnfv6kw$72n-M;-f%KC@%3)IO69w`) zw1IUZj=4m69BmML5AQj^>dA1biQgDAM~r=6X+uGa%zrIK9;z8na6|)SIJ0V z_ec``h?3}UIlhG`uY+-TThIPS^14wxIQ0W-$b)}M;~B2h9FvzhFiI&&%HG1h{`$Lg`& z^SdNG9`^qZQ^c+2V*Otkc~I(mr4T}V6S4men$(O8taavy=u{)(QhApaPl|6@ zz^}9>{3_amC9G*ggh}gqVtFOAkwc`ri2B67G^}f+<8+7ZvUBrc=NISFSjvU$@VYGO z=d>EMB~(!oVG!@?XFYx=ocUw)hd!s89f-+W2{=DQq(r(W%d3c#db{9L7VWjWKhj2K z{yl7Nq;JA9(a+|KwXnDM@po8zCH)mHAs<%Zs0b}Tfs?reYw`FywaPft=1!AT)5+v4 zW+Ol7H%X%ew&P$Ga*zb=^+{u9n9d21B?5@A$!%j;To9peFO==t%xxTGT(`hDI>M|~ zqk%2IOE~0AoQBB=yC?Y*soS5yO3o48>FDt z`{Z=*R~?cM<#r|2K(RarUiwt*#zCXh4EuQp;y;M;plX!lwx6jx2q{`&pBD@YwGP&2 z@lc<3SmiinMsj%1G21?si(&aAR&EJ6F`{mguv4Vv%mzP;YzlQ{ao8gqFBp85M&l3l zKISvzMq#hO^2nl%fm7FHjq^C?Kpmy9xqg5rL?A=LNHPgg;1B~mR{Ivpk%S490hT)( z*I0n)iY!|(v`_L9)-z?2IJQD+34Cd3eDQXHS=e%AKyuHx3P_zcK{ zZc)g>xV{{0K}01{8d6mFuq(^NWWza<7x3**-Hmt%=96dh{MI0oi_~_k9e#;W=vFnm zDUlJCtK1JS6Q>-31vkw}VS~zNFfz|4+jSO6i)$vj7Vgc#SVKQGS`aD9S?LeSbIc<+ z82eJCO-ErvVKR?+jKw!IUd&oYwDbULeY4iO74|a3f&=^5n5GdHd%Om=) zU;j@7fE<>O3D{R7wQ_}^BYq8fzt+M{$Qf>d$vcEl7g2O4NN^2gyFF+#6)TDJci8Ke zxA9A85z~qgrCUH=O2%fWH+p1Pp&fBq-qRid-mhVHJ(s6qG~{h-YpBa0&;nn)S_`<+suNe86J%xICT;*c@%tBi50?+MhC6`Xa`pv_9?Ua7vcg zm*ITwv3|4-96@VS6S02|Oub_Z&bkYd!*-)P5i5#Maamqs=hVJBe`EpX3*cU*NvmLd z39c8IEG=g!?}Rg!4smT%aB4>bHg7G?hVnf(Sx{>(o{Ng{SH zJUd=76`R%u8@=d(zG2iXrFw@0u^5S1Q-7{Y_af79J_sUSa_pJQDWjuYXQwZ57v;@= z-;5Z(7T(9^DSj)>F(7d%L~A1}Bj-0u2>3!Z;l} zla+<@R`}-9-aVR~xWUi%SR%G*FcJIpAjzLx$@%DWnVTjpEmQEVnYEdaV|X2Xo_;%1 z)>7QLw;NwAS1q@ZnXp|Jwuq11fjv0apXgHxC(@D;AHr9h|9Ukq3pfqMgBA|No=R9; zBPt2xB0k5$&V|@0(g|!4FN5Bk#>sjPC+is%6R-y7*_jZWw_#_23=iR)&=+Z668z{W z32vgbxm3kjP|f>^(~3i9%Havcdfwhof-nv+t3VCx2Q}4OY98GntXf_PQ4Zf{kSr7P zensR_%U-0O6~>-@R+9hz{*Ep>FSF+7?%Qj0)$dnlZhE46-~N3E-aoM9oA7n-JmTcS zJWdChA{pN#(a~I!b9B&R)7x^~EMj0Fw*1sQ*aE;y5Sb%FigH+U+I;F9&BLf15@Z%f z1gQ{_J6_2o&vcPl`e6BGacak9*w$d1%97Z5Dw-I};t7jmVSnOke1p7P`cUODo<8+w ziL0>#h`T6}{^?F>x(>-Wpw1((xHnw{-#6vc$$7;MK|!FC**PSv$DDoQ*)qWnO%2Z< zcIgqtS0a6pFmtqIE%*kD;El)rp8BxMNCjC0eARNjI>&dqi_f6K=`M2(hg{aE}?){nxkO>bo_3t!0g@;F9i4~)m?^eG0j4(E-S+%g_# z37F@O*@VF9_#u0ow556{zLv0|di{nSnz3!j)~2P`;5=dB?!t9i2ArEibvCj($V-<` z+x4_G;UUn^jgM&QZ-IX}K!cgQF{T_gzI3^CPeS$j^*c7~+$q%T)NFm&&<}3gpjrD8 z;Ac!;Kj6PlJ2&<{oZTWb*|{;Iv>=+96eD)bt7{pIO@j0UKeYLk$cn1hB^_k$g;Fy1 z^>{t(>m;*o(q`<6CEBj2W|8Q~tB9Ml`)%=`kAu%@*X>b~`Sor+nG@2rER-5iq9o42 za?WBJ<1s0DVmwNXEERLgCWe2D?>Mf+cP#G>jmd?aW<1ejAdkU2X+2jnN!OB$O@Osj zo&>)pWnQg#Y-*A^+-0)pD62s0gR%akE5f3j(GFeSO*vCohbX&btiQhibn_#m=8f0A zv$=;FS^uB|$cy5O5P-nXA!>Utb`dt9+3X7x1!QU*5g*Otxh8LSCds*-FB=b=8iSR| z$QcSheg`5I;8&VTX5|K7n|M+(M@}G0pUnvCiNO;{VwTLyC4=TALHrABRo{Z_LY13O zQe_dYCAb!xWHLjPQDyo`V2~CcVm#r;I#cBzD0`z8Qv*3<&rk!HK}o}$X9{mIyy0~BXsXE->V z3nx=X!Twhl;Gla$7H%Yk%L5Z!22V2fl2(ezSBo>iLksB?PRZ5ESOZ)m^v*~j?$)*( z^z~nZERN@8)zapGN0BPs$ss&?T>wv!`jZ^FiNoV!h$#kYyHOop)DP;nTlOXKn{i9lGzZ=u4L@D19rp? zTpnN^Q33Um_%4+lR;c3xR``pPvEL6u_e_!C43uZ`Nia1WGmTSAL1t5i?XW){`%MZF zjQHx3{(L;vpCUpcc2XUPox%0@ekMzBfQH$e*|+GJ{G_y|rA48Vd?oK* zg758-f~VY;>AKLba`Si5x&57JyPEMd^ICq%lC_ibpIXcGDw4nN%IJotrF~bd4WvS8 z*GFK9fc(G_(&25*fz6L7Iq*co=4T%rJOMp}CTs6;+-ah&BEvEUk{&A31Rl9r=aU@3S-?0a2m`qqOZRCSf6*VHS`T~ z_1IFiKqyu79p4Zqz)^irnP8-I=1TwQWW9V6!Ix+XGN+kCl_)XESk+yo`@=C;@Cjvt zj?TH>}meza8CqtPbB;5W9bO!!Gf^(AOSO z>JC}UMUjZzzqPtWuda41S27^{cheoZ*WBus=daSBjSK$ioS0?E9ck7H5 z-MWH;^0IE@Iz(F<0ymD;lY3;slz3xD_4r4MJNLL;)xakqAgU+GPg*#cRuvjxICHmEa@|p21 z7a|y8J0Q%vtDG2Mt2_d$&N1qCNML)IT}D`ETTQRzAx@0N3f^>rd6*GHtbMlwIxKu) zCAM_l;JeI9UIJ`tOL!4|$6}{>oOY!7?3;ymtL^}z0BfvvK8#)!QDu?_PBr5zAxuNI zKtmpizb-)71!N&A2^pVu5^L;MJO$bqDZ$x%=g(AqC%G_o9=A_<7OJT+J@-1FiSB zmdoD@6z+N3#GT(Dzv#>g)9E_TKDREkp-y)TH`8$OyES6Xw`E4vb1O0fg)V$ta?`qPb5% z-Ybh~$m>wrKbDKzAU$bPH!1E5DedGn?M!jiv;ItZDZUX9RxKSPp0AJ%&;728j@>5S zBJb~}nZUCwQ`D-f7s+})A%6?lXMTZzhNtH0dfeQ}+f7l2rSsUYub2u~ zAs2+MQd?5bKDE0@++t33mZ`R7AjqA!!8ZJNef%r2~^nG3V z46QucxUT%@;qp_~sMfr{9b5m0UuboT+^mo7B7^9|p&E2i8m8RgIyd$oWAlQ1t(P^b zWy@E!&Ro}zEo*2L)4Nc^;YZ$34gR_s*NSQu=@!?mWEUzpdq`gZ>1#`_)^`(|?l52$bJu*T=6dm7 zTGgHF&RxSD#`j2J2aL*cyX+|!*_Jrk4XJfi&&8=DA?50a>S@*1&ne|jR zt+pISdj2RiE3!uAUpcY{u!_%gXJqBBd8V7o|IYpUx{2uRHg05?RMIg@HTVEa#pm~< z+!TziFYkV&c@5uQkVPyQ- zTD0Fx?bodRW@x{#$FtM6+OJXj&C-5}kUb;|GCIlVC5tg&viPTd?B{&LkMz&+(~Kd~ zvyVP0L!PnHIafQ0&k9Z=#z#cwnN2wLO>i>OyMriK`wcyZ^tVdZ8_j278IZ}zC2A4T zH|pn6hu%jQT<#q4Ru!`@B8Pr}^!Zx)ZM~g1)t&X7FRANNmw5rKorf&1e6HFLGieol zSmxur>&d8?eQ)SwG&{TKvo)%i=alH-N@iNd`0&jb(&y-W}IJM)%~;4`@3UP_IE$LKEHf?Ib#2GUlTWrf1bHHdpa6~Ju!}_k6>n%b#cb+?igCTpVTq?qaVIW zz0?$NrL?t{ zwlIFzf?k3+qwZ*<(34=%P?oT_0E_ke7`9;+53bbf8XE$%aWSN*%OUfTvKkIiFO4`& zMC{$+%qDi`$ADUY?OZJV8MboZRcV9YAeFle$KR1-fg9z&1!VbHjYaycYVp<}Hm134 zc8v`Gs<-X3yc18R9-cNmSz`moL`b-_|U~la7NF!2OkdiB~6#AwQ@A9e7 zy13Qwo_gqyOQZ#wpZ}nGb2(ZR1ZfSTVfMlsdBB+wTDWG87MW(#?l#0PUFp2OFR_i) z8SW1{Ct9a1u!A68239>b3Vbh}ypzHSAS0~P#Kyk-*^<_YOD$41z7RsAUUDF?Cm?LP z0e&lQh3xhOZVG%MGml$;%$I6$gUbptV98SIt2a4V94+IQIK%7xaVo_m8D=dfzTXGf z3A4Q_d_0J^fBzWsO7zFRmiig&ek3u*L!}*S)~+T;SVRr#lV?cd6`pg1Oexl!A^g9|-9bs{qw^O<7@9#KWsMHF5sVBv3{a>c=omi38i?q_i^vJY;u`*MpM~JPl z;#=+X$jCN&~#vIx!-C<0rhWa(;hoL(;3AUN9o+^e)w&*?`)&QLo@x%`_F-xFioF_xW>6rs*!8 zj^4x(n@!ARJ5vjO$2!4ULDCT*o+H>Y3&5IdkZtln<;KYd*bR1{a5zSYla zXrx6<1HF6cSL)01-pvWsu8XQEEXt_5cSE?SgeFz7?CQ$=MTjd;HgTjx6}QBY|PF=oS1Lr4aWc zP=o^7{C>g zEN8wWt~t}0>o8!+L-Y_GL<`YC)UcVb{$kkk5RKs{+g>StC$(5#j?kB@QSOUUI*K1t ze*HUiFBm7KwfEz?ajv-1gn5WKG#ikLpKmNPE@0CF*V#ryHdh6%YYKrBFk_V5mGXzs zGY2nk&3HxB?rB&wuHw<#B+c=NJ}UugimYHGQuYuq1})Y{tOYdIwOR(wvKC8+JB7V%$)o(CC~JAb zqQAuV8MHL=M{X*Rmv|B*XaQnxMBW->qodgRx!vSr12_47=1peBCzv?I&6cmVcM;}_ zFf2xg4VY=dlwg$FpQx>nr?h@Dur=lF$bp++867OYF;Az4A4(@ z+$bJHU!Dj?3Z64WbU&K09$%=Q*@zK`Y9=sKGbi@WahOBwZT^9zbI_8^yCQ8=>dhT2 zF>9w)4GVc;P1X$#XW1%^AF=5q9xY+{z) zb|Vg4?q)3Q?oS4|qzbZ?mcv7fmW_Vd%wS3>u_7*#&0f0mw;~@X*I&St-*kIW`cj5R z*b3M994?1PnSYsVzM)sCrx)N?=~1d@vL+`1JajJfhx`tr({n^KV__MX;~^bcE*rI6~!U0*BMWbVJaY z&Idz4m;td2A0Nva1_mV#-eGSEVe+{=g*iaFIATjz2h)`(3t-1^G5PVkY?zgIzM!N=(5VDjEGbi(KvZnqsZn(QELx18DFKkpc z??&t_=KyERMy_cH`Hkq=i zUiOxMl@Aq|O8}0?l)=n4yf<~04J`yWA#h!dcxCPQh|~~qA0uXhh@_7! zJT?KX3*Q=*LWAS5{B|%E%dZDBu>5L}brXLYasB^qf7hZVg~G<_dQq6axHyi*T$P2Z zR}rFiasB!Y%j*R?BE}1O*Mabn&BeSE44iC~|C0mFqXa>W(MYo5HJ-}VRrbwZPhH(& z(X(Rh#u%?4ESh9Pvqh!Dkz!|>OE11yqY{5%jRWp;OU;}1|L*;h{4?L@16peUy3FST zI)NBO^!*JifM_L;CwY)#pZ00Tv%W?)dw!tLn&(TSr?gj86}@Jk;NV?N-G!4{F}KR3 zRKCdVe$O41wnyBsE%Y}wG&Hc{NsMp!_ZhhqWfYaXm^m$I^iCQ$mm-#ON;mpaHvgDhgR_16c*aY zo65&KA9pxpQ(_)GH*w)S*i~|oniqB-OLpGll7V;z>*FVt!B|sji+nlOZvq3 z2Gzzl!Ve0+=zxaQb5LA1Igmmq6qc(xAC|P3IRbXptgsXaTZ@~zt&ZH9oN7}MyTNJU zqgB`}V!p=w8rYI9Ln}O|4*Bf|&NbQnXOW{^hm|zCho$MqVz$^9+riJ)n&9wZOjLmw zHSh#Q)8^|DheUn!zanOrG>+D2Bm8g`NNtX88O^JYqO}rK@KLL0=z<9@6?B(hMPITf zK_mNTIhj>Mi_yG(2w2BIz{`3_)+{7uA#je!I?}6OQscc%jqt!}9NEnH;uvY>8rbve z;I%?v(AvtHDpVp^^EcFy=c~?BTO~YcTeL**)Cr516uHXr!dZjD^TCV7E&+2hBn9(< zQMxZ^!_tBg*-V$Zxm2V%r%K%}jIvCedY5|leIdf}Se%53g^kaRF)vWJ>dvqcd#%`O#NHA3 zO_(55x`7r^Gk+7|x`nO&9qz4`7nlW{ML_r7Q_+TZQ6*bmuykmhW`{K}A9|=c+|Wfl zkc5}mhVL)Ibz1akxbxs54DsM5&b-lVGL)VZ_h{4?lEg*2r-9wnl_rU=YBU#mWtQwx z_Minfap2NqRwK&tb~;3g>5pl9%n}LeUF{tI^xA=C*+p(I;_KBeAGU!Z7zhAAMgI2m z&eZuF`j@D*60En>3uQLNBE_f|5(l$5jnCH^m1<>^lQo$-q7wAYP!#7Y@uuP0s==h)pb3I8{ie&XL(}FdzqMr@;Xj$#N3rX)ESgYQ`9yz9niw=r6_{1OJ6g=@9!Lh*( zy!?CnKKVHzA(&HRI*e%KNM|@5$B#%?BS(-At-(yQ46$`>o&xh#<(u)i_2y6HWZx&( z`6k3oH=@QiU9Dw@&F=j>&ZLoM>oS~Cx4Bg)1-#&R^F!!?t4_c+F!qi{-w(Yjs<#_N z##dC6y-o(lnxz>i2S;h~>F#8QPi%pQai`-_$CDk}zU}P5;X;;&wlypr0oohiZZ_FR zGJ=M_9V{cV<44N1A@?MrnkY9Z1g@@jHthp@!q-dD7XQY6v^y2ia5Rc5FFxAMD=~3D zT%)^`f0>T4^A_Sq4)5Oq<5VZPu0F7?$ZxlK;GKa?v%PywYwWzF!$Y1 z@Dd%r*4XVk95|fbHKyCUm?~Etdu_n_|_ zlCDHh!+|CF7tFyIi&fAAt@PwDjRjwnbr=B?16mAkxCO0-46M(B6NJGVlI+9aPS6H` zoOuI%E<4VF6)K;JqF))+uLLs*`d1)O*u!U1*Z1i-!#NMw&t0PE&J|hijbM}5TypIi zaY^Mf8b?hAE{w25lMyFQy33{LkYs`npI8;Z)p0$pIJTVwze|k&WJqGeqG%J_z#6+0 zQB7x%iu7Iu&RG+>D%ucz3T*NqwE{!Z!00(q=|hzJ*Qh9JVDX`xzje7>dgp03SG_}D z)ZGI%-^O+9ytia6MagLwF%`O_TkBpir4vZB15ujP(DspYm+gHXLR1^q^NHBpGsn zL$Cs$kmOt_8#BJZ>}Hso(aqqWd-f>&)}o<9<>X7eB}ZV_Aq*x5&5g>W`SrA}Goo`j zuFGiF7@F1Nv@%v8U8}uwXFFNoWT2wK&lnauG>!?aLsC^VIdpHC!M|FJN`H(vj~QAf zV!RW@Y+8s21cJ3IQUJuVMPmS#;vi~h9I$TMn0+5{5<%^Gg3r#sL`&z6z6aOD;n-y)G>Iak%a@nUKbv`Bm*rmhzJ{{GJRyoqIqK;~F>a%o~nExv4zKld_F zMbD-dPAU;kflY#i3dIR-RX`I`-3Oin%YXLb%fx(M7FdkQrlBjYqn`Kt`hPa-j43;~HZFCZ&f2y$r)|^VM z(dl^u?V@zc%$@dKMUSle<6xlk{ck$2KXdY_IXB1OT)J<|6R%!)HvM4B0sSTJnXO4D zw&!P`dcpW){m)OVAMW@M-v_!Yd+KlQ>FKH7^Vb(kPW)a{=)EbShM4}Dg$>w^mw%fHaA%*jdK9{0Ox1?IFF zL$&vpO-LwMyreF!>Udnu^E1wzY}|hT`d8b&>wa(EbE$ss%kxg|tyuke%6G5!X6tre z-2TwGTi(_h(>*==Qux)6OrF2dIj!^K_SwHRrq3xoaA`sL7wAb&%V%jlc^J z%K8T9@5cFK*ElrePCDVSJL%mhf9#kY0ETXc5J%>A$O{k`25e*bcOT0=%=qcZ@geg& z*m~$4({m$T?iTn`RM_w#eTD4Hqkoilh4Qfe3in``i}wKe2I&FFSlvp*K9cXBK)x04 z!%@D(#-4iY`p(y*34tmfU5Ad$pj@>l}$Qvsezqg91BTTG-wTN@5oy$hryNU6Hjr$ne1$byaY-6|b WN57SxBh8^m>4!Ejo@7oQWB&svL{nb? literal 0 HcmV?d00001 diff --git a/prebuilt-bl/TARGET_NUCLEO_F411RE/TARGET_BL_SD/mbed_lib.json b/prebuilt-bl/TARGET_NUCLEO_F411RE/TARGET_BL_SD/mbed_lib.json new file mode 100644 index 0000000..3bf0d16 --- /dev/null +++ b/prebuilt-bl/TARGET_NUCLEO_F411RE/TARGET_BL_SD/mbed_lib.json @@ -0,0 +1,31 @@ +{ + "name": "mbed-bootloader-NUCLEO_F411RE-TARGET_BL_SD", + "target_overrides": { + "*": { + "target.macros_add": [ + "MBED_CONF_STORAGE_STORAGE_TYPE=FILESYSTEM", + "MBED_CONF_STORAGE_FILESYSTEM_FILESYSTEM=LITTLE", + "MBED_CONF_STORAGE_FILESYSTEM_BLOCKDEVICE=SD", + "MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_BASE_ADDRESS=0x0", + "MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_SIZE=(1024*1024*64)", + "MBED_CONF_STORAGE_FILESYSTEM_INTERNAL_BASE_ADDRESS=(MBED_ROM_START+32*1024)", + "MBED_CONF_STORAGE_FILESYSTEM_RBP_INTERNAL_SIZE=(32*1024)", + "MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_BASE_ADDRESS=0", + "MBED_CONF_STORAGE_TDB_INTERNAL_INTERNAL_SIZE=0", + "MBED_CLOUD_CLIENT_FOTA_BLOCK_DEVICE_TYPE=FOTA_DEFAULT_MBED_OS_BD", + "MBED_CLOUD_CLIENT_FOTA_STORAGE_START_ADDR=(MBED_CONF_STORAGE_FILESYSTEM_EXTERNAL_SIZE)", + "MBED_CLOUD_CLIENT_FOTA_STORAGE_SIZE=(MBED_ROM_START + MBED_ROM_SIZE - APPLICATION_ADDR)" + ], + "target.bootloader_img": "mbed-bootloader-95fa885.bin", + "target.header_offset" : "0x10000", + "target.app_offset" : "0x10200", + "target.header_format": [ + ["magic", "const", "32le", "0x5c0253a3"], + ["firmwareSize", "size", "32le", ["application"]], + ["firmwareVersion", "const", "64le", "0x0"], + ["firmwareDigest", "digest", "SHA256", "application"], + ["precursorDigest", "digest", "SHA256", "application"] + ] + } + } +} diff --git a/prebuilt-bl/TARGET_NUCLEO_F429ZI/TARGET_BL_INTERNAL_FLASH/mbed-bootloader-95fa885.bin b/prebuilt-bl/TARGET_NUCLEO_F429ZI/TARGET_BL_INTERNAL_FLASH/mbed-bootloader-95fa885.bin new file mode 100644 index 0000000000000000000000000000000000000000..28ea18d1aec24c75e7e1b0a8dbb781d4eee46296 GIT binary patch literal 20896 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 Date: Fri, 8 Oct 2021 07:13:36 +0530 Subject: [PATCH 2/5] Updates mbed-cloud-client lib to latest Signed-off-by: Arpit Goel --- mbed-cloud-client.lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mbed-cloud-client.lib b/mbed-cloud-client.lib index 7663814..7016e5d 100644 --- a/mbed-cloud-client.lib +++ b/mbed-cloud-client.lib @@ -1 +1 @@ -https://github.com/PelionIoT/mbed-cloud-client/#f277bdc5cf8f5dee22063a5d293c03d76a0a8da2 +https://github.com/PelionIoT/mbed-cloud-client/#d7edc529ed3722c811ff401440ef58ea980bf543 From f32d46d43f491a64dca2ef32755b4cbec52c5919 Mon Sep 17 00:00:00 2001 From: Arpit Goel Date: Fri, 8 Oct 2021 07:14:02 +0530 Subject: [PATCH 3/5] Updates mbed-os lib to latest Signed-off-by: Arpit Goel --- mbed-os.lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mbed-os.lib b/mbed-os.lib index 3accc50..68e51ac 100644 --- a/mbed-os.lib +++ b/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#f2278567d09b9ae9f4843e1d9d393526b9462783 +https://github.com/ARMmbed/mbed-os/#3377f083b3a6bd7a1b45ed2cea5cf083b9007527 From ceca80b27c44894d99e663dcfb29f7a51e54a85c Mon Sep 17 00:00:00 2001 From: Arpit Goel Date: Fri, 8 Oct 2021 07:15:40 +0530 Subject: [PATCH 4/5] Updates pelion-e2e-python-test-library lib to latest Signed-off-by: Arpit Goel --- TESTS/pelion-e2e-python-test-library.lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TESTS/pelion-e2e-python-test-library.lib b/TESTS/pelion-e2e-python-test-library.lib index bc33097..0eb95ef 100644 --- a/TESTS/pelion-e2e-python-test-library.lib +++ b/TESTS/pelion-e2e-python-test-library.lib @@ -1 +1 @@ -https://github.com/ARMmbed/pelion-e2e-python-test-library/#b1254f39b5d4fe4a5805642f109bd6d6f27adaaa +https://github.com/ARMmbed/pelion-e2e-python-test-library/#3d6e3abf08fc3db63e345f228adb315cca61162c From 2f75ebac529d3db44ffee3138f103adfe9264edf Mon Sep 17 00:00:00 2001 From: Arpit Goel Date: Fri, 8 Oct 2021 07:16:20 +0530 Subject: [PATCH 5/5] Update README for targets supporting new update client Signed-off-by: Arpit Goel --- README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/README.md b/README.md index f83d14f..3fc8178 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,19 @@ There is a more advanced example of the client with support for multiple operati This table shows a list of boards that are supported. +Following board support's new update client and bootloader + +FOTA Supported Board's | Connectivity | Storage for credentials and FW candidate | Notes +------------------------------------| ------------------| ------------------------| -------------- +NXP `K64F` | Ethernet | Internal Flash | +NXP `K66F` | Ethernet | Internal Flash | +ST `NUCLEO_F411RE` | Wi-Fi ESP8266 | SD card | Build-only +ST `NUCLEO_F429ZI` | Ethernet | Internal Flash | Build-only +ST `DISCO_L475VG_IOT01A` | Wi-Fi | QSPIF | Build-only + +Migration guide for legacy targets previously supporting UC bootloader and now upgraded to support new update client and bootloaders. +Please check section # Migration Guide for Targets supporting new update client implementation and bootloaders (Temporary placeholder for official documentation) + Board | Connectivity | Storage for credentials and FW candidate | Notes ------------------------------------| ------------------| ------------------------| -------------- Cypress `CYTFM_064B0S2_4343W` | Wi-Fi | Internal flash for credentials + external flash for FW candidate | To use `mbed-os-example-pelion` with the `CYTFM_064B0S2_4343W` board, check out the `cytfm-064b0s2-4343w` branch and see [*Running PDMC example on the CYTFM_064B0S2_4343W*](../cytfm-064b0s2-4343w/TARGET_CYTFM_064B0S2_4343W/README.md). @@ -412,3 +425,9 @@ Note platforms will be tested regularly in the Arm CI system. Please discuss wit # Known-issues Please review existing issues on [GitHub](https://github.com/ARMmbed/mbed-os-example-pelion/issues) and report any problem you may see. + +# Migration Guide for Targets supporting new update client implementation and bootloaders (Temporary placeholder for official documentation) + +1. Official documentation is still work in progress. +2. Current new bootloaders are compiled from https://github.com/PelionIoT/mbed-bootloader/tree/nanoclient feature branch which provide both the application and bootloader kvstore and update configurations. +3. The provided prebuild-bl folder contain several examples for new configuration system and will be expanded in future.