Simple Mbed Cloud client application for NuMaker-PFM-M487 and NuMaker-PFM-NUC472 over Ethernet.

This application contains the example codes to:

1) Connect PFM-M487/PFM-NUC472 boards to Pelion

2) Enable Firmware update

For storage, PFM-M487/PFM-NUC472 support both SPI interface SD and built-in SD bus SD.

For connectivity, PFM-M487/PFM-NUC472 support Ethernet (on-board) by default.

This example supports Ethernet and built-in SD by default.

https://os.mbed.com/media/cache/platforms/NuMaker-PFM-M487.png.170x170_q85.png https://os.mbed.com/media/cache/platforms/NuMaker-PFM-NUC472Small.png.170x170_q85.png

Revision:
11:beac893830b4
Parent:
8:ed66653e5a22
Child:
12:21d96c437a2f
--- a/mbed_app.json	Fri Nov 23 11:19:55 2018 +0800
+++ b/mbed_app.json	Fri Nov 23 13:13:13 2018 +0800
@@ -1,59 +1,87 @@
 {
+    "config": {
+        "format-storage-layer-on-error": {
+            "help": "Whether to format the storage layer when it cannot be read - always disable for production devices!",
+            "value": 1
+        },
+        "developer-mode": {
+            "help": "Enable Developer mode to skip Factory enrollment",
+            "value": 1
+        },
+        "main-stack-size": {
+            "value": 6000
+        }
+    },
     "macros": [
-        "MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\"",
-        "PAL_USER_DEFINED_CONFIGURATION=\"sotp_fs_config_MbedOS.h\"",
+        "ARM_UC_USE_PAL_BLOCKDEVICE=1",
+        "MBED_CLOUD_CLIENT_UPDATE_STORAGE=ARM_UCP_FLASHIAP_BLOCKDEVICE",
         "MBED_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config.h\"",
         "MBED_CLOUD_CLIENT_USER_CONFIG_FILE=\"mbed_cloud_client_user_config.h\"",
-        "PAL_DTLS_PEER_MIN_TIMEOUT=5000",
-        "MBED_CONF_APP_MAIN_STACK_SIZE=6000",
-        "ARM_UC_USE_PAL_BLOCKDEVICE=1",
-        "MBED_CLOUD_CLIENT_UPDATE_STORAGE=ARM_UCP_FLASHIAP_BLOCKDEVICE"
+        "PAL_FS_MOUNT_POINT_PRIMARY=\"/fs\""
     ],
     "target_overrides": {
         "*": {
-            "platform.stdio-baud-rate": 115200,
-            "platform.stdio-convert-newlines": true,
-            "update-client.storage-address"  : "(1024*1024*64)",
-            "update-client.storage-size"     : "(1024*1024*2)",
-            "update-client.storage-locations": "1",
-            "mbed-trace.enable": null
+            "target.features_add"               : ["BOOTLOADER"],
+            "platform.stdio-baud-rate"          : 115200,
+            "platform.stdio-convert-newlines"   : true,
+            "platform.stdio-buffered-serial"    : true,
+            "mbed-client.event-loop-size"       : 1024,
+            "nanostack-hal.event_loop_thread_stack_size": 8192,
+            "update-client.storage-address"     : "(1024*1024*64)",
+            "update-client.storage-size"        : "(1024*1024*2)",
+            "update-client.storage-locations"   : 1,
+            "mbed-trace.enable"                 : 0,
+            "nsapi.default-wifi-security"       : "WPA_WPA2",
+            "nsapi.default-wifi-ssid"           : "\"SSID\"",
+            "nsapi.default-wifi-password"       : "\"Password\""
+        },
+        "STM_EMAC": {
+            "target.components_add"             : ["SD"],
+            "lwip.pbuf-pool-size"               : 16,
+            "lwip.mem-size"                     : 12500,
+            "client_app.pal_number_of_partition": 1,
+            "client_app.partition_mode"         : 1,
+            "client_app.auto_partition"         : 1
         },
         "K64F": {
-            "target.features_add"              : ["BOOTLOADER"],
-            "sotp-section-1-address"           : "(32*1024)",
-            "sotp-section-1-size"              : "(4*1024)",
-            "sotp-section-2-address"           : "(36*1024)",
-            "sotp-section-2-size"              : "(4*1024)",
-            "sotp-num-sections"                : 2,
-            "update-client.application-details": "(40*1024)"
+            "target.components_add"                 : ["SD"],
+            "target.network-default-interface-type" : "ETHERNET",
+            "update-client.bootloader-details"      : "0x00007188",
+            "update-client.application-details"     : "(40*1024)",
+            "client_app.sotp-section-1-address"     : "(32*1024)",
+            "client_app.sotp-section-1-size"        : "( 4*1024)",
+            "client_app.sotp-section-2-address"     : "(36*1024)",
+            "client_app.sotp-section-2-size"        : "( 4*1024)"
         },
         "K66F": {
-            "target.features_add"              : ["BOOTLOADER"],
-            "sotp-section-1-address"           : "(32*1024)",
-            "sotp-section-1-size"              : "(4*1024)",
-            "sotp-section-2-address"           : "(36*1024)",
-            "sotp-section-2-size"              : "(4*1024)",
-            "sotp-num-sections"                : 2,
-            "update-client.application-details": "(40*1024)"
+            "target.components_add"                 : ["SD"],
+            "target.network-default-interface-type" : "ETHERNET",
+            "update-client.bootloader-details"      : "0x00007188",
+            "update-client.application-details"     : "(40*1024)",
+            "client_app.sotp-section-1-address"     : "(32*1024)",
+            "client_app.sotp-section-1-size"        : "( 4*1024)",
+            "client_app.sotp-section-2-address"     : "(36*1024)",
+            "client_app.sotp-section-2-size"        : "( 4*1024)"
         },
         "NUCLEO_F429ZI": {
-            "target.features_add"  : ["STORAGE", "BOOTLOADER"],
-            "target.app_offset": "0x10400",
-            "target.header_offset": "0x10000",
-            "target.bootloader_img": "bootloader/mbed-bootloader-F429ZI.bin",
-            "target.components_add": ["SD"],
-            "sd.SPI_MOSI"  : "PE_6",
-            "sd.SPI_MISO"  : "PE_5",
-            "sd.SPI_CLK"   : "PE_2",
-            "sd.SPI_CS"    : "PE_4",
+            "target.components_add"                 : ["SD"],
+            "target.network-default-interface-type" : "ETHERNET",
+            "target.app_offset"                     : "0x10400",
+            "target.header_offset"                  : "0x10000",
+            "target.bootloader_img"                 : "bootloader/mbed-bootloader-F429ZI.bin",
+            "target.components_add"                 : ["SD"],
+            "update-client.bootloader-details"      : "0x080078CC",
+            "sd.SPI_MOSI"                           : "PE_6",
+            "sd.SPI_MISO"                           : "PE_5",
+            "sd.SPI_CLK"                            : "PE_2",
+            "sd.SPI_CS"                             : "PE_4",
             "update-client.application-details"     : "(0x08000000+64*1024)",
-            "app.sotp-section-1-address": "(0x081C0000)",
-            "app.sotp-section-1-size"   : "(128*1024)",
-            "app.sotp-section-2-address": "(0x081E0000)",
-            "app.sotp-section-2-size"   : "(128*1024)"
+            "client_app.sotp-section-1-address"     : "(0x081C0000)",
+            "client_app.sotp-section-1-size"        : "(128*1024)",
+            "client_app.sotp-section-2-address"     : "(0x081E0000)",
+            "client_app.sotp-section-2-size"        : "(128*1024)"
         },
         "NUMAKER_PFM_NUC472": {
-            "target.features_add"                   : ["BOOTLOADER"],
             "target.components_add"                 : ["NUSD"],
             "target.network-default-interface-type" : "ETHERNET",
             "update-client.bootloader-details"      : "0x0",
@@ -62,11 +90,10 @@
             "drivers.uart-serial-rxbuf-size"        : 1024,
             "drivers.uart-serial-txbuf-size"        : 1024,
 
-            "sotp-section-1-address"                : "0x11000",
-            "sotp-section-1-size"                   : "0x1000",
-            "sotp-section-2-address"                : "0x12000",
-            "sotp-section-2-size"                   : "0x1000",
-            "sotp-num-sections"                     : 2,
+            "client_app.sotp-section-1-address"     : "0x11000",
+            "client_app.sotp-section-1-size"        : "0x1000",
+            "client_app.sotp-section-2-address"     : "0x12000",
+            "client_app.sotp-section-2-size"        : "0x1000",
 
             "update-client.storage-address"         : "(1024*1024*480)",
             "update-client.storage-size"            : "(1024*1024*2)",
@@ -76,7 +103,6 @@
             ]
         },
         "NUMAKER_PFM_M487": {
-            "target.features_add"                   : ["BOOTLOADER"],
             "target.components_add"                 : ["NUSD"],
             "target.network-default-interface-type" : "ETHERNET",
             "update-client.bootloader-details"      : "0x0",
@@ -85,11 +111,10 @@
             "drivers.uart-serial-rxbuf-size"        : 1024,
             "drivers.uart-serial-txbuf-size"        : 1024,
 
-            "sotp-section-1-address"                : "0x11000",
-            "sotp-section-1-size"                   : "0x1000",
-            "sotp-section-2-address"                : "0x12000",
-            "sotp-section-2-size"                   : "0x1000",
-            "sotp-num-sections"                     : 2,
+            "client_app.sotp-section-1-address"     : "0x11000",
+            "client_app.sotp-section-1-size"        : "0x1000",
+            "client_app.sotp-section-2-address"     : "0x12000",
+            "client_app.sotp-section-2-size"        : "0x1000",
 
             "update-client.storage-address"         : "(1024*1024*480)",
             "update-client.storage-size"            : "(1024*1024*2)",
@@ -98,40 +123,5 @@
                 "ESP8266_AT_SEL=ESP8266_AT_EXTERN"
             ]
         }
-    },
-    "config": {
-        "format-storage-layer-on-error": {
-            "help": "Whether to format the storage layer when it cannot be read - always disable for production devices!",
-            "value": 1
-        },
-        "developer-mode": {
-            "help": "Enable Developer mode to skip Factory enrollment",
-            "value": 1
-        },
-        "sotp-section-1-address": {
-            "help": "Flash sector address for SOTP sector 1",
-            "macro_name": "PAL_INTERNAL_FLASH_SECTION_1_ADDRESS",
-            "value": null
-        },
-        "sotp-section-1-size": {
-            "help": "Flash sector size for SOTP sector 1",
-            "macro_name": "PAL_INTERNAL_FLASH_SECTION_1_SIZE",
-            "value": null
-        },
-        "sotp-section-2-address": {
-            "help": "Flash sector address for SOTP sector 2",
-            "macro_name": "PAL_INTERNAL_FLASH_SECTION_2_ADDRESS",
-            "value": null
-        },
-        "sotp-section-2-size": {
-            "help": "Flash sector size for SOTP sector 2",
-            "macro_name": "PAL_INTERNAL_FLASH_SECTION_2_SIZE",
-            "value": null
-        },
-        "sotp-num-sections": {
-            "help": "Number of SOTP sections",
-            "macro_name": "PAL_INT_FLASH_NUM_SECTIONS",
-            "value": null
-        }
     }
 }