Nuvoton / Mbed OS NuMaker-mbed-cloud-example-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

Committer:
cyliang
Date:
Fri Jul 06 04:15:24 2018 +0000
Revision:
0:83caa8fa1d2c
Support cloud client v1.3.3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cyliang 0:83caa8fa1d2c 1 if(NOT YOTTA_TARGET)
cyliang 0:83caa8fa1d2c 2 INCLUDE(CMakeForceCompiler)
cyliang 0:83caa8fa1d2c 3 # CROSS COMPILER SETTING
cyliang 0:83caa8fa1d2c 4 cmake_minimum_required (VERSION 2.8)
cyliang 0:83caa8fa1d2c 5 SET(CMAKE_SYSTEM_NAME Generic)
cyliang 0:83caa8fa1d2c 6
cyliang 0:83caa8fa1d2c 7 project(mbedPal)
cyliang 0:83caa8fa1d2c 8
cyliang 0:83caa8fa1d2c 9
cyliang 0:83caa8fa1d2c 10 macro(SET_COMPILER_DBG_RLZ_FLAG flag value)
cyliang 0:83caa8fa1d2c 11 SET(${flag}_DEBUG "${${flag}_DEBUG} ${value}")
cyliang 0:83caa8fa1d2c 12 SET(${flag}_RELEASE "${${flag}_RELEASE} ${value}")
cyliang 0:83caa8fa1d2c 13 #enable this if for debugging
cyliang 0:83caa8fa1d2c 14 if (0)
cyliang 0:83caa8fa1d2c 15 message("flag = ${flag}")
cyliang 0:83caa8fa1d2c 16 message("value = ${value}")
cyliang 0:83caa8fa1d2c 17 message("MY_C_FLAGS_RELEASE2 = ${CMAKE_C_FLAGS_RELEASE}")
cyliang 0:83caa8fa1d2c 18 endif(0) # comment end
cyliang 0:83caa8fa1d2c 19 endmacro(SET_COMPILER_DBG_RLZ_FLAG)
cyliang 0:83caa8fa1d2c 20
cyliang 0:83caa8fa1d2c 21 if(DISALLOW_WARNINGS)
cyliang 0:83caa8fa1d2c 22 if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
cyliang 0:83caa8fa1d2c 23 SET_COMPILER_DBG_RLZ_FLAG (CMAKE_C_FLAGS "-Werror")
cyliang 0:83caa8fa1d2c 24 SET_COMPILER_DBG_RLZ_FLAG (CMAKE_CXX_FLAGS "-Werror")
cyliang 0:83caa8fa1d2c 25 endif()
cyliang 0:83caa8fa1d2c 26 endif()
cyliang 0:83caa8fa1d2c 27
cyliang 0:83caa8fa1d2c 28 SET (PAL_VERSION ${PAL_VERSION_MAJOR}.${PAL_VERSION_MINOR}.${PAL_VERSION_PATCH})
cyliang 0:83caa8fa1d2c 29
cyliang 0:83caa8fa1d2c 30 # configure a header file generator .in to pass some of the CMake settings
cyliang 0:83caa8fa1d2c 31 # to the source code
cyliang 0:83caa8fa1d2c 32 configure_file (
cyliang 0:83caa8fa1d2c 33 "${PROJECT_SOURCE_DIR}/pal_version.h.in"
cyliang 0:83caa8fa1d2c 34 "${PROJECT_BINARY_DIR}/pal_version.h"
cyliang 0:83caa8fa1d2c 35 )
cyliang 0:83caa8fa1d2c 36
cyliang 0:83caa8fa1d2c 37 if ((${OS_BRAND} MATCHES "Linux"))
cyliang 0:83caa8fa1d2c 38 add_definitions(-DPAL_LINUX)
cyliang 0:83caa8fa1d2c 39 endif()
cyliang 0:83caa8fa1d2c 40
cyliang 0:83caa8fa1d2c 41 MACRO(HEADER_DIRECTORIES return_list)
cyliang 0:83caa8fa1d2c 42 FILE(GLOB_RECURSE new_list ${CMAKE_CURRENT_SOURCE_DIR}/Configs/pal_config/${OS_BRAND}/*.h)
cyliang 0:83caa8fa1d2c 43 SET(dir_list "")
cyliang 0:83caa8fa1d2c 44 FOREACH(file_path ${new_list})
cyliang 0:83caa8fa1d2c 45 GET_FILENAME_COMPONENT(dir_path ${file_path} PATH)
cyliang 0:83caa8fa1d2c 46 SET(dir_list ${dir_list} ${dir_path})
cyliang 0:83caa8fa1d2c 47 ENDFOREACH()
cyliang 0:83caa8fa1d2c 48 LIST(REMOVE_DUPLICATES dir_list)
cyliang 0:83caa8fa1d2c 49 SET(${return_list} ${dir_list})
cyliang 0:83caa8fa1d2c 50 ENDMACRO()
cyliang 0:83caa8fa1d2c 51
cyliang 0:83caa8fa1d2c 52 set(config_list "")
cyliang 0:83caa8fa1d2c 53 HEADER_DIRECTORIES(config_list)
cyliang 0:83caa8fa1d2c 54 foreach(config_dir ${config_list})
cyliang 0:83caa8fa1d2c 55 ADD_GLOBALDIR("${config_dir}")
cyliang 0:83caa8fa1d2c 56 endforeach()
cyliang 0:83caa8fa1d2c 57
cyliang 0:83caa8fa1d2c 58 ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/Configs/pal_config)
cyliang 0:83caa8fa1d2c 59
cyliang 0:83caa8fa1d2c 60 # add the binary tree to the search path for include files
cyliang 0:83caa8fa1d2c 61 # so that we will find TutorialConfig.h????????????????????????????????????????????????????????????????????????????
cyliang 0:83caa8fa1d2c 62 ADDSUBDIRS()
cyliang 0:83caa8fa1d2c 63 else()
cyliang 0:83caa8fa1d2c 64 set(OS_BRAND "Linux")
cyliang 0:83caa8fa1d2c 65 set(TLS_LIBRARY "mbedTLS")
cyliang 0:83caa8fa1d2c 66 set(PAL_MODULE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Source)
cyliang 0:83caa8fa1d2c 67
cyliang 0:83caa8fa1d2c 68 # find source files from the relavent directories
cyliang 0:83caa8fa1d2c 69 set(PAL_IMPL_SOURCE_DIR ${PAL_MODULE_SOURCE_DIR}/PAL-Impl)
cyliang 0:83caa8fa1d2c 70 set(PAL_PORT_SOURCE_DIR ${PAL_MODULE_SOURCE_DIR}/Port/Reference-Impl/OS_Specific/${OS_BRAND})
cyliang 0:83caa8fa1d2c 71 set(PAL_TLS_SOURCE_DIR ${PAL_MODULE_SOURCE_DIR}/Port/Reference-Impl/Lib_Specific/${TLS_LIBRARY})
cyliang 0:83caa8fa1d2c 72 set(PAL_EXAMPLE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Examples/PlatformBSP)
cyliang 0:83caa8fa1d2c 73
cyliang 0:83caa8fa1d2c 74 file(GLOB_RECURSE PAL_SRCS "${PAL_IMPL_SOURCE_DIR}/*.c"
cyliang 0:83caa8fa1d2c 75 "${PAL_PORT_SOURCE_DIR}/Storage/FileSystem/*.c"
cyliang 0:83caa8fa1d2c 76 "${PAL_PORT_SOURCE_DIR}/Storage/Flash/*.c"
cyliang 0:83caa8fa1d2c 77 "${PAL_PORT_SOURCE_DIR}/Networking/*.c"
cyliang 0:83caa8fa1d2c 78 "${PAL_PORT_SOURCE_DIR}/RTOS/*.c"
cyliang 0:83caa8fa1d2c 79 "${PAL_PORT_SOURCE_DIR}/Update/*.c"
cyliang 0:83caa8fa1d2c 80 "${PAL_PORT_SOURCE_DIR}/Board_Specific/${PAL_TARGET_DEVICE}/*.c"
cyliang 0:83caa8fa1d2c 81 "${PAL_EXAMPLE_DIR}/pal_insecure_ROT.c"
cyliang 0:83caa8fa1d2c 82 "${PAL_TLS_SOURCE_DIR}/*.c")
cyliang 0:83caa8fa1d2c 83
cyliang 0:83caa8fa1d2c 84 add_library(${YOTTA_MODULE_NAME} ${PAL_SRCS})
cyliang 0:83caa8fa1d2c 85
cyliang 0:83caa8fa1d2c 86 # need to specify the yotta dependency here, otherwise yotta won't consider them when linking against this library
cyliang 0:83caa8fa1d2c 87 target_link_libraries(${YOTTA_MODULE_NAME} mbedtls mbed-trace)
cyliang 0:83caa8fa1d2c 88
cyliang 0:83caa8fa1d2c 89 # includes are taken care of via the module.json extraIncludes mechanism in order to be global
cyliang 0:83caa8fa1d2c 90 # link libraries are handled by the module.josn dependencies mechanism
cyliang 0:83caa8fa1d2c 91 endif()