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:
7:6aee86899520
Parent:
3:9e8abf07add2
Child:
8:ed66653e5a22
diff -r 0066491e0fe0 -r 6aee86899520 mbed_app.json
--- a/mbed_app.json	Wed Oct 03 10:22:39 2018 +0800
+++ b/mbed_app.json	Mon Oct 08 16:42:08 2018 +0800
@@ -1,90 +1,140 @@
-{
-    "macros": [
-        "MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\"",
-        "PAL_USER_DEFINED_CONFIGURATION=\"sotp_fs_config_MbedOS.h\"",
-        "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=5000",
-        "ARM_UC_USE_PAL_BLOCKDEVICE=1",
-        "PAL_INT_FLASH_NUM_SECTIONS=2",
-        "MBED_CLOUD_CLIENT_UPDATE_STORAGE=ARM_UCP_FLASHIAP_BLOCKDEVICE"
-    ],
-    "target_overrides": {
-        "*": {
-            "platform.stdio-baud-rate": 115200,
-            "platform.stdio-convert-newlines": true,
-            "mbed-client.event-loop-size": 1024,
-            "mbed-trace.enable": null,
-            "update-client.storage-address"  : "(1024*1024*64)",
-            "update-client.storage-size"     : "(1024*1024*2)",
-            "update-client.storage-locations": "1"
-        },
-        "NUMAKER_PFM_NUC472": {
-            "update-client.storage-address"     : "(1024*1024*800)",
-            "update-client.storage-size"        : "(1024*1024*2)",
-            "drivers.uart-serial-rxbuf-size"    : 1024,
-
-            "target.macros_add": [
-                "PAL_INT_FLASH_NUM_SECTIONS=2"
-            ],
-            "sotp-section-1-address"     : "0x7E000",
-            "sotp-section-1-size"        : "0x1000",
-            "sotp-section-2-address"     : "0x7F000",
-            "sotp-section-2-size"        : "0x1000",
-            "sd.SPI_MOSI": "PF_0",
-            "sd.SPI_MISO": "PD_15",
-            "sd.SPI_CLK":  "PD_14",
-            "sd.SPI_CS":   "PD_13"
-        },
-        "NUMAKER_PFM_M487": {
-
-            "update-client.storage-address"     : "(1024*1024*800)",
-            "update-client.storage-size"        : "(1024*1024*2)",
-            "drivers.uart-serial-rxbuf-size"    : 1024,
-
-            "target.macros_add": [
-                "PAL_INT_FLASH_NUM_SECTIONS=2"
-            ],
-            
-            "sotp-section-1-address"     : "0x7E000",
-            "sotp-section-1-size"        : "0x1000",
-            "sotp-section-2-address"     : "0x7F000",
-            "sotp-section-2-size"        : "0x1000",
-            "sd.SPI_MOSI": "D11",
-            "sd.SPI_MISO": "D12",
-            "sd.SPI_CLK":  "D13",
-            "sd.SPI_CS":   "D10"            
-        }
-    },
-    "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
-        }
-    }
-}
+{
+    "macros": [
+        "MBEDTLS_USER_CONFIG_FILE=\"mbedTLSConfig_mbedOS.h\"",
+        "PAL_USER_DEFINED_CONFIGURATION=\"sotp_fs_config_MbedOS.h\"",
+        "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"
+    ],
+    "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,
+            "nsapi.default-wifi-security"       : "WPA_WPA2",
+            "nsapi.default-wifi-ssid"           : "\"SSID\"",
+            "nsapi.default-wifi-password"       : "\"Password\""
+        },
+        "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)"
+        },
+        "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)"
+        },
+        "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",
+            "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)"
+        },
+        "NUMAKER_PFM_NUC472": {
+            "target.features_add"                   : ["BOOTLOADER"],
+            "target.components_add"                 : ["NUSD"],
+            "target.network-default-interface-type" : "ETHERNET",
+            "update-client.bootloader-details"      : "0x0",
+            "update-client.application-details"     : "0x13000",
+
+            "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,
+
+            "update-client.storage-address"         : "(1024*1024*480)",
+            "update-client.storage-size"            : "(1024*1024*2)",
+
+            "target.macros_add": [
+                "ESP8266_AT_SEL=ESP8266_AT_EXTERN"
+            ]
+        },
+        "NUMAKER_PFM_M487": {
+            "target.features_add"                   : ["BOOTLOADER"],
+            "target.components_add"                 : ["NUSD"],
+            "target.network-default-interface-type" : "ETHERNET",
+            "update-client.bootloader-details"      : "0x0",
+            "update-client.application-details"     : "0x13000",
+
+            "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,
+
+            "update-client.storage-address"         : "(1024*1024*480)",
+            "update-client.storage-size"            : "(1024*1024*2)",
+
+            "target.macros_add": [
+                "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
+        }
+    }
+}