summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2025-01-25 15:12:57 +0700
committerhathach <[email protected]>2025-01-25 15:12:57 +0700
commitdc514c6230975eceb359644d4b60a1a99a5218bf (patch)
tree7e917f82df0efc3c569eb395b6f30df6216ad0a3
parent1003aba69066b87db67b0d90318aa79630afb338 (diff)
use board alias for pca10056
-rw-r--r--examples/build_system/cmake/toolchain/arm_gcc.cmake36
-rw-r--r--hw/bsp/family_support.cmake19
-rw-r--r--hw/bsp/nrf/family.cmake10
3 files changed, 34 insertions, 31 deletions
diff --git a/examples/build_system/cmake/toolchain/arm_gcc.cmake b/examples/build_system/cmake/toolchain/arm_gcc.cmake
index 4cef07ff5..6a660e259 100644
--- a/examples/build_system/cmake/toolchain/arm_gcc.cmake
+++ b/examples/build_system/cmake/toolchain/arm_gcc.cmake
@@ -1,25 +1,25 @@
if (RTOS STREQUAL zephyr)
+ return()
+endif ()
-else ()
- if (NOT DEFINED CMAKE_C_COMPILER)
- set(CMAKE_C_COMPILER "arm-none-eabi-gcc")
- endif ()
+if (NOT DEFINED CMAKE_C_COMPILER)
+ set(CMAKE_C_COMPILER "arm-none-eabi-gcc")
+endif ()
- if (NOT DEFINED CMAKE_CXX_COMPILER)
- set(CMAKE_CXX_COMPILER "arm-none-eabi-g++")
- endif ()
+if (NOT DEFINED CMAKE_CXX_COMPILER)
+ set(CMAKE_CXX_COMPILER "arm-none-eabi-g++")
+endif ()
- set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER})
- find_program(CMAKE_SIZE arm-none-eabi-size)
- find_program(CMAKE_OBJCOPY arm-none-eabi-objcopy)
- find_program(CMAKE_OBJDUMP arm-none-eabi-objdump)
+set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER})
+find_program(CMAKE_SIZE arm-none-eabi-size)
+find_program(CMAKE_OBJCOPY arm-none-eabi-objcopy)
+find_program(CMAKE_OBJDUMP arm-none-eabi-objdump)
- include(${CMAKE_CURRENT_LIST_DIR}/common.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/common.cmake)
- get_property(IS_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE)
- if (IS_IN_TRY_COMPILE)
- set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -nostdlib")
- set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -nostdlib")
- cmake_print_variables(CMAKE_C_LINK_FLAGS)
- endif ()
+get_property(IS_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE)
+if (IS_IN_TRY_COMPILE)
+ set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -nostdlib")
+ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -nostdlib")
+ cmake_print_variables(CMAKE_C_LINK_FLAGS)
endif ()
diff --git a/hw/bsp/family_support.cmake b/hw/bsp/family_support.cmake
index ccf07f21f..f9ce47173 100644
--- a/hw/bsp/family_support.cmake
+++ b/hw/bsp/family_support.cmake
@@ -59,6 +59,7 @@ if (NOT DEFINED FAMILY)
# replace / with ; so that we can get the first element as FAMILY
string(REPLACE "/" ";" BOARD_PATH ${BOARD_PATH})
list(GET BOARD_PATH 0 FAMILY)
+ set(FAMILY ${FAMILY} CACHE STRING "Board family")
endif ()
if (NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/${FAMILY}/family.cmake)
@@ -79,6 +80,15 @@ if (NOT NO_WARN_RWX_SEGMENTS_SUPPORTED)
set(NO_WARN_RWX_SEGMENTS_SUPPORTED 1)
endif()
+#----------------------------------
+# Zephyr
+#----------------------------------
+if (RTOS STREQUAL zephyr)
+ set(BOARD_ROOT ${TOP}/hw/bsp/${FAMILY})
+ set(ZEPHYR_BOARD_ALIASES ${CMAKE_CURRENT_LIST_DIR}/zephyr_board_aliases.cmake)
+ find_package(Zephyr REQUIRED HINTS ${TOP}/zephyr)
+endif ()
+
#-------------------------------------------------------------
# Functions
#-------------------------------------------------------------
@@ -630,12 +640,3 @@ endif ()
# save it in case of re-inclusion
set(FAMILY_MCUS ${FAMILY_MCUS} CACHE INTERNAL "")
-
-#----------------------------------
-# Zephyr
-#----------------------------------
-if (RTOS STREQUAL zephyr)
- set(BOARD_ROOT ${TOP}/hw/bsp/${FAMILY})
- set(ZEPHYR_BOARD_ALIASES ${CMAKE_CURRENT_LIST_DIR}/zephyr_board_aliases.cmake)
- find_package(Zephyr REQUIRED HINTS ${TOP}/zephyr)
-endif ()
diff --git a/hw/bsp/nrf/family.cmake b/hw/bsp/nrf/family.cmake
index f4c9bd63f..abfab1609 100644
--- a/hw/bsp/nrf/family.cmake
+++ b/hw/bsp/nrf/family.cmake
@@ -3,8 +3,12 @@ include_guard()
set(NRFX_PATH ${TOP}/hw/mcu/nordic/nrfx)
set(CMSIS_DIR ${TOP}/lib/CMSIS_5)
-# include board specific
-include(${CMAKE_CURRENT_LIST_DIR}/boards/${BOARD}/board.cmake)
+# include board specific, for zephyr BOARD_ALIAS may be used instead
+if (EXISTS ${CMAKE_CURRENT_LIST_DIR}/boards/${BOARD}/board.cmake)
+ include(${CMAKE_CURRENT_LIST_DIR}/boards/${BOARD}/board.cmake)
+else ()
+ include(${CMAKE_CURRENT_LIST_DIR}/boards/${BOARD_ALIAS}/board.cmake)
+endif ()
# toolchain set up
if (MCU_VARIANT STREQUAL "nrf5340_application")
@@ -19,7 +23,6 @@ set(CMAKE_TOOLCHAIN_FILE ${TOP}/examples/build_system/cmake/toolchain/arm_${TOOL
set(FAMILY_MCUS NRF5X CACHE INTERNAL "")
-
#------------------------------------
# BOARD_TARGET
#------------------------------------
@@ -134,7 +137,6 @@ function(family_configure_example TARGET RTOS)
target_include_directories(${TARGET} PUBLIC ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/boards/${BOARD_ALIAS})
endif ()
-
# Add TinyUSB target and port source
family_add_tinyusb(${TARGET} OPT_MCU_NRF5X)
target_sources(${TARGET} PRIVATE