NuMaker Pelion Device Management example

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

Committer:
ccli8
Date:
Fri Nov 22 11:16:39 2019 +0800
Revision:
4:e564fd8be648
Update to mbed-os 5.14.2 and related modifications

1. Provide custom entropy source on targets without real TRNG
The targets below don't have real TRNG and cannot annouce TRNG support. A custom entropy source with EADC seeded PRNG is given to remedy it:
- NUMAKER_PFM_NUC47
- NUMAKER_PFM_M487
- NUMAKER_IOT_M487
2. Override mbed_main() for simulating provision process

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ccli8 4:e564fd8be648 1 /*
ccli8 4:e564fd8be648 2 * Copyright (c) 2019 Nuvoton Technology Corporation
ccli8 4:e564fd8be648 3 *
ccli8 4:e564fd8be648 4 * SPDX-License-Identifier: Apache-2.0
ccli8 4:e564fd8be648 5 *
ccli8 4:e564fd8be648 6 * Licensed under the Apache License, Version 2.0 (the "License");
ccli8 4:e564fd8be648 7 * you may not use this file except in compliance with the License.
ccli8 4:e564fd8be648 8 * You may obtain a copy of the License at
ccli8 4:e564fd8be648 9 *
ccli8 4:e564fd8be648 10 * http://www.apache.org/licenses/LICENSE-2.0
ccli8 4:e564fd8be648 11 *
ccli8 4:e564fd8be648 12 * Unless required by applicable law or agreed to in writing, software
ccli8 4:e564fd8be648 13 * distributed under the License is distributed on an "AS IS" BASIS,
ccli8 4:e564fd8be648 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ccli8 4:e564fd8be648 15 * See the License for the specific language governing permissions and
ccli8 4:e564fd8be648 16 * limitations under the License.
ccli8 4:e564fd8be648 17 */
ccli8 4:e564fd8be648 18
ccli8 4:e564fd8be648 19 #include "mbed.h"
ccli8 4:e564fd8be648 20
ccli8 4:e564fd8be648 21 /* Run pre-main tasks via mbed_main()
ccli8 4:e564fd8be648 22 *
ccli8 4:e564fd8be648 23 * In Mbed OS boot sequence, mbed_main(), designed for user application override, is run
ccli8 4:e564fd8be648 24 * before main(). We use it to run the following tasks:
ccli8 4:e564fd8be648 25 *
ccli8 4:e564fd8be648 26 * 1. Simulate provision process for development
ccli8 4:e564fd8be648 27 * 2. Set up event queue for dispatching host command
ccli8 4:e564fd8be648 28 *
ccli8 4:e564fd8be648 29 * WARNING: For mass production, remove this file.
ccli8 4:e564fd8be648 30 */
ccli8 4:e564fd8be648 31
ccli8 4:e564fd8be648 32 /* Check weak reference/definition at the link:
ccli8 4:e564fd8be648 33 * http://www.keil.com/support/man/docs/ARMLINK/armlink_pge1362065917715.htm */
ccli8 4:e564fd8be648 34
ccli8 4:e564fd8be648 35 extern "C" {
ccli8 4:e564fd8be648 36 MBED_USED void mbed_main(void);
ccli8 4:e564fd8be648 37 MBED_WEAK void provision(void);
ccli8 4:e564fd8be648 38 MBED_WEAK void pump_host_command(void);
ccli8 4:e564fd8be648 39 }
ccli8 4:e564fd8be648 40
ccli8 4:e564fd8be648 41 void mbed_main(void)
ccli8 4:e564fd8be648 42 {
ccli8 4:e564fd8be648 43 provision();
ccli8 4:e564fd8be648 44 /* Spare memory if event queue is unnecessary */
ccli8 4:e564fd8be648 45 if (pump_host_command) {
ccli8 4:e564fd8be648 46 mbed_event_queue()->call_every(2000, pump_host_command);
ccli8 4:e564fd8be648 47 }
ccli8 4:e564fd8be648 48 }