mirror of
https://github.com/espressif/openthread.git
synced 2026-07-30 15:47:46 +00:00
[cmake] add support for cc2650, qpg6095, samr21 (#4729)
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
#
|
||||
# Copyright (c) 2020, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
set(OT_PLATFORM_LIB "openthread-cc2650" PARENT_SCOPE)
|
||||
|
||||
if(NOT OT_CONFIG)
|
||||
set(OT_CONFIG "openthread-core-cc2650-config.h")
|
||||
set(OT_CONFIG ${OT_CONFIG} PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
list(APPEND OT_PLATFORM_DEFINES
|
||||
"OPENTHREAD_CORE_CONFIG_PLATFORM_CHECK_FILE=\"openthread-core-cc2650-config-check.h\""
|
||||
)
|
||||
set(OT_PLATFORM_DEFINES ${OT_PLATFORM_DEFINES} PARENT_SCOPE)
|
||||
|
||||
list(APPEND OT_PRIVATE_DEFINES "MBEDTLS_USER_CONFIG_FILE=\"cc2650-mbedtls-config.h\"")
|
||||
set(OT_PRIVATE_DEFINES ${OT_PRIVATE_DEFINES} PARENT_SCOPE)
|
||||
list(APPEND OT_PUBLIC_INCLUDES
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/crypto"
|
||||
"${PROJECT_SOURCE_DIR}/third_party/ti/devices/cc26x0"
|
||||
)
|
||||
set(OT_PUBLIC_INCLUDES ${OT_PUBLIC_INCLUDES} PARENT_SCOPE)
|
||||
|
||||
list(APPEND OT_PLATFORM_DEFINES "OPENTHREAD_PROJECT_CORE_CONFIG_FILE=\"${OT_CONFIG}\"")
|
||||
|
||||
add_library(openthread-cc2650
|
||||
alarm.c
|
||||
cc2650_ccfg.c
|
||||
cc2650_startup.c
|
||||
crypto/aes_alt.c
|
||||
crypto/sha256_alt.c
|
||||
cxx_helpers.c
|
||||
diag.c
|
||||
entropy.c
|
||||
logging.c
|
||||
misc.c
|
||||
radio.c
|
||||
system.c
|
||||
uart.c
|
||||
$<TARGET_OBJECTS:openthread-platform-utils>
|
||||
)
|
||||
|
||||
set_property(TARGET openthread-cc2650 PROPERTY C_STANDARD 99)
|
||||
|
||||
target_link_libraries(openthread-cc2650
|
||||
PUBLIC
|
||||
cc26x0-driver
|
||||
PRIVATE
|
||||
mbedtls
|
||||
openthread-platform-utils
|
||||
)
|
||||
|
||||
target_link_options(openthread-cc2650
|
||||
PUBLIC
|
||||
-Wl,-Map=$<TARGET_PROPERTY:NAME>.map
|
||||
)
|
||||
|
||||
target_compile_definitions(openthread-cc2650
|
||||
PUBLIC
|
||||
${OT_PLATFORM_DEFINES}
|
||||
PRIVATE
|
||||
${OT_PRIVATE_DEFINES}
|
||||
)
|
||||
|
||||
target_compile_options(openthread-cc2650 PRIVATE ${OT_CFLAGS})
|
||||
|
||||
target_include_directories(openthread-cc2650
|
||||
PRIVATE
|
||||
${OT_PUBLIC_INCLUDES}
|
||||
${OT_PRIVATE_INCLUDES}
|
||||
${PROJECT_SOURCE_DIR}/src/core
|
||||
${PROJECT_SOURCE_DIR}/examples/platforms
|
||||
)
|
||||
@@ -0,0 +1,52 @@
|
||||
#
|
||||
# Copyright (c) 2020, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
set(CMAKE_SYSTEM_NAME Generic)
|
||||
set(CMAKE_SYSTEM_PROCESSOR ARM)
|
||||
|
||||
set(CMAKE_C_COMPILER arm-none-eabi-gcc)
|
||||
set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
|
||||
set(CMAKE_ASM_COMPILER arm-none-eabi-as)
|
||||
set(CMAKE_RANLIB arm-none-eabi-ranlib)
|
||||
|
||||
set(COMMON_C_FLAGS "-mthumb -fdata-sections -ffunction-sections -mcpu=cortex-m3 -mfloat-abi=soft")
|
||||
|
||||
set(CMAKE_C_FLAGS "${COMMON_C_FLAGS} -std=gnu99")
|
||||
set(CMAKE_CXX_FLAGS "${COMMON_C_FLAGS} -fno-exceptions -fno-rtti")
|
||||
set(CMAKE_ASM_FLAGS "${COMMON_C_FLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${COMMON_C_FLAGS} -Wl,--gc-sections -specs=nano.specs -specs=nosys.specs -nostartfiles")
|
||||
|
||||
set(CMAKE_C_FLAGS_DEBUG "-Og -g")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-Og -g")
|
||||
set(CMAKE_ASM_FLAGS_DEBUG "-g")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "")
|
||||
|
||||
set(CMAKE_C_FLAGS_RELEASE "-Os")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-Os")
|
||||
set(CMAKE_ASM_FLAGS_RELEASE "")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "")
|
||||
@@ -0,0 +1,102 @@
|
||||
#
|
||||
# Copyright (c) 2020, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
set(OT_PLATFORM_LIB "openthread-qpg6095" PARENT_SCOPE)
|
||||
|
||||
if(NOT OT_CONFIG)
|
||||
set(OT_CONFIG "openthread-core-qpg6095-config.h")
|
||||
set(OT_CONFIG ${OT_CONFIG} PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
list(APPEND OT_PLATFORM_DEFINES
|
||||
"OPENTHREAD_CORE_CONFIG_PLATFORM_CHECK_FILE=\"openthread-core-qpg6095-config-check.h\""
|
||||
)
|
||||
set(OT_PLATFORM_DEFINES ${OT_PLATFORM_DEFINES} PARENT_SCOPE)
|
||||
|
||||
list(APPEND OT_PRIVATE_DEFINES "MBEDTLS_USER_CONFIG_FILE=\"qpg6095-mbedtls-config.h\"")
|
||||
|
||||
list(APPEND OT_PUBLIC_INCLUDES
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/crypto"
|
||||
)
|
||||
set(OT_PUBLIC_INCLUDES ${OT_PUBLIC_INCLUDES} PARENT_SCOPE)
|
||||
|
||||
if(OT_CFLAGS MATCHES "-pedantic-errors")
|
||||
string(REPLACE "-pedantic-errors" "" OT_CFLAGS "${OT_CFLAGS}")
|
||||
endif()
|
||||
|
||||
if(OT_CFLAGS MATCHES "-Wno-c\\+\\+14-compat")
|
||||
string(REPLACE "-Wno-c++14-compat" "" OT_CFLAGS "${OT_CFLAGS}")
|
||||
endif()
|
||||
|
||||
list(APPEND OT_PLATFORM_DEFINES "OPENTHREAD_PROJECT_CORE_CONFIG_FILE=\"${OT_CONFIG}\"")
|
||||
|
||||
add_library(openthread-qpg6095
|
||||
alarm.c
|
||||
diag.c
|
||||
entropy.c
|
||||
logging.c
|
||||
misc.c
|
||||
platform.c
|
||||
radio.c
|
||||
settings.cpp
|
||||
uart.c
|
||||
)
|
||||
|
||||
set_property(TARGET openthread-qpg6095 PROPERTY C_STANDARD 99)
|
||||
|
||||
target_link_libraries(openthread-qpg6095
|
||||
PRIVATE
|
||||
qpg6095-driver
|
||||
mbedtls
|
||||
)
|
||||
|
||||
target_link_options(openthread-qpg6095
|
||||
PUBLIC
|
||||
-T${CMAKE_CURRENT_SOURCE_DIR}/qpg6095.ld
|
||||
-Wl,-Map=$<TARGET_PROPERTY:NAME>.map
|
||||
)
|
||||
|
||||
target_compile_definitions(openthread-qpg6095
|
||||
PUBLIC
|
||||
${OT_PLATFORM_DEFINES}
|
||||
PRIVATE
|
||||
${OT_PRIVATE_DEFINES}
|
||||
)
|
||||
|
||||
target_compile_options(openthread-qpg6095
|
||||
PRIVATE
|
||||
${OT_CFLAGS}
|
||||
)
|
||||
|
||||
target_include_directories(openthread-qpg6095
|
||||
PRIVATE
|
||||
${OT_PUBLIC_INCLUDES}
|
||||
${OT_PRIVATE_INCLUDES}
|
||||
${PROJECT_SOURCE_DIR}/src/core
|
||||
${PROJECT_SOURCE_DIR}/examples/platforms
|
||||
)
|
||||
@@ -0,0 +1,52 @@
|
||||
#
|
||||
# Copyright (c) 2020, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
set(CMAKE_SYSTEM_NAME Generic)
|
||||
set(CMAKE_SYSTEM_PROCESSOR ARM)
|
||||
|
||||
set(CMAKE_C_COMPILER arm-none-eabi-gcc)
|
||||
set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
|
||||
set(CMAKE_ASM_COMPILER arm-none-eabi-as)
|
||||
set(CMAKE_RANLIB arm-none-eabi-ranlib)
|
||||
|
||||
set(COMMON_C_FLAGS "-mcpu=cortex-m4 -mthumb -fdata-sections -ffunction-sections")
|
||||
|
||||
set(CMAKE_C_FLAGS "${COMMON_C_FLAGS} -std=gnu99")
|
||||
set(CMAKE_CXX_FLAGS "${COMMON_C_FLAGS} -fno-exceptions -fno-rtti")
|
||||
set(CMAKE_ASM_FLAGS "${COMMON_C_FLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${COMMON_C_FLAGS} -specs=nano.specs -specs=nosys.specs -Wl,--gc-sections")
|
||||
|
||||
set(CMAKE_C_FLAGS_DEBUG "-Og -g")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-Og -g")
|
||||
set(CMAKE_ASM_FLAGS_DEBUG "-g")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "")
|
||||
|
||||
set(CMAKE_C_FLAGS_RELEASE "-Os")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-Os")
|
||||
set(CMAKE_ASM_FLAGS_RELEASE "")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "")
|
||||
@@ -0,0 +1,99 @@
|
||||
#
|
||||
# Copyright (c) 2020, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
set(OT_PLATFORM_LIB "openthread-samr21" PARENT_SCOPE)
|
||||
|
||||
if(NOT OT_CONFIG)
|
||||
set(OT_CONFIG "openthread-core-samr21-config.h")
|
||||
set(OT_CONFIG ${OT_CONFIG} PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
list(APPEND OT_PLATFORM_DEFINES
|
||||
"OPENTHREAD_CORE_CONFIG_PLATFORM_CHECK_FILE=\"openthread-core-samr21-config-check.h\""
|
||||
)
|
||||
set(OT_PLATFORM_DEFINES ${OT_PLATFORM_DEFINES} PARENT_SCOPE)
|
||||
|
||||
list(APPEND OT_PRIVATE_DEFINES "MBEDTLS_USER_CONFIG_FILE=\"samr21-mbedtls-config.h\"")
|
||||
list(APPEND OT_PUBLIC_INCLUDES
|
||||
"${PROJECT_SOURCE_DIR}/examples/platforms/samr21/crypto"
|
||||
)
|
||||
set(OT_PUBLIC_INCLUDES ${OT_PUBLIC_INCLUDES} PARENT_SCOPE)
|
||||
|
||||
list(APPEND OT_PLATFORM_DEFINES "OPENTHREAD_PROJECT_CORE_CONFIG_FILE=\"${OT_CONFIG}\"")
|
||||
|
||||
add_library(openthread-samr21
|
||||
alarm.c
|
||||
crypto/aes_alt.c
|
||||
cxx_helpers.c
|
||||
diag.c
|
||||
entropy.c
|
||||
flash.c
|
||||
logging.c
|
||||
misc.c
|
||||
radio.c
|
||||
system.c
|
||||
uart.c
|
||||
)
|
||||
|
||||
set_property(TARGET openthread-samr21 PROPERTY C_STANDARD 99)
|
||||
|
||||
if(OT_CFLAGS MATCHES "-pedantic-errors")
|
||||
string(REPLACE "-pedantic-errors" "" OT_CFLAGS "${OT_CFLAGS}")
|
||||
endif()
|
||||
|
||||
target_link_libraries(openthread-samr21
|
||||
PUBLIC
|
||||
samr21-driver
|
||||
PRIVATE
|
||||
mbedtls
|
||||
)
|
||||
|
||||
target_link_options(openthread-samr21
|
||||
PUBLIC
|
||||
-Wl,-Map=$<TARGET_PROPERTY:NAME>.map
|
||||
)
|
||||
|
||||
target_compile_definitions(openthread-samr21
|
||||
PUBLIC
|
||||
${OT_PLATFORM_DEFINES}
|
||||
PRIVATE
|
||||
${OT_PRIVATE_DEFINES}
|
||||
)
|
||||
|
||||
target_compile_options(openthread-samr21
|
||||
PRIVATE
|
||||
${OT_CFLAGS}
|
||||
)
|
||||
|
||||
target_include_directories(openthread-samr21
|
||||
PRIVATE
|
||||
${OT_PUBLIC_INCLUDES}
|
||||
${OT_PRIVATE_INCLUDES}
|
||||
${PROJECT_SOURCE_DIR}/src/core
|
||||
${PROJECT_SOURCE_DIR}/examples/platforms
|
||||
)
|
||||
@@ -0,0 +1,52 @@
|
||||
#
|
||||
# Copyright (c) 2020, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
set(CMAKE_SYSTEM_NAME Generic)
|
||||
set(CMAKE_SYSTEM_PROCESSOR ARM)
|
||||
|
||||
set(CMAKE_C_COMPILER arm-none-eabi-gcc)
|
||||
set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
|
||||
set(CMAKE_ASM_COMPILER arm-none-eabi-as)
|
||||
set(CMAKE_RANLIB arm-none-eabi-ranlib)
|
||||
|
||||
set(COMMON_C_FLAGS "-mcpu=cortex-m0plus -mfloat-abi=soft -mthumb -fdata-sections -ffunction-sections")
|
||||
|
||||
set(CMAKE_C_FLAGS "${COMMON_C_FLAGS} -std=gnu99")
|
||||
set(CMAKE_CXX_FLAGS "${COMMON_C_FLAGS} -fno-exceptions -fno-rtti")
|
||||
set(CMAKE_ASM_FLAGS "${COMMON_C_FLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${COMMON_C_FLAGS} -specs=nano.specs -specs=nosys.specs -Wl,--gc-sections -Wl,--entry=Reset_Handler")
|
||||
|
||||
set(CMAKE_C_FLAGS_DEBUG "-Og -g")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-Og -g")
|
||||
set(CMAKE_ASM_FLAGS_DEBUG "-g")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "")
|
||||
|
||||
set(CMAKE_C_FLAGS_RELEASE "-Os")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-Os")
|
||||
set(CMAKE_ASM_FLAGS_RELEASE "")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "")
|
||||
@@ -80,6 +80,24 @@ build_cc2538()
|
||||
cd ..
|
||||
}
|
||||
|
||||
build_cc2650()
|
||||
{
|
||||
local options=("${OT_COMMON_OPTIONS[@]}")
|
||||
|
||||
options+=(
|
||||
"-DOT_PLATFORM=cc2650"
|
||||
"-DCMAKE_TOOLCHAIN_FILE=examples/platforms/cc2650/arm-none-eabi.cmake"
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
)
|
||||
|
||||
reset_source
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -GNinja "${options[@]}" ..
|
||||
ninja ot-cli-mtd ot-ncp-mtd
|
||||
cd ..
|
||||
}
|
||||
|
||||
build_cc2652()
|
||||
{
|
||||
local options=("${OT_COMMON_OPTIONS[@]}")
|
||||
@@ -128,12 +146,66 @@ build_kw41z()
|
||||
cd ..
|
||||
}
|
||||
|
||||
build_qpg6095()
|
||||
{
|
||||
local options=("${OT_COMMON_OPTIONS[@]}")
|
||||
|
||||
options+=(
|
||||
"-DOT_PLATFORM=qpg6095"
|
||||
"-DCMAKE_TOOLCHAIN_FILE=examples/platforms/qpg6095/arm-none-eabi.cmake"
|
||||
"-DOT_COMMISSIONER=on"
|
||||
"-DOT_DHCP6_CLIENT=on"
|
||||
"-DOT_DHCP6_SERVER=on"
|
||||
"-DOT_DNS_CLIENT=on"
|
||||
"-DOT_JOINER=on"
|
||||
"-DOT_SLAAC=on"
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
)
|
||||
|
||||
reset_source
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -GNinja "${options[@]}" ..
|
||||
ninja
|
||||
cd ..
|
||||
}
|
||||
|
||||
build_samr21()
|
||||
{
|
||||
local options=("${OT_COMMON_OPTIONS[@]}")
|
||||
|
||||
options+=(
|
||||
"-DOT_PLATFORM=samr21"
|
||||
"-DCMAKE_TOOLCHAIN_FILE=examples/platforms/samr21/arm-none-eabi.cmake"
|
||||
"-DOT_COMMISSIONER=on"
|
||||
"-DOT_DHCP6_CLIENT=on"
|
||||
"-DOT_DHCP6_SERVER=on"
|
||||
"-DOT_DNS_CLIENT=on"
|
||||
"-DOT_JOINER=on"
|
||||
"-DOT_SLAAC=on"
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
)
|
||||
|
||||
reset_source
|
||||
wget http://ww1.microchip.com/downloads/en/DeviceDoc/asf-standalone-archive-3.45.0.85.zip || die
|
||||
unzip -qq asf-standalone-archive-3.45.0.85.zip || die
|
||||
mv xdk-asf-3.45.0 third_party/microchip/asf || die
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -GNinja "${options[@]}" ..
|
||||
ninja
|
||||
cd ..
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
build_cc1352
|
||||
build_cc2538
|
||||
build_cc2650
|
||||
build_cc2652
|
||||
build_kw41z
|
||||
build_qpg6095
|
||||
build_samr21
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
||||
Vendored
+6
@@ -31,4 +31,10 @@ if(OT_BUILTIN_MBEDTLS)
|
||||
endif()
|
||||
if(OT_PLATFORM STREQUAL "kw41z")
|
||||
add_subdirectory(nxp)
|
||||
elseif(OT_PLATFORM STREQUAL "cc2650")
|
||||
add_subdirectory(ti)
|
||||
elseif(OT_PLATFORM STREQUAL "qpg6095")
|
||||
add_subdirectory(Qorvo)
|
||||
elseif(OT_PLATFORM STREQUAL "samr21")
|
||||
add_subdirectory(microchip)
|
||||
endif()
|
||||
|
||||
Vendored
+34
@@ -0,0 +1,34 @@
|
||||
#
|
||||
# Copyright (c) 2020, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
add_library(qpg6095-driver INTERFACE)
|
||||
|
||||
target_link_libraries(qpg6095-driver
|
||||
INTERFACE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/qpg6095/libQorvoQPG6095.a
|
||||
)
|
||||
Vendored
+127
@@ -0,0 +1,127 @@
|
||||
#
|
||||
# Copyright (c) 2020, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
add_library(samr21-driver
|
||||
asf/common/utils/interrupt/interrupt_sam_nvic.c
|
||||
asf/common2/services/delay/sam0/cycle_counter.c
|
||||
asf/sam0/drivers/extint/extint_callback.c
|
||||
asf/sam0/drivers/extint/extint_sam_d_r_h/extint.c
|
||||
asf/sam0/drivers/nvm/nvm.c
|
||||
asf/sam0/drivers/port/port.c
|
||||
asf/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.c
|
||||
asf/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.c
|
||||
asf/sam0/drivers/system/interrupt/system_interrupt.c
|
||||
asf/sam0/drivers/system/pinmux/pinmux.c
|
||||
asf/sam0/drivers/sercom/sercom.c
|
||||
asf/sam0/drivers/sercom/sercom_interrupt.c
|
||||
asf/sam0/drivers/sercom/i2c/i2c_sam0/i2c_master.c
|
||||
asf/sam0/drivers/sercom/spi/spi.c
|
||||
asf/sam0/drivers/sercom/usart/usart.c
|
||||
asf/sam0/drivers/sercom/usart/usart_interrupt.c
|
||||
asf/sam0/utils/cmsis/samr21/source/gcc/startup_samr21.c
|
||||
asf/sam0/utils/cmsis/samr21/source/system_samr21.c
|
||||
asf/sam0/utils/syscalls/gcc/syscalls.c
|
||||
asf/thirdparty/wireless/avr2130_lwmesh/source/phy/at86rf233/src/phy.c
|
||||
asf/thirdparty/wireless/services/sal/at86rf2xx/src/sal.c
|
||||
asf/thirdparty/wireless/services/trx_access/trx_access.c
|
||||
)
|
||||
|
||||
if(OT_CFLAGS MATCHES "-pedantic-errors")
|
||||
string(REPLACE "-pedantic-errors" "" OT_CFLAGS "${OT_CFLAGS}")
|
||||
endif()
|
||||
|
||||
target_link_options(samr21-driver
|
||||
PUBLIC
|
||||
-T${PROJECT_SOURCE_DIR}/third_party/microchip/include/samr21x18a.ld
|
||||
)
|
||||
|
||||
target_compile_definitions(samr21-driver
|
||||
PUBLIC
|
||||
${OT_PLATFORM_DEFINES}
|
||||
-DBOARD=SAMR21_XPLAINED_PRO
|
||||
-D__SAMR21G18A__
|
||||
-DARM_MATH_CM0PLUS=true
|
||||
-DPHY_AT86RF233
|
||||
-DSAL_TYPE=AT86RF2xx
|
||||
-DUSART_CALLBACK_MODE=true
|
||||
-DEXTINT_CALLBACK_MODE=true
|
||||
-DSPI_CALLBACK_MODE=false
|
||||
-DCYCLE_MODE
|
||||
PRIVATE
|
||||
${OT_PRIVATE_DEFINES}
|
||||
)
|
||||
|
||||
target_compile_options(samr21-driver
|
||||
PUBLIC
|
||||
-Werror
|
||||
-Wno-unused-parameter
|
||||
-Wno-implicit-function-declaration
|
||||
-Wno-expansion-to-defined
|
||||
-fno-strict-aliasing
|
||||
PRIVATE
|
||||
${OT_CFLAGS}
|
||||
)
|
||||
|
||||
target_include_directories(samr21-driver
|
||||
PUBLIC
|
||||
include
|
||||
asf/common/boards
|
||||
asf/common/utils
|
||||
asf/common2/services/delay
|
||||
asf/common2/services/delay/sam0
|
||||
asf/sam0/boards
|
||||
asf/sam0/boards/samr21_xplained_pro
|
||||
asf/sam0/drivers/extint
|
||||
asf/sam0/drivers/extint/extint_sam_d_r_h
|
||||
asf/sam0/drivers/nvm
|
||||
asf/sam0/drivers/port
|
||||
asf/sam0/drivers/system
|
||||
asf/sam0/drivers/system/clock
|
||||
asf/sam0/drivers/system/clock/clock_samd21_r21_da_ha1
|
||||
asf/sam0/drivers/system/interrupt
|
||||
asf/sam0/drivers/system/interrupt/system_interrupt_samr21
|
||||
asf/sam0/drivers/system/pinmux
|
||||
asf/sam0/drivers/system/power
|
||||
asf/sam0/drivers/system/power/power_sam_d_r_h
|
||||
asf/sam0/drivers/system/reset
|
||||
asf/sam0/drivers/system/reset/reset_sam_d_r_h
|
||||
asf/sam0/drivers/sercom
|
||||
asf/sam0/drivers/sercom/i2c
|
||||
asf/sam0/drivers/sercom/i2c/i2c_sam0
|
||||
asf/sam0/drivers/sercom/spi
|
||||
asf/sam0/drivers/sercom/usart
|
||||
asf/sam0/utils/cmsis/samr21/include
|
||||
asf/sam0/utils/cmsis/samr21/source
|
||||
asf/sam0/utils/header_files
|
||||
asf/sam0/utils/preprocessor
|
||||
asf/thirdparty/CMSIS/Include
|
||||
asf/thirdparty/wireless/avr2130_lwmesh/source/phy/at86rf233/inc
|
||||
asf/thirdparty/wireless/services/sal/inc
|
||||
asf/thirdparty/wireless/services/trx_access
|
||||
asf/thirdparty/wireless/services/trx_access/module_config
|
||||
)
|
||||
Vendored
+41
@@ -0,0 +1,41 @@
|
||||
#
|
||||
# Copyright (c) 2020, The OpenThread Authors.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the copyright holder nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
if(OT_PLATFORM STREQUAL "cc2650")
|
||||
add_library(cc26x0-driver INTERFACE)
|
||||
|
||||
target_link_libraries(cc26x0-driver
|
||||
INTERFACE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/devices/cc26x0/driverlib/bin/gcc/driverlib.a
|
||||
)
|
||||
|
||||
target_link_options(cc26x0-driver
|
||||
INTERFACE
|
||||
-T${CMAKE_CURRENT_SOURCE_DIR}/devices/cc26x0/linker_files/cc26x0f128.lds
|
||||
)
|
||||
endif()
|
||||
Reference in New Issue
Block a user