Skip to content

Instantly share code, notes, and snippets.

@toyowata
Last active June 24, 2020 04:24
Show Gist options
  • Save toyowata/57985ba4a669ad967710dc4ddc0c0315 to your computer and use it in GitHub Desktop.
Save toyowata/57985ba4a669ad967710dc4ddc0c0315 to your computer and use it in GitHub Desktop.

How to setup LPC55S69-EVK for Pelion Device Management example

Install Mbed-CLI and Mbed Studio

https://os.mbed.com/docs/mbed-os/v5.13/tools/installation-and-setup.html
https://os.mbed.com/docs/mbed-studio/0.5/introduction/index.html

Update DAPLink firmware

https://os.mbed.com/teams/NXP/wiki/Updating-LPCXpresso-firmware
https://github.com/ARMmbed/DAPLink/releases/tag/v0254

$ mbed detect
[mbed] Auto-installing missing Python modules...

[mbed] Detected LPC55S69, port COM47, mounted F:, interface version 0254:
[mbed] Supported toolchains for LPC55S69
| Target      | mbed OS 2 | mbed OS 5 | uARM |    IAR    |    ARM    |  GCC_ARM  | ARMC5 |
|-------------|-----------|-----------|------|-----------|-----------|-----------|-------|
| LPC55S69_NS |     -     | Supported |  -   | Supported | Supported | Supported |   -   |
Supported targets: 1
Supported toolchains: 3

Build PDMC example for LPC55S69_NS

$ pip install -U mbed-cloud-sdk mbed-cli manifest-tool
$ git clone -b 3.3.0 https://github.com/ARMmbed/mbed-cloud-client-example/
$ cd mbed-cloud-client-example
$ mbed deploy
$ mbed config -G CLOUD_SDK_API_KEY <PELION_DM_API_KEY>
$ mbed dm init -d "arm.com" --model-name "test" -q --force
$ cp .\configs-psa\wifi_esp8266_v4.json .

  • Pin connection for the micro SD card slot
Micro SD card slot LPC55S69
DO D12
GND GND
SCK D13
VCC +3V3
DI D11
CS D10
$ mbed compile -m LPC55S69_NS -t arm --profile release --app-config .\wifi_esp8266_v4.json
$ cp  .\BUILD\LPC55S69_NS\ARM-RELEASE\mbed-cloud-client-example.hex f:

Versions

mbed-cloud-client-example (#8362bf4960dc, tag: 3.3.0)
|- drivers\wifi-x-nucleo-idw01m1 (#a00282000178, tag: v1.2.0)
|- mbed-cloud-client (#1a16ef2bad7d, tag: 3.3.0)
`- mbed-os (#7482462434d5, tags: latest, mbed-os-5.13.0)

Log output

[BOOT] Mbed Bootloader
[BOOT] ARM: 00000000000000000000
[BOOT] OEM: 00000000000000000000
[BOOT] Layout: 0 3700C
[BOOT] Active firmware integrity check:
[BOOT] [++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++]
[BOOT] SHA256: 1BDD73FE5C1341650F8783FFDF388AE1B2FC5AE5ED33F2B32B177AE369FD7977
[BOOT] Version: 1562120607
[ERR ] Couldn't find valid DeviceKey - err: -2130771705
[BOOT] Slot 0 is empty
[BOOT] Active firmware up-to-date
[BOOT] Application's start address: 0x38400
[BOOT] Application's jump address: 0x38819
[BOOT] Application's stack address: 0x20044000
[BOOT] Forwarding to applicApplication ready. Build at: Jul  3 2019 10:54:04
Mbed OS version 5.13.0
mcc_platform_init_connection()
Connecting with interface: WiFi
NSAPI_STATUS_CONNECTING
NSAPI_STATUS_GLOBAL_UP
IP: 192.168.0.10
Network initialized, registering...
Start Device Management Client
Using hardcoded Root of Trust, not suitable for production use.
Starting developer flow
Client registered
Endpoint Name: 016bb60e687200000000000100100XXX
Device Id: 016bb60e687200000000000100100XXX
Message status callback: (3201/0/5853) subscribed
Message status callback: (3200/0/5501) subscribed
Message status callback: (3200/0/5501) Message sent to server
Button resource updated. Value 1
Message status callback: (3200/0/5501) Message delivered
Message status callback: (3200/0/5501) Message sent to server
Button resource updated. Value 2
Message status callback: (3200/0/5501) Message delivered
Message status callback: (3200/0/5501) Message sent to server
Button resource updated. Value 3

Firmware update

# Modify your main.cpp file
$ mbed compile -m LPC55S69_NS -t arm --profile release --app-config .\wifi_esp8266_v4.json
$ mbed dm update device -D <device_id> -m LPC55S69_NS -t arm --profile release

Troubleshooting

Hangs to jump application from bootloader

Copy erase.act file to the LPC55S69 drive to erase flash memory.

I got "APPLICATION_ADDR undeclared" errors

The application configuration files contain relative paths to the bootloader files. You need copy config file to the application root.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment