NuMaker Pelion Device Management example

Fork of mbed-os-example-pelion by cc li

Committer:
ccli8
Date:
Wed Oct 09 14:19:44 2019 +0800
Revision:
0:f78ec4a22e67
Child:
3:bda8852d7723
Support Nuvoton targets

Based on mbed-os-pelion-example master/mbed-bootloader 4.1.0/mbed-cloud-client 4.0.0,
support Nuvoton targets:
1. Support Nuvoton targets:
- NUMAKER_PFM_NUC472
- NUMAKER_PFM_M487
- NUMAKER_IOT_M487 V1.3
Compared to V1.2, V1.3 adds support for ESP8266 RTS/CTS/RST pins. V1.3 is incompatible with V1.2 on ESP8266.
- NUMAKER_IOT_M263A
2. Change storage to NUSD (SD card in SDIO bus mode) from SD (SD card SPI bus mode)
(1) Add COMPONENT_NUSD.lib.
(2) Add component NUSD (target.components_add).
(3) Change default BlockDevice to NUSD:
Override BlockDevice::get_default_instance (nusd.provide-default-blockdevice).
Required since mbed-cloud-client 2.1.0 (arm_uc_blockdevice_ext) or in:
mbed-bootloader/modules/storage/pal-blockdevice/source/arm_uc_pal_blockdevice_mbed.cpp
(4) Enable kvstore with blockdevice type being "other".
i) Override get_other_blockdevice() (nusd.provide-kvstore-other-blockdevice).
ii) Configure storage type to "FILESYSTEM".
iii)Configure file system type to "LITTLE".
vi) Configure block device type to "other".
v) Configure external size to 64MiB, which cannot overlap with update-client.
storage-address/update-client.storage-size.
3. Change back UARTSerial tx/rx buffer size from 1024/1024 to 256/256. This can reduce
memory footprint by (1024 - 256) * 2 = 1.5KiB. Because this configuration influences
both ESP8266 and default console (platfrom/mbed_retarget.cpp), memory reduction can
achieve 1.5KiB x 2 = 3KiB.
4. Enlarge ESP8266 'send tcp data' timeout on Nuvoton targets
Pelion connection has some failure rate with this. Enlarging ESP8266_SEND_TIMEOUT
can just relieve the issue. A ticket has raised to address it:
https://github.com/ARMmbed/mbed-os/issues/11544
5. Requirements for mbed-os version:
- mbed-os 5.13.0 (or afterwards) to support kvstore with block device type being "other"
- mbed-os 5.13.1 (or afterwards) to fix 'undefined pal_plat_osEntropyInject(...)' error
- mbed-os 5.14.0 (or afterwards) to support NUMAKER_IOT_M263A

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ccli8 0:f78ec4a22e67 1 # Use Python/Perl regexp
ccli8 0:f78ec4a22e67 2 syntax: regexp
ccli8 0:f78ec4a22e67 3
ccli8 0:f78ec4a22e67 4 ^\.mbed$
ccli8 0:f78ec4a22e67 5 \.build/
ccli8 0:f78ec4a22e67 6 BUILD/
ccli8 0:f78ec4a22e67 7 mbed-os/
ccli8 0:f78ec4a22e67 8 mbed-cloud-client/