sdk: add support for Zephyr SDK 0.11
This adds support for Zephyr SDK 0.11.* is based on the 0.10 support with the following changes: Handle how xtensa toolchains for given targets are organized in SDK 0.11.x. They have their own directories per specific xtensa SoC. The x86_64 toolchain in the SDK has been updated to build for 32-bit targets (as it has 32-bit soft float libraries). Use this toolchain for all x86 builds. Signed-off-by: Daniel Leung <daniel.leung@intel.com> Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This commit is contained in:
parent
02ff0e45a2
commit
5c711bd4ba
3 changed files with 63 additions and 0 deletions
14
cmake/toolchain/zephyr/0.11/generic.cmake
Normal file
14
cmake/toolchain/zephyr/0.11/generic.cmake
Normal file
|
@ -0,0 +1,14 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
set(TOOLCHAIN_HOME ${ZEPHYR_SDK_INSTALL_DIR})
|
||||
|
||||
set(COMPILER gcc)
|
||||
set(LINKER ld)
|
||||
set(BINTOOLS gnu)
|
||||
|
||||
set(CROSS_COMPILE_TARGET x86_64-${TOOLCHAIN_VENDOR}-elf)
|
||||
set(SYSROOT_TARGET x86_64-${TOOLCHAIN_VENDOR}-elf)
|
||||
|
||||
set(CROSS_COMPILE ${TOOLCHAIN_HOME}/${CROSS_COMPILE_TARGET}/bin/${CROSS_COMPILE_TARGET}-)
|
||||
set(SYSROOT_DIR ${ZEPHYR_SDK_INSTALL_DIR}/sysroots/${SYSROOT_TARGET}/usr)
|
||||
set(TOOLCHAIN_HAS_NEWLIB ON CACHE BOOL "True if toolchain supports newlib")
|
12
cmake/toolchain/zephyr/0.11/host-tools.cmake
Normal file
12
cmake/toolchain/zephyr/0.11/host-tools.cmake
Normal file
|
@ -0,0 +1,12 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
set(HOST_TOOLS_HOME ${ZEPHYR_SDK_INSTALL_DIR}/sysroots/${TOOLCHAIN_ARCH}-pokysdk-linux)
|
||||
|
||||
# Path used for searching by the find_*() functions, with appropriate
|
||||
# suffixes added. Ensures that the SDK's host tools will be found when
|
||||
# we call, e.g. find_program(QEMU qemu-system-x86)
|
||||
list(APPEND CMAKE_PREFIX_PATH ${HOST_TOOLS_HOME}/usr)
|
||||
|
||||
# TODO: Use find_* somehow for these as well?
|
||||
set_ifndef(QEMU_BIOS ${HOST_TOOLS_HOME}/usr/share/qemu)
|
||||
set_ifndef(OPENOCD_DEFAULT_PATH ${HOST_TOOLS_HOME}/usr/share/openocd/scripts)
|
37
cmake/toolchain/zephyr/0.11/target.cmake
Normal file
37
cmake/toolchain/zephyr/0.11/target.cmake
Normal file
|
@ -0,0 +1,37 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
set(CROSS_COMPILE_TARGET_arm arm-zephyr-eabi)
|
||||
set(CROSS_COMPILE_TARGET_nios2 nios2-zephyr-elf)
|
||||
set(CROSS_COMPILE_TARGET_riscv riscv64-zephyr-elf)
|
||||
set(CROSS_COMPILE_TARGET_mips mipsel-zephyr-elf)
|
||||
set(CROSS_COMPILE_TARGET_xtensa xtensa-zephyr-elf)
|
||||
set(CROSS_COMPILE_TARGET_arc arc-zephyr-elf)
|
||||
set(CROSS_COMPILE_TARGET_x86 x86_64-zephyr-elf)
|
||||
|
||||
set(CROSS_COMPILE_TARGET ${CROSS_COMPILE_TARGET_${ARCH}})
|
||||
set(SYSROOT_TARGET ${CROSS_COMPILE_TARGET})
|
||||
|
||||
if("${ARCH}" STREQUAL "xtensa")
|
||||
set(SYSROOT_DIR ${TOOLCHAIN_HOME}/xtensa/${SOC_NAME}/${SYSROOT_TARGET})
|
||||
set(TOOLCHAIN_INCLUDES
|
||||
${SYSROOT_DIR}/include/arch/include
|
||||
${SYSROOT_DIR}/include
|
||||
)
|
||||
|
||||
LIST(APPEND TOOLCHAIN_LIBS hal)
|
||||
LIST(APPEND LIB_INCLUDE_DIR -L${SYSROOT_DIR}/lib)
|
||||
set(CROSS_COMPILE ${TOOLCHAIN_HOME}/xtensa/${SOC_NAME}/${CROSS_COMPILE_TARGET}/bin/${CROSS_COMPILE_TARGET}-)
|
||||
else()
|
||||
set(SYSROOT_DIR ${TOOLCHAIN_HOME}/${SYSROOT_TARGET}/${SYSROOT_TARGET})
|
||||
set(CROSS_COMPILE ${TOOLCHAIN_HOME}/${CROSS_COMPILE_TARGET}/bin/${CROSS_COMPILE_TARGET}-)
|
||||
endif()
|
||||
|
||||
if("${ARCH}" STREQUAL "x86")
|
||||
if(CONFIG_X86_64)
|
||||
list(APPEND TOOLCHAIN_C_FLAGS -m64)
|
||||
list(APPEND TOOLCHAIN_LD_FLAGS -m64)
|
||||
else()
|
||||
list(APPEND TOOLCHAIN_C_FLAGS -m32)
|
||||
list(APPEND TOOLCHAIN_LD_FLAGS -m32)
|
||||
endif()
|
||||
endif()
|
Loading…
Add table
Add a link
Reference in a new issue