Generic Pelion Device Management example for various Nuvoton-based boards.

DEPRECATED

This example application is not maintained and not recommended. It uses an old version of Mbed OS, Pelion DM, and Arm toolchain. It doesn't work with Mbed Studio.

Please use: https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-pelion/

This example is known to work great on the following platforms:

Follow the Quick-Start instructions: https://cloud.mbed.com/quick-start

https://os.mbed.com/media/cache/platforms/NuMaker-IoT-M487_board_front_small.jpg.250x250_q85.jpghttps://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

Example functionality

This example showcases the following device functionality:

  • On timer button increment, simulate Pelion LWM2M button resource change

Use this example with Mbed CLI


1. Import the application into your desktop:

mbed import https://os.mbed.com/teams/Nuvoton/code/pelion-example-common
cd pelion-example-common


2. Install the CLOUD_SDK_API_KEY

mbed config -G CLOUD_SDK_API_KEY <PELION_DM_API_KEY>

For instructions on how to generate your API key, please see the documentation.

3. Initialize firmware credentials (done once per repository). You can use the following command:

mbed dm init -d "<your company name in Pelion DM>" --model-name "<product model identifier>" -q --force

If above command do not work for your Mbed CLI, please consider upgrading Mbed CLI to version 1.8.x or above.

4. Compile and program:

mbed compile -t <toolchain> -m <TARGET_BOARD>

(supported toolchains : GCC_ARM / ARM / IAR)

5. Copy the binary file pelion-example-common.bin to your mbed device.

Note

This platform and application is suitable for evaluation and initial development. For production purposes, we recommend to use a different variant with built-in security features

Committer:
cyliang
Date:
Tue Apr 16 10:53:01 2019 +0800
Revision:
2:f07ccb7164d3
Parent:
0:e0138281f21d
SMCC 2.2.1.2 migration for 3 NuMaker platforms

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Sam Chu 0:e0138281f21d 1 {
Sam Chu 0:e0138281f21d 2 "macros": [
Sam Chu 0:e0138281f21d 3 "MBEDTLS_USER_CONFIG_FILE=\"bootloader_mbedtls_user_config.h\"",
Sam Chu 0:e0138281f21d 4 "SHOW_PROGRESS_BAR=0",
Sam Chu 0:e0138281f21d 5 "MAX_COPY_RETRIES=1",
Sam Chu 0:e0138281f21d 6 "MAX_BOOT_RETRIES=3",
Sam Chu 0:e0138281f21d 7 "ARM_BOOTLOADER_USE_NVSTORE_ROT=1",
Sam Chu 0:e0138281f21d 8 "ARM_UC_USE_PAL_CRYPTO=0",
Sam Chu 0:e0138281f21d 9 "ARM_UC_USE_PAL_BLOCKDEVICE=1",
Sam Chu 0:e0138281f21d 10 "ARM_UC_PAAL_TRACE_ENABLE=0",
Sam Chu 0:e0138281f21d 11 "ARM_UC_PROFILE_MBED_CLOUD_CLIENT=1",
Sam Chu 0:e0138281f21d 12 "ARM_UC_FEATURE_CRYPTO_PAL=0",
Sam Chu 0:e0138281f21d 13 "ARM_UC_FEATURE_CRYPTO_MBEDTLS=1",
Sam Chu 0:e0138281f21d 14 "MBED_CLOUD_CLIENT_UPDATE_STORAGE=ARM_UCP_FLASHIAP_BLOCKDEVICE",
cyliang 2:f07ccb7164d3 15 "DEFAULT_MAX_APPLICATION_SIZE=(MBED_CONF_APP_FLASH_START_ADDRESS + MBED_CONF_APP_FLASH_SIZE - MBED_CONF_APP_APPLICATION_START_ADDRESS - NVSTORE_AREA_1_SIZE - NVSTORE_AREA_2_SIZE)",
Sam Chu 0:e0138281f21d 16 "DISABLE_ERROR_DESCRIPTION=1",
Sam Chu 0:e0138281f21d 17 "Mutex=PlatformMutex"
Sam Chu 0:e0138281f21d 18 ],
Sam Chu 0:e0138281f21d 19 "config": {
Sam Chu 0:e0138281f21d 20 "application-start-address": {
Sam Chu 0:e0138281f21d 21 "help": "Address to the beginning of the active application firmware in flash",
Sam Chu 0:e0138281f21d 22 "value": null
Sam Chu 0:e0138281f21d 23 },
Sam Chu 0:e0138281f21d 24 "application-jump-address": {
Sam Chu 0:e0138281f21d 25 "help": "Jump address for running the active application firmware",
Sam Chu 0:e0138281f21d 26 "value": null
Sam Chu 0:e0138281f21d 27 },
Sam Chu 0:e0138281f21d 28 "max-application-size": {
Sam Chu 0:e0138281f21d 29 "help": "Maximum size of the active application",
Sam Chu 0:e0138281f21d 30 "value": null
Sam Chu 0:e0138281f21d 31 },
Sam Chu 0:e0138281f21d 32 "flash-start-address": {
Sam Chu 0:e0138281f21d 33 "help": "Start address of internal flash. Only used in this config to help the definition of other macros.",
Sam Chu 0:e0138281f21d 34 "value": null
Sam Chu 0:e0138281f21d 35 },
Sam Chu 0:e0138281f21d 36 "flash-size": {
Sam Chu 0:e0138281f21d 37 "help": "Total size of internal flash. Only used in this config to help the definition of other macros.",
Sam Chu 0:e0138281f21d 38 "value": null
Sam Chu 0:e0138281f21d 39 }
Sam Chu 0:e0138281f21d 40 },
Sam Chu 0:e0138281f21d 41 "target_overrides": {
Sam Chu 0:e0138281f21d 42 "*": {
Sam Chu 0:e0138281f21d 43 "target.features_remove" : ["LWIP"],
Sam Chu 0:e0138281f21d 44 "target.features_add" : ["COMMON_PAL"],
cyliang 2:f07ccb7164d3 45 "target.extra_labels_remove" : ["PSA"],
cyliang 2:f07ccb7164d3 46 "target.components_remove" : ["FLASHIAP"],
Sam Chu 0:e0138281f21d 47 "platform.stdio-baud-rate" : 115200,
Sam Chu 0:e0138281f21d 48 "platform.stdio-flush-at-exit" : false,
Sam Chu 0:e0138281f21d 49 "update-client.storage-address" : "(1024*1024*64)",
Sam Chu 0:e0138281f21d 50 "update-client.storage-size" : "(1024*1024*2)",
Sam Chu 0:e0138281f21d 51 "update-client.storage-locations" : 1,
Sam Chu 0:e0138281f21d 52 "update-client.firmware-header-version": "2"
Sam Chu 0:e0138281f21d 53 },
Sam Chu 0:e0138281f21d 54 "NUMAKER_PFM_NUC472": {
Sam Chu 0:e0138281f21d 55 "drivers.uart-serial-rxbuf-size" : 1024,
Sam Chu 0:e0138281f21d 56 "drivers.uart-serial-txbuf-size" : 1024,
Sam Chu 0:e0138281f21d 57 "flash-start-address" : "0x0",
Sam Chu 0:e0138281f21d 58 "flash-size" : "(512*1024)",
Sam Chu 0:e0138281f21d 59 "nvstore.area_1_address" : "(MBED_CONF_APP_FLASH_START_ADDRESS + MBED_CONF_APP_FLASH_SIZE - 2*(4*1024))",
Sam Chu 0:e0138281f21d 60 "nvstore.area_1_size" : "(4*1024)",
Sam Chu 0:e0138281f21d 61 "nvstore.area_2_address" : "(MBED_CONF_APP_FLASH_START_ADDRESS + MBED_CONF_APP_FLASH_SIZE - 1*(4*1024))",
Sam Chu 0:e0138281f21d 62 "nvstore.area_2_size" : "(4*1024)",
cyliang 2:f07ccb7164d3 63 "update-client.storage-address" : "(64*1024*1024)",
cyliang 2:f07ccb7164d3 64 "update-client.storage-size" : "(2*1024*1024)",
cyliang 2:f07ccb7164d3 65 "update-client.storage-locations" : 1,
cyliang 2:f07ccb7164d3 66 "update-client.firmware-header-version": "2",
Sam Chu 0:e0138281f21d 67 "update-client.application-details": "(MBED_CONF_APP_FLASH_START_ADDRESS + 64*1024)",
Sam Chu 0:e0138281f21d 68 "application-start-address" : "(MBED_CONF_APP_FLASH_START_ADDRESS + 65*1024)",
Sam Chu 0:e0138281f21d 69 "max-application-size" : "DEFAULT_MAX_APPLICATION_SIZE"
Sam Chu 0:e0138281f21d 70 },
Sam Chu 0:e0138281f21d 71 "NUMAKER_PFM_M487": {
Sam Chu 0:e0138281f21d 72 "drivers.uart-serial-rxbuf-size" : 1024,
Sam Chu 0:e0138281f21d 73 "drivers.uart-serial-txbuf-size" : 1024,
Sam Chu 0:e0138281f21d 74 "flash-start-address" : "0x0",
Sam Chu 0:e0138281f21d 75 "flash-size" : "(512*1024)",
Sam Chu 0:e0138281f21d 76 "nvstore.area_1_address" : "(MBED_CONF_APP_FLASH_START_ADDRESS + MBED_CONF_APP_FLASH_SIZE - 2*(4*1024))",
Sam Chu 0:e0138281f21d 77 "nvstore.area_1_size" : "(4*1024)",
Sam Chu 0:e0138281f21d 78 "nvstore.area_2_address" : "(MBED_CONF_APP_FLASH_START_ADDRESS + MBED_CONF_APP_FLASH_SIZE - 1*(4*1024))",
Sam Chu 0:e0138281f21d 79 "nvstore.area_2_size" : "(4*1024)",
cyliang 2:f07ccb7164d3 80 "update-client.storage-address" : "(64*1024*1024)",
cyliang 2:f07ccb7164d3 81 "update-client.storage-size" : "(2*1024*1024)",
cyliang 2:f07ccb7164d3 82 "update-client.storage-locations" : 1,
cyliang 2:f07ccb7164d3 83 "update-client.firmware-header-version": "2",
Sam Chu 0:e0138281f21d 84 "update-client.application-details": "(MBED_CONF_APP_FLASH_START_ADDRESS + 64*1024)",
Sam Chu 0:e0138281f21d 85 "application-start-address" : "(MBED_CONF_APP_FLASH_START_ADDRESS + 65*1024)",
Sam Chu 0:e0138281f21d 86 "max-application-size" : "DEFAULT_MAX_APPLICATION_SIZE"
Sam Chu 0:e0138281f21d 87 },
Sam Chu 0:e0138281f21d 88 "NUMAKER_IOT_M487": {
Sam Chu 0:e0138281f21d 89 "drivers.uart-serial-rxbuf-size" : 1024,
Sam Chu 0:e0138281f21d 90 "drivers.uart-serial-txbuf-size" : 1024,
Sam Chu 0:e0138281f21d 91 "flash-start-address" : "0x0",
Sam Chu 0:e0138281f21d 92 "flash-size" : "(512*1024)",
Sam Chu 0:e0138281f21d 93 "nvstore.area_1_address" : "(MBED_CONF_APP_FLASH_START_ADDRESS + MBED_CONF_APP_FLASH_SIZE - 2*(4*1024))",
Sam Chu 0:e0138281f21d 94 "nvstore.area_1_size" : "(4*1024)",
Sam Chu 0:e0138281f21d 95 "nvstore.area_2_address" : "(MBED_CONF_APP_FLASH_START_ADDRESS + MBED_CONF_APP_FLASH_SIZE - 1*(4*1024))",
Sam Chu 0:e0138281f21d 96 "nvstore.area_2_size" : "(4*1024)",
cyliang 2:f07ccb7164d3 97 "update-client.storage-address" : "(64*1024*1024)",
cyliang 2:f07ccb7164d3 98 "update-client.storage-size" : "(2*1024*1024)",
cyliang 2:f07ccb7164d3 99 "update-client.storage-locations" : 1,
cyliang 2:f07ccb7164d3 100 "update-client.firmware-header-version": "2",
Sam Chu 0:e0138281f21d 101 "update-client.application-details": "(MBED_CONF_APP_FLASH_START_ADDRESS + 64*1024)",
Sam Chu 0:e0138281f21d 102 "application-start-address" : "(MBED_CONF_APP_FLASH_START_ADDRESS + 65*1024)",
Sam Chu 0:e0138281f21d 103 "max-application-size" : "DEFAULT_MAX_APPLICATION_SIZE"
Sam Chu 0:e0138281f21d 104 }
Sam Chu 0:e0138281f21d 105 }
Sam Chu 0:e0138281f21d 106 }