From ec868ecf32959ce57b480e8e906fdfc64b51f162 Mon Sep 17 00:00:00 2001 From: Jani Suonpera Date: Tue, 11 Sep 2018 12:31:18 +0300 Subject: [PATCH] mbed-cloud-client-example 1.5.0 --- CHANGELOG.md | 16 +++-- CMakeLists.txt | 1 + README.md | 2 +- configs/eth_v4.json | 5 ++ configs/mesh_6lowpan.json | 1 + configs/mesh_thread.json | 1 + easy-connect.lib | 2 +- main.cpp | 56 +++++++++++------- mbed-cloud-client.lib | 2 +- mbed-os.lib | 2 +- mbed_app.json | 5 ++ mbed_lib.json | 6 ++ ...n_setup_general.c => app_platform_setup.c} | 47 +++++++++++---- source/application_init.cpp | 34 ++++++++--- source/blinky.cpp | 7 ++- source/blinky.h | 8 ++- source/include/app_platform_setup.h | 44 ++++++++++++++ ..._and_led.c => mcc_common_button_and_led.c} | 4 +- .../{common_setup.c => mcc_common_setup.c} | 6 +- ..._and_led.h => mcc_common_button_and_led.h} | 6 +- .../{common_config.h => mcc_common_config.h} | 12 +--- .../{common_setup.h => mcc_common_setup.h} | 16 +---- ..._led.cpp => mcc_common_button_and_led.cpp} | 4 +- ...{common_setup.cpp => mcc_common_setup.cpp} | 10 ++-- source/platform/pal_plat_rot_insecure.c | 5 +- source/resource.cpp | 14 ++--- source/resource.h | 5 +- source/simplem2mclient.h | 6 +- storage-selector.lib | 2 +- tools/combine_bootloader_with_app.py | 3 + ...otloader-k64f-block_device-sotp-v3_3_0.bin | Bin 30368 -> 0 bytes ...otloader-k64f-block_device-sotp-v3_4_0.bin | Bin 0 -> 30300 bytes ...otloader-k66f-block_device-sotp-v3_4_0.bin | Bin 0 -> 31036 bytes ...411re-block_device-sotp-v3_3_0_2f113f3.bin | Bin 32636 -> 0 bytes ...nucleo_f411re-block_device-sotp-v3_4_0.bin | Bin 0 -> 30004 bytes ...nucleo_f429zi-block_device-sotp-v3_3_0.bin | Bin 32216 -> 0 bytes ...nucleo_f429zi-block_device-sotp-v3_4_0.bin | Bin 0 -> 32020 bytes ...x_evk_odin_w2-block_device-sotp-v3_3_0.bin | Bin 30728 -> 0 bytes ...x_evk_odin_w2-block_device-sotp-v3_4_0.bin | Bin 0 -> 31100 bytes update_default_resources.c | 4 +- update_ui_example.cpp | 4 -- update_ui_example.h | 4 -- 42 files changed, 232 insertions(+), 112 deletions(-) rename source/{platform/common_setup_general.c => app_platform_setup.c} (66%) create mode 100644 source/include/app_platform_setup.h rename source/platform/Linux/{common_button_and_led.c => mcc_common_button_and_led.c} (96%) rename source/platform/Linux/{common_setup.c => mcc_common_setup.c} (97%) rename source/platform/include/{common_button_and_led.h => mcc_common_button_and_led.h} (90%) rename source/platform/include/{common_config.h => mcc_common_config.h} (70%) rename source/platform/include/{common_setup.h => mcc_common_setup.h} (82%) rename source/platform/mbed-os/{common_button_and_led.cpp => mcc_common_button_and_led.cpp} (96%) rename source/platform/mbed-os/{common_setup.cpp => mcc_common_setup.cpp} (98%) delete mode 100644 tools/mbed-bootloader-k64f-block_device-sotp-v3_3_0.bin create mode 100644 tools/mbed-bootloader-k64f-block_device-sotp-v3_4_0.bin create mode 100644 tools/mbed-bootloader-k66f-block_device-sotp-v3_4_0.bin delete mode 100755 tools/mbed-bootloader-nucleo_f411re-block_device-sotp-v3_3_0_2f113f3.bin create mode 100644 tools/mbed-bootloader-nucleo_f411re-block_device-sotp-v3_4_0.bin delete mode 100644 tools/mbed-bootloader-nucleo_f429zi-block_device-sotp-v3_3_0.bin create mode 100644 tools/mbed-bootloader-nucleo_f429zi-block_device-sotp-v3_4_0.bin delete mode 100644 tools/mbed-bootloader-ublox_evk_odin_w2-block_device-sotp-v3_3_0.bin create mode 100644 tools/mbed-bootloader-ublox_evk_odin_w2-block_device-sotp-v3_4_0.bin diff --git a/CHANGELOG.md b/CHANGELOG.md index 4940d24..a602967 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,13 @@ -# Changelog for Mbed Cloud Client Reference Example +# Changelog for Pelion Device Management Client Reference Example + +## Release 1.5.0 (11.09.2018) +* Added a hardcoded RoT injection when application is configured to use developer mode. This preserves the Device Management Client credentials even when SOTP is erased (for example due to reflashing of the application binary). +* Updated to Mbed OS 5.9.6. +* Updated easy-connect to v1.2.16. +* Updated the storage selector with compiler warning fixes in the internal libraries. +* Replaced the notification delivery status functionality with a more generic message delivery status callback. +* Added an example on using the delayed response for execute operations. +* Added configurations for the K66F target board. ## Release 1.4.0 (13.07.2018) * Increased application main stack-size to 5120 to fix Stack overflow with ARMCC compiled binaries when tracing is enabled. @@ -6,10 +15,9 @@ * Updated to Mbed OS 5.9.2. * Updated easy-connect to v1.2.12. * Updated storage-selector with support for SPI flash frequency, and Nucleo F411RE board. -* Moved mbed_trace() init as first step in application init to allow printing any early debug-information from PAL-layer when debug tracing is enabled. +* Moved the initialization of `mbed_trace()` as the first step in the application initialization. This allows the printing of any early debug information from the PAL layer when debug tracing is enabled. * Added support for Nucleo F411RE board with Wifi-X-Nucleo shield. -* Increased the Mbed Cloud Client event loop thread stack size to 8192 bytes from default value of 6144. This fixes stack overflows in some cases - where crypto operations result in deep callstacks. +* Increased the event loop thread stack size to 8192 bytes from a default value of 6144. This fixes stack overflows in some cases where crypto operations result in deep callstacks. ## Release 1.3.3 (08.06.2018) * Updated to Mbed OS 5.8.5. diff --git a/CMakeLists.txt b/CMakeLists.txt index aba1131..df9b77c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,7 @@ endif() # mbed-cloud-client-example include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/source) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/source/include) # This is needed for compiling and linking SW. add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/source/platform") diff --git a/README.md b/README.md index fbffd78..8a4867b 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -The full documentation for this example is [available on our documentation site](https://cloud.mbed.com/docs/current/connecting/mbed-cloud-client-tutorials.html) +The full documentation for this example is [available on our documentation site](https://cloud.mbed.com/docs/current/connecting/device-management-client-tutorials.html) diff --git a/configs/eth_v4.json b/configs/eth_v4.json index ea70a78..e691095 100644 --- a/configs/eth_v4.json +++ b/configs/eth_v4.json @@ -24,6 +24,11 @@ "update-client.bootloader-details" : "0x00007188", "update-client.application-details": "(40*1024)" }, + "K66F": { + "target.mbed_app_start" : "0x0000a400", + "update-client.bootloader-details" : "0x00007188", + "update-client.application-details": "(40*1024)" + }, "NUCLEO_F429ZI": { "target.mbed_app_start" : "0x08010400", "update-client.bootloader-details" : "0x080078CC", diff --git a/configs/mesh_6lowpan.json b/configs/mesh_6lowpan.json index 80ec260..ac18bfe 100644 --- a/configs/mesh_6lowpan.json +++ b/configs/mesh_6lowpan.json @@ -17,6 +17,7 @@ "mbed-client.event-loop-size": 32768, "mbed-client.reconnection-count": 6, "mbed-client.dns-use-thread": 1, + "mbed-client-pal.pal-dns-api-version": 2, "mbed-client.sn-coap-blockwise-max-time-data-stored": 120, "mbed-trace.enable": null, "storage-selector.filesystem" : "FAT", diff --git a/configs/mesh_thread.json b/configs/mesh_thread.json index 6e7840b..f052603 100644 --- a/configs/mesh_thread.json +++ b/configs/mesh_thread.json @@ -18,6 +18,7 @@ "mbed-client.event-loop-size": 32768, "mbed-client.reconnection-count": 6, "mbed-client.dns-use-thread": 1, + "mbed-client-pal.pal-dns-api-version": 2, "mbed-client.sn-coap-blockwise-max-time-data-stored": 120, "mbed-trace.enable": null, "storage-selector.filesystem" : "FAT", diff --git a/easy-connect.lib b/easy-connect.lib index 69e52d6..8129987 100644 --- a/easy-connect.lib +++ b/easy-connect.lib @@ -1 +1 @@ -https://github.com/ARMmbed/easy-connect/#aaf89690919fc378799e680119a58a222402799f +https://github.com/ARMmbed/easy-connect/#bf48f5b649eba3ed7b810c77c630b5eb51301311 diff --git a/main.cpp b/main.cpp index 504bd56..1095be0 100644 --- a/main.cpp +++ b/main.cpp @@ -21,7 +21,7 @@ #include "mbed.h" #endif #include "application_init.h" -#include "common_button_and_led.h" +#include "mcc_common_button_and_led.h" #include "blinky.h" // event based LED blinker, controlled via pattern_resource @@ -37,6 +37,7 @@ int main(void) // Pointers to the resources that will be created in main_application(). static M2MResource* button_res; static M2MResource* pattern_res; +static M2MResource* blink_res; // Pointer to mbedClient, used for calling close function. static SimpleM2MClient *client; @@ -46,6 +47,14 @@ void pattern_updated(const char *) printf("PUT received, new value: %s\n", pattern_res->get_value_string().c_str()); } +void blinky_completed(void) +{ + printf("Blinky completed \n"); + + // Send response to backend + blink_res->send_delayed_post_response(); +} + void blink_callback(void *) { String pattern_string = pattern_res->get_value_string(); @@ -55,34 +64,39 @@ void blink_callback(void *) // The pattern is something like 500:200:500, so parse that. // LED blinking is done while parsing. const bool restart_pattern = false; - if (blinky.start((char*)pattern_res->value(), pattern_res->value_length(), restart_pattern) == false) { + if (blinky.start((char*)pattern_res->value(), pattern_res->value_length(), restart_pattern, blinky_completed) == false) { printf("out of memory error\n"); } } -void button_notification_status_callback(const M2MBase& object, const NoticationDeliveryStatus status) +void button_status_callback(const M2MBase& object, + const M2MBase::MessageDeliveryStatus status, + const M2MBase::MessageType /*type*/) { switch(status) { - case NOTIFICATION_STATUS_BUILD_ERROR: - printf("Notification callback: (%s) error when building CoAP message\n", object.uri_path()); + case M2MBase::MESSAGE_STATUS_BUILD_ERROR: + printf("Message status callback: (%s) error when building CoAP message\n", object.uri_path()); + break; + case M2MBase::MESSAGE_STATUS_RESEND_QUEUE_FULL: + printf("Message status callback: (%s) CoAP resend queue full\n", object.uri_path()); break; - case NOTIFICATION_STATUS_RESEND_QUEUE_FULL: - printf("Notification callback: (%s) CoAP resend queue full\n", object.uri_path()); + case M2MBase::MESSAGE_STATUS_SENT: + printf("Message status callback: (%s) Message sent to server\n", object.uri_path()); break; - case NOTIFICATION_STATUS_SENT: - printf("Notification callback: (%s) Notification sent to server\n", object.uri_path()); + case M2MBase::MESSAGE_STATUS_DELIVERED: + printf("Message status callback: (%s) Message delivered\n", object.uri_path()); break; - case NOTIFICATION_STATUS_DELIVERED: - printf("Notification callback: (%s) Notification delivered\n", object.uri_path()); + case M2MBase::MESSAGE_STATUS_SEND_FAILED: + printf("Message status callback: (%s) Message sending failed\n", object.uri_path()); break; - case NOTIFICATION_STATUS_SEND_FAILED: - printf("Notification callback: (%s) Notification sending failed\n", object.uri_path()); + case M2MBase::MESSAGE_STATUS_SUBSCRIBED: + printf("Message status callback: (%s) subscribed\n", object.uri_path()); break; - case NOTIFICATION_STATUS_SUBSCRIBED: - printf("Notification callback: (%s) subscribed\n", object.uri_path()); + case M2MBase::MESSAGE_STATUS_UNSUBSCRIBED: + printf("Message status callback: (%s) subscription removed\n", object.uri_path()); break; - case NOTIFICATION_STATUS_UNSUBSCRIBED: - printf("Notification callback: (%s) subscription removed\n", object.uri_path()); + case M2MBase::MESSAGE_STATUS_REJECTED: + printf("Message status callback: (%s) server has rejected the message\n", object.uri_path()); break; default: break; @@ -171,15 +185,17 @@ void main_application(void) // Create resource for button count. Path of this resource will be: 3200/0/5501. button_res = mbedClient.add_cloud_resource(3200, 0, 5501, "button_resource", M2MResourceInstance::INTEGER, - M2MBase::GET_ALLOWED, 0, true, NULL, (void*)button_notification_status_callback); + M2MBase::GET_ALLOWED, 0, true, NULL, (void*)button_status_callback); // Create resource for led blinking pattern. Path of this resource will be: 3201/0/5853. pattern_res = mbedClient.add_cloud_resource(3201, 0, 5853, "pattern_resource", M2MResourceInstance::STRING, M2MBase::GET_PUT_ALLOWED, "500:500:500:500", false, (void*)pattern_updated, NULL); // Create resource for starting the led blinking. Path of this resource will be: 3201/0/5850. - mbedClient.add_cloud_resource(3201, 0, 5850, "blink_resource", M2MResourceInstance::STRING, - M2MBase::POST_ALLOWED, "", false, (void*)blink_callback, NULL); + blink_res = mbedClient.add_cloud_resource(3201, 0, 5850, "blink_resource", M2MResourceInstance::STRING, + M2MBase::POST_ALLOWED, "", false, (void*)blink_callback, (void*)button_status_callback); + // Use delayed response + blink_res->set_delayed_response(true); // Create resource for unregistering the device. Path of this resource will be: 5000/0/1. mbedClient.add_cloud_resource(5000, 0, 1, "unregister", M2MResourceInstance::STRING, diff --git a/mbed-cloud-client.lib b/mbed-cloud-client.lib index 9ea6d31..41091ee 100644 --- a/mbed-cloud-client.lib +++ b/mbed-cloud-client.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-cloud-client/#9b0bc6a2f3f1f5dbb5be1827db83004d531b99c9 +https://github.com/ARMmbed/mbed-cloud-client/#13e0cef7f9508c10d50f3beb049eafea2af6f17b diff --git a/mbed-os.lib b/mbed-os.lib index 77acfe7..6092335 100644 --- a/mbed-os.lib +++ b/mbed-os.lib @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#62f8b922b420626514fd4690107aff4188469833 +https://github.com/ARMmbed/mbed-os/#0fdfcf7350896a9c0b57c4a18237677abfe25f1a diff --git a/mbed_app.json b/mbed_app.json index 0a8a343..d51f4cf 100644 --- a/mbed_app.json +++ b/mbed_app.json @@ -24,6 +24,11 @@ "update-client.bootloader-details" : "0x00007188", "update-client.application-details": "(40*1024)" }, + "K66F": { + "target.mbed_app_start" : "0x0000a400", + "update-client.bootloader-details" : "0x00007188", + "update-client.application-details": "(40*1024)" + }, "NUCLEO_F429ZI": { "target.mbed_app_start" : "0x08010400", "update-client.bootloader-details" : "0x080078CC", diff --git a/mbed_lib.json b/mbed_lib.json index 4817e99..1552915 100644 --- a/mbed_lib.json +++ b/mbed_lib.json @@ -65,6 +65,12 @@ "sotp-section-2-address" : "(36*1024)", "sotp-section-2-size" : "( 4*1024)" }, + "K66F": { + "sotp-section-1-address" : "(32*1024)", + "sotp-section-1-size" : "( 4*1024)", + "sotp-section-2-address" : "(36*1024)", + "sotp-section-2-size" : "( 4*1024)" + }, "NUCLEO_F411RE": { "sotp-section-1-address" : "(0x08000000+32*1024)", "sotp-section-1-size" : "(16*1024)", diff --git a/source/platform/common_setup_general.c b/source/app_platform_setup.c similarity index 66% rename from source/platform/common_setup_general.c rename to source/app_platform_setup.c index f1cad45..1e4c29c 100644 --- a/source/platform/common_setup_general.c +++ b/source/app_platform_setup.c @@ -14,21 +14,23 @@ * limitations under the License. */ -#include "common_setup.h" -#include "common_config.h" +#include +#include "app_platform_setup.h" +#include "mcc_common_setup.h" +#include "mcc_common_config.h" #include "factory_configurator_client.h" -#include #if MBED_CONF_APP_DEVELOPER_MODE == 1 #ifdef PAL_USER_DEFINED_CONFIGURATION #include PAL_USER_DEFINED_CONFIGURATION #endif #endif // #if MBED_CONF_APP_DEVELOPER_MODE == 1 - // Include this only for Developer mode and device which doesn't have in-built TRNG support #if MBED_CONF_APP_DEVELOPER_MODE == 1 #ifdef PAL_USER_DEFINED_CONFIGURATION +#define FCC_ROT_SIZE 16 +const uint8_t MBED_CLOUD_DEV_ROT[FCC_ROT_SIZE] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16 }; #if !PAL_USE_HW_TRNG #define FCC_ENTROPY_SIZE 48 const uint8_t MBED_CLOUD_DEV_ENTROPY[FCC_ENTROPY_SIZE] = { 0xf6, 0xd6, 0xc0, 0x09, 0x9e, 0x6e, 0xf2, 0x37, 0xdc, 0x29, 0x88, 0xf1, 0x57, 0x32, 0x7d, 0xde, 0xac, 0xb3, 0x99, 0x8c, 0xb9, 0x11, 0x35, 0x18, 0xeb, 0x48, 0x29, 0x03, 0x6a, 0x94, 0x6d, 0xe8, 0x40, 0xc0, 0x28, 0xcc, 0xe4, 0x04, 0xc3, 0x1f, 0x4b, 0xc2, 0xe0, 0x68, 0xa0, 0x93, 0xe6, 0x3a }; @@ -62,14 +64,26 @@ int mcc_platform_reset_storage(void) int mcc_platform_fcc_init(void) { int status = fcc_init(); - if (status != FCC_STATUS_SUCCESS && status != FCC_STATUS_ENTROPY_ERROR) { + // Ignore pre-existing RoT/Entropy in SOTP + if (status != FCC_STATUS_SUCCESS && status != FCC_STATUS_ENTROPY_ERROR && status != FCC_STATUS_ROT_ERROR) { printf("fcc_init failed with status %d! - exit\n", status); return status; } -#if RESET_STORAGE - status = mcc_platform_reset_storage(); -#endif -// Include this only for Developer mode and device which doesn't have in-built TRNG support + status = mcc_platform_sotp_init(); + if (status != FCC_STATUS_SUCCESS) { + printf("fcc_init failed with status %d! - exit\n", status); + mcc_platform_fcc_finalize(); + } else { + // We can return SUCCESS here as preexisting RoT/Entropy is expected flow. + status = FCC_STATUS_SUCCESS; + } + return status; +} + +int mcc_platform_sotp_init(void) +{ + int status = FCC_STATUS_SUCCESS; +// Include this only for Developer mode and a device which doesn't have in-built TRNG support. #if MBED_CONF_APP_DEVELOPER_MODE == 1 #ifdef PAL_USER_DEFINED_CONFIGURATION #if !PAL_USE_HW_TRNG @@ -79,8 +93,21 @@ int mcc_platform_fcc_init(void) printf("fcc_entropy_set failed with status %d! - exit\n", status); mcc_platform_fcc_finalize(); return status; - } + } #endif // PAL_USE_HW_TRNG = 0 +/* Include this only for Developer mode. The application will use fixed RoT to simplify user-experience with the application. + * With this change the application be reflashed/SOTP can be erased safely without invalidating the application credentials. + */ + status = fcc_rot_set(MBED_CLOUD_DEV_ROT, FCC_ROT_SIZE); + + if (status != FCC_STATUS_SUCCESS && status != FCC_STATUS_ROT_ERROR) { + printf("fcc_rot_set failed with status %d! - exit\n", status); + mcc_platform_fcc_finalize(); + } else { + // We can return SUCCESS here as preexisting RoT/Entropy is expected flow. + printf("Using hardcoded Root of Trust, not suitable for production use.\n"); + status = FCC_STATUS_SUCCESS; + } #endif // PAL_USER_DEFINED_CONFIGURATION #endif // #if MBED_CONF_APP_DEVELOPER_MODE == 1 return status; diff --git a/source/application_init.cpp b/source/application_init.cpp index 314e615..c95ec13 100644 --- a/source/application_init.cpp +++ b/source/application_init.cpp @@ -20,8 +20,9 @@ #include "mbed-trace/mbed_trace.h" #include "mbed-trace-helper.h" #include "factory_configurator_client.h" -#include "common_setup.h" -#include "common_button_and_led.h" +#include "app_platform_setup.h" +#include "mcc_common_setup.h" +#include "mcc_common_button_and_led.h" #if defined (MBED_HEAP_STATS_ENABLED) || (MBED_STACK_STATS_ENABLED) #include "memory_tests.h" #endif @@ -165,10 +166,10 @@ static bool application_init_verify_cloud_configuration() int status; #if MBED_CONF_APP_DEVELOPER_MODE == 1 - printf("Start developer flow\n"); + printf("Starting developer flow\n"); status = fcc_developer_flow(); if (status == FCC_STATUS_KCM_FILE_EXIST_ERROR) { - printf("Developer credentials already exists\n"); + printf("Developer credentials already exist, continuing..\n"); } else if (status != FCC_STATUS_SUCCESS) { printf("Failed to load developer credentials\n"); } @@ -186,11 +187,24 @@ static bool application_init_fcc(void) #ifdef MBED_STACK_STATS_ENABLED print_stack_statistics(); #endif - int status = mcc_platform_fcc_init(); - if(status != FCC_STATUS_SUCCESS && status != FCC_STATUS_ENTROPY_ERROR) { - printf("fcc_init failed with status %d! - exit\n", status); + int status = mcc_platform_fcc_init(); + if(status != FCC_STATUS_SUCCESS) { + printf("application_init_fcc fcc_init failed with status %d! - exit\n", status); return 1; } +#if RESET_STORAGE + status = mcc_platform_reset_storage(); + if(status != FCC_STATUS_SUCCESS) { + printf("application_init_fcc reset_storage failed with status %d! - exit\n", status); + return 1; + } + // Reinitialize SOTP + status = mcc_platform_sotp_init(); + if (status != FCC_STATUS_SUCCESS) { + printf("application_init_fcc sotp_init failed with status %d! - exit\n", status); + return 1; + } +#endif status = application_init_verify_cloud_configuration(); if (status != 0) { @@ -198,6 +212,7 @@ static bool application_init_fcc(void) // primary storage if no valid certificates exist. // This should never be used for any kind of production devices. #ifndef MBED_CONF_APP_MCC_NO_AUTO_FORMAT + printf("Certificate validation failed, trying autorecovery...\n"); if (mcc_platform_reformat_storage() != 0) { return 1; } @@ -205,6 +220,10 @@ static bool application_init_fcc(void) if (status != FCC_STATUS_SUCCESS) { return 1; } + status = mcc_platform_sotp_init(); + if (status != FCC_STATUS_SUCCESS) { + return 1; + } status = application_init_verify_cloud_configuration(); if (status != 0) { return 1; @@ -213,7 +232,6 @@ static bool application_init_fcc(void) return 1; #endif } - return 0; } diff --git a/source/blinky.cpp b/source/blinky.cpp index 344733a..1eceea6 100644 --- a/source/blinky.cpp +++ b/source/blinky.cpp @@ -22,7 +22,7 @@ #include "nanostack-event-loop/eventOS_event_timer.h" #include "mbed-trace/mbed_trace.h" -#include "common_button_and_led.h" +#include "mcc_common_button_and_led.h" #include #include @@ -59,10 +59,10 @@ Blinky::~Blinky() stop(); } -bool Blinky::start(const char* pattern, size_t length, bool pattern_restart) +bool Blinky::start(const char* pattern, size_t length, bool pattern_restart, blinky_completed_cb cb) { assert(pattern); - + _callback = cb; _restart = pattern_restart; if (_tasklet < 0) { @@ -129,6 +129,7 @@ bool Blinky::run_step() // tr_debug("patt: %s, curr: %s, delay: %d", _pattern, _curr_pattern, delay); if (delay < 0) { + _callback(); _state = STATE_IDLE; return false; } diff --git a/source/blinky.h b/source/blinky.h index acbbcc2..3438d10 100644 --- a/source/blinky.h +++ b/source/blinky.h @@ -20,7 +20,7 @@ #define __BLINKY_H__ #include "nanostack-event-loop/eventOS_event.h" - +#include "m2mresource.h" #include class Blinky @@ -30,12 +30,14 @@ class Blinky STATE_STARTED, } BlinkyState; + typedef void(*blinky_completed_cb) (void); + public: Blinky(); ~Blinky(); - bool start(const char* pattern, size_t length, bool pattern_restart); + bool start(const char* pattern, size_t length, bool pattern_restart, blinky_completed_cb cb); void stop(); @@ -58,5 +60,7 @@ class Blinky static int8_t _tasklet; + blinky_completed_cb _callback; + }; #endif /* __BLINKY_H__ */ diff --git a/source/include/app_platform_setup.h b/source/include/app_platform_setup.h new file mode 100644 index 0000000..985529c --- /dev/null +++ b/source/include/app_platform_setup.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2015-2018 ARM Limited. All rights reserved. + * 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 APP_PLATFORM_SETUP_H +#define APP_PLATFORM_SETUP_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +// Erases client credentials and SOTP storage, will also reformat +// the external storage for Mbed OS if initial erase fail. +int mcc_platform_reset_storage(void); + +// Initialize common details for fcc. +int mcc_platform_fcc_init(void); + +// For developer-mode only, (re)initializes the RoT and for non-TRNG boards +// also the entropy. +int mcc_platform_sotp_init(void); + +// Reverse the resource allocations done by mcc_platform_fcc_init(). +void mcc_platform_fcc_finalize(void); + +#ifdef __cplusplus +} +#endif + +#endif // #ifndef APP_PLATFORM_SETUP_H diff --git a/source/platform/Linux/common_button_and_led.c b/source/platform/Linux/mcc_common_button_and_led.c similarity index 96% rename from source/platform/Linux/common_button_and_led.c rename to source/platform/Linux/mcc_common_button_and_led.c index ddd98f1..3662917 100644 --- a/source/platform/Linux/common_button_and_led.c +++ b/source/platform/Linux/mcc_common_button_and_led.c @@ -18,8 +18,8 @@ // INCLUDES /////////// -#include "common_config.h" -#include "common_button_and_led.h" +#include "mcc_common_config.h" +#include "mcc_common_button_and_led.h" #include #include diff --git a/source/platform/Linux/common_setup.c b/source/platform/Linux/mcc_common_setup.c similarity index 97% rename from source/platform/Linux/common_setup.c rename to source/platform/Linux/mcc_common_setup.c index a916659..e1168d1 100644 --- a/source/platform/Linux/common_setup.c +++ b/source/platform/Linux/mcc_common_setup.c @@ -24,11 +24,11 @@ #include #include -#include "common_setup.h" -#include "common_config.h" +#include "mcc_common_setup.h" +#include "mcc_common_config.h" #include "pal.h" -#include "common_button_and_led.h" +#include "mcc_common_button_and_led.h" //////////////////////////////////////// // PLATFORM SPECIFIC DEFINES & FUNCTIONS diff --git a/source/platform/include/common_button_and_led.h b/source/platform/include/mcc_common_button_and_led.h similarity index 90% rename from source/platform/include/common_button_and_led.h rename to source/platform/include/mcc_common_button_and_led.h index 40523ad..aaf450c 100644 --- a/source/platform/include/common_button_and_led.h +++ b/source/platform/include/mcc_common_button_and_led.h @@ -18,8 +18,8 @@ // INCLUDES /////////// -#ifndef COMMON_BUTTON_AND_LED_H -#define COMMON_BUTTON_AND_LED_H +#ifndef MCC_COMMON_BUTTON_AND_LED_H +#define MCC_COMMON_BUTTON_AND_LED_H #include @@ -41,4 +41,4 @@ uint8_t mcc_platform_init_button_and_led(void); #ifdef __cplusplus } #endif -#endif // COMMON_BUTTON_AND_LED_H +#endif // MCC_COMMON_BUTTON_AND_LED_H diff --git a/source/platform/include/common_config.h b/source/platform/include/mcc_common_config.h similarity index 70% rename from source/platform/include/common_config.h rename to source/platform/include/mcc_common_config.h index 9834105..f552fd9 100644 --- a/source/platform/include/common_config.h +++ b/source/platform/include/mcc_common_config.h @@ -14,8 +14,8 @@ * limitations under the License. */ -#ifndef COMMON_CONFIG_H -#define COMMON_CONFIG_H +#ifndef MCC_COMMON_CONFIG_H +#define MCC_COMMON_CONFIG_H /* #define PLATFORM_ENABLE_BUTTON 1 for enabling button.*/ #ifndef PLATFORM_ENABLE_BUTTON @@ -27,11 +27,5 @@ #define PLATFORM_ENABLE_LED 0 #endif -// Resets storage to an empty state. -// Use this function when you want to clear storage from all the factory-tool generated data and user data. -// After this operation device must be injected again by using factory tool or developer certificate. -#ifndef RESET_STORAGE -#define RESET_STORAGE 0 -#endif -#endif /* COMMON_CONFIG_H */ +#endif /* MCC_COMMON_CONFIG_H */ diff --git a/source/platform/include/common_setup.h b/source/platform/include/mcc_common_setup.h similarity index 82% rename from source/platform/include/common_setup.h rename to source/platform/include/mcc_common_setup.h index ab50172..5fad04e 100644 --- a/source/platform/include/common_setup.h +++ b/source/platform/include/mcc_common_setup.h @@ -14,8 +14,8 @@ * limitations under the License. */ -#ifndef COMMON_SETUP_H -#define COMMON_SETUP_H +#ifndef MCC_COMMON_SETUP_H +#define MCC_COMMON_SETUP_H #include @@ -44,20 +44,10 @@ void *mcc_platform_get_network_interface(void); // Format storage int mcc_platform_reformat_storage(void); -// Reset storage -int mcc_platform_reset_storage(void); - // initialize common details for storage for storing KCM data etc. // creates default folders, reformat. int mcc_platform_storage_init(void); -// initialize common details for fcc. -// reset storage to default if required. -int mcc_platform_fcc_init(void); - -// reverse the resource allocations done by mcc_platform_fcc_init() -void mcc_platform_fcc_finalize(void); - // Wait void mcc_platform_do_wait(int timeout_ms); @@ -74,4 +64,4 @@ int mcc_platform_run_program(main_t mainFunc); } #endif -#endif // #ifndef COMMON_SETUP_H +#endif // #ifndef MCC_COMMON_SETUP_H diff --git a/source/platform/mbed-os/common_button_and_led.cpp b/source/platform/mbed-os/mcc_common_button_and_led.cpp similarity index 96% rename from source/platform/mbed-os/common_button_and_led.cpp rename to source/platform/mbed-os/mcc_common_button_and_led.cpp index 75fd1de..624bbb1 100644 --- a/source/platform/mbed-os/common_button_and_led.cpp +++ b/source/platform/mbed-os/mcc_common_button_and_led.cpp @@ -19,8 +19,8 @@ /////////// #include "mbed.h" -#include "common_config.h" -#include "common_button_and_led.h" +#include "mcc_common_config.h" +#include "mcc_common_button_and_led.h" #include #if PLATFORM_ENABLE_BUTTON diff --git a/source/platform/mbed-os/common_setup.cpp b/source/platform/mbed-os/mcc_common_setup.cpp similarity index 98% rename from source/platform/mbed-os/common_setup.cpp rename to source/platform/mbed-os/mcc_common_setup.cpp index fee49ba..6f38f32 100644 --- a/source/platform/mbed-os/common_setup.cpp +++ b/source/platform/mbed-os/mcc_common_setup.cpp @@ -25,8 +25,8 @@ #endif #include "mbed.h" -#include "common_setup.h" -#include "common_config.h" +#include "mcc_common_setup.h" +#include "mcc_common_config.h" // This is for single or dual partition mode. This is supposed to be used with storage for data e.g. SD card. // Enable by 1/disable by 0 @@ -73,7 +73,7 @@ #endif #ifndef SECONDARY_PARTITION_START -#define SECONDARY_PARTITION_START PRIMARY_PARTITION_SIZE +#define SECONDARY_PARTITION_START PRIMARY_PARTITION_SIZE #endif #ifndef SECONDARY_PARTITION_SIZE @@ -239,6 +239,7 @@ static int mcc_platform_init_and_mount_partition(FileSystem **fs, BlockDevice** } status = (**part).init(); if (status != 0) { + (**part).deinit(); printf("Init of partition %d fail !!!\n", number_of_partition); return status; } @@ -249,6 +250,7 @@ static int mcc_platform_init_and_mount_partition(FileSystem **fs, BlockDevice** else { status = (**part).init(); if (status != 0) { + (**part).deinit(); printf("Init of partition %d fail !!!\n", number_of_partition); return status; } @@ -427,7 +429,7 @@ int mcc_platform_run_program(main_t mainFunc) void mcc_platform_sw_build_info(void) { printf("Application ready. Build at: " __DATE__ " " __TIME__ "\n"); - + // The Mbed OS' master branch does not define the version numbers at all, so we need // some ifdeffery to keep compilations running. #if defined(MBED_MAJOR_VERSION) && defined(MBED_MINOR_VERSION) && defined(MBED_PATCH_VERSION) diff --git a/source/platform/pal_plat_rot_insecure.c b/source/platform/pal_plat_rot_insecure.c index cb4aff5..68a2fe5 100644 --- a/source/platform/pal_plat_rot_insecure.c +++ b/source/platform/pal_plat_rot_insecure.c @@ -15,6 +15,9 @@ */ #include "pal.h" +#include "mbed-trace/mbed_trace.h" + +#define TRACE_GROUP "ROT" #define PAL_DEVICE_KEY_SIZE_IN_BYTES 16 @@ -29,7 +32,7 @@ palStatus_t pal_plat_osGetRoTFromHW(uint8_t *keyBuf, size_t keyLenBytes) static bool runOnce = true; if (runOnce) { - PAL_LOG(WARN, "You are using insecure Root Of Trust implementation"); + tr_warn("You are using insecure Root Of Trust implementation"); runOnce = false; } diff --git a/source/resource.cpp b/source/resource.cpp index dfe98ed..38a50bc 100644 --- a/source/resource.cpp +++ b/source/resource.cpp @@ -25,7 +25,7 @@ M2MResource* add_resource(M2MObjectList *list, uint16_t object_id, uint16_t instance_id, uint16_t resource_id, const char *resource_type, M2MResourceInstance::ResourceType data_type, M2MBase::Operation allowed, const char *value, bool observable, void *cb, - void *notification_status_cb) + void *message_status_cb) { M2MObject *object = NULL; M2MObjectInstance* object_instance = NULL; @@ -65,12 +65,12 @@ M2MResource* add_resource(M2MObjectList *list, uint16_t object_id, uint16_t inst } //Set allowed operations for accessing the resource. resource->set_operation(allowed); - if (observable) { - resource->set_notification_delivery_status_cb( - (void(*)(const M2MBase&, - const NoticationDeliveryStatus, - void*))notification_status_cb, NULL); - } + + resource->set_message_delivery_status_cb( + (void(*)(const M2MBase&, + const M2MBase::MessageDeliveryStatus, + const M2MBase::MessageType, + void*))message_status_cb, NULL); //Set callback of PUT or POST operation is enabled. //NOTE: This function does not support setting them both. diff --git a/source/resource.h b/source/resource.h index 9b8eded..4aad8c1 100644 --- a/source/resource.h +++ b/source/resource.h @@ -47,8 +47,7 @@ * NOTE: This function is not designed to support setting both * GET_PUT_ALLOWED and POST_ALLOWED for parameter allowed * at the same time. - * \param notification_status_cb Function pointer to notification_delivery_status_cb - * if resource is set to be observable. + * \param message_status_cb Function pointer to message_status_cb */ M2MResource* add_resource(M2MObjectList *list, uint16_t object_id, @@ -60,6 +59,6 @@ M2MResource* add_resource(M2MObjectList *list, const char *value, bool observable, void *cb, - void *notification_status_cb); + void *message_status_cb); #endif //RESOURCE_H diff --git a/source/simplem2mclient.h b/source/simplem2mclient.h index adaf6b6..c555ea5 100644 --- a/source/simplem2mclient.h +++ b/source/simplem2mclient.h @@ -22,7 +22,7 @@ #include #include "mbed-cloud-client/MbedCloudClient.h" #include "m2mdevice.h" -#include "common_setup.h" +#include "mcc_common_setup.h" #include "m2mresource.h" #include "mbed-client/m2minterface.h" #include "key_config_manager.h" @@ -254,9 +254,9 @@ class SimpleM2MClient { uint16_t resource_id, const char *resource_type, M2MResourceInstance::ResourceType data_type, M2MBase::Operation allowed, const char *value, - bool observable, void *cb, void *notification_status_cb) { + bool observable, void *cb, void *message_status_cb) { return add_resource(&_obj_list, object_id, instance_id, resource_id, resource_type, data_type, - allowed, value, observable, cb, notification_status_cb); + allowed, value, observable, cb, message_status_cb); } private: diff --git a/storage-selector.lib b/storage-selector.lib index bebdd5e..9d8f2af 100644 --- a/storage-selector.lib +++ b/storage-selector.lib @@ -1 +1 @@ -https://github.com/ARMmbed/storage-selector/#fb27e04db0a9fba9153f324639643f0ecb6da097 +https://github.com/ARMmbed/storage-selector/#c44b6715bd0a00bb050b2a7a7ce3160111cd149d diff --git a/tools/combine_bootloader_with_app.py b/tools/combine_bootloader_with_app.py index 9957959..eb6bef0 100755 --- a/tools/combine_bootloader_with_app.py +++ b/tools/combine_bootloader_with_app.py @@ -193,6 +193,9 @@ def addr_arg(s): 'k64f': { 'mem_start': '0x0' }, + 'k66f': { + 'mem_start': '0x0' + }, 'ublox_evk_odin_w2': { 'mem_start': '0x08000000' }, diff --git a/tools/mbed-bootloader-k64f-block_device-sotp-v3_3_0.bin b/tools/mbed-bootloader-k64f-block_device-sotp-v3_3_0.bin deleted file mode 100644 index 0516984c3da71ea3d968f2bfa8892d69c813a4b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30368 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 diff --git a/tools/mbed-bootloader-k64f-block_device-sotp-v3_4_0.bin b/tools/mbed-bootloader-k64f-block_device-sotp-v3_4_0.bin new file mode 100644 index 0000000000000000000000000000000000000000..cd96853cf0959c17b5cea77aa9b33b6bc899c8f7 GIT binary patch literal 30300 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 Y;XhS;sKxRy7f=Scrx??L>>G3c0|t9&>;M1& literal 0 HcmV?d00001 diff --git a/tools/mbed-bootloader-k66f-block_device-sotp-v3_4_0.bin b/tools/mbed-bootloader-k66f-block_device-sotp-v3_4_0.bin new file mode 100644 index 0000000000000000000000000000000000000000..099cc8f0b2c5a8513ffd3e6ac55ad21157cfd11e GIT binary patch literal 31036 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 literal 0 HcmV?d00001 diff --git a/tools/mbed-bootloader-nucleo_f411re-block_device-sotp-v3_3_0_2f113f3.bin b/tools/mbed-bootloader-nucleo_f411re-block_device-sotp-v3_3_0_2f113f3.bin deleted file mode 100755 index 345cfb8f72e0b762148a5adb79c1c5e9b6311699..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32636 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

mkF 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 diff --git a/tools/mbed-bootloader-nucleo_f411re-block_device-sotp-v3_4_0.bin b/tools/mbed-bootloader-nucleo_f411re-block_device-sotp-v3_4_0.bin new file mode 100644 index 0000000000000000000000000000000000000000..529583c914e28a29a572cba79c9906594d1cc2b5 GIT binary patch literal 30004 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 diff --git a/tools/mbed-bootloader-ublox_evk_odin_w2-block_device-sotp-v3_4_0.bin b/tools/mbed-bootloader-ublox_evk_odin_w2-block_device-sotp-v3_4_0.bin new file mode 100644 index 0000000000000000000000000000000000000000..50768780121ee342427c8714660126813c48a350 GIT binary patch literal 31100 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 literal 0 HcmV?d00001 diff --git a/update_default_resources.c b/update_default_resources.c index c037eb2..ddb6fa1 100644 --- a/update_default_resources.c +++ b/update_default_resources.c @@ -23,10 +23,10 @@ #include #ifdef MBED_CLOUD_DEV_UPDATE_ID -const uint8_t arm_uc_vendor_id[16] = { "dev_manufacturer" }; +const uint8_t arm_uc_vendor_id[] = { "dev_manufacturer" }; const uint16_t arm_uc_vendor_id_size = sizeof(arm_uc_vendor_id); -const uint8_t arm_uc_class_id[16] = { "dev_model_number" }; +const uint8_t arm_uc_class_id[] = { "dev_model_number" }; const uint16_t arm_uc_class_id_size = sizeof(arm_uc_class_id); #endif diff --git a/update_ui_example.cpp b/update_ui_example.cpp index 76284a0..d03d3ed 100644 --- a/update_ui_example.cpp +++ b/update_ui_example.cpp @@ -25,8 +25,6 @@ static MbedCloudClient* _client; -#ifdef ARM_UPDATE_CLIENT_VERSION_VALUE -#if ARM_UPDATE_CLIENT_VERSION_VALUE > 101000 void update_ui_set_cloud_client(MbedCloudClient* client) { _client = client; @@ -69,8 +67,6 @@ void update_authorize(int32_t request) break; } } -#endif -#endif void update_progress(uint32_t progress, uint32_t total) { diff --git a/update_ui_example.h b/update_ui_example.h index d0e2768..0aeed8e 100644 --- a/update_ui_example.h +++ b/update_ui_example.h @@ -23,15 +23,11 @@ #ifdef MBED_CLOUD_CLIENT_SUPPORT_UPDATE -#ifdef ARM_UPDATE_CLIENT_VERSION_VALUE -#if ARM_UPDATE_CLIENT_VERSION_VALUE > 101000 /** * @brief Function for authorizing firmware downloads and reboots. * @param request The request under consideration. */ void update_authorize(int32_t request); -#endif -#endif /** * @brief Callback function for reporting the firmware download progress.