Add initial board, HAL, and executor modules

This commit is contained in:
wang committed 2026-05-07 17:24:10 +08:00
1 parent 3b9e129c88
commit 0b2eebe76d
82 files changed
+20611

No files matched your search

+35
View File
@@ -0,0 +1,35 @@
# 根据 menuconfig 中选择的板卡配置,自动匹配 boards/board_v* 目录
# 这样新增板卡时,只要:
# 1. 增加对应的 Kconfig 项,例如 CONFIG_BOARD_VERSION_V1_1_18
# 2. 新增目录 02_physical/boards/board_v1_1_18/
# 就不需要再修改 main/CMakeLists.txt
set(BOARD_ROOT_DIR "${CMAKE_CURRENT_LIST_DIR}")
set(MAIN_ROOT_DIR "${CMAKE_CURRENT_LIST_DIR}/../..")
set(SELECTED_BOARD_DIR "")
file(GLOB BOARD_CANDIDATE_DIRS RELATIVE "${BOARD_ROOT_DIR}" "${BOARD_ROOT_DIR}/board_v*")
foreach(board_dir ${BOARD_CANDIDATE_DIRS})
if(IS_DIRECTORY "${BOARD_ROOT_DIR}/${board_dir}")
string(REGEX REPLACE "^board_" "" board_suffix "${board_dir}")
string(TOUPPER "${board_suffix}" board_suffix_upper)
set(board_config_var "CONFIG_BOARD_VERSION_${board_suffix_upper}")
if(DEFINED ${board_config_var} AND ${board_config_var})
set(SELECTED_BOARD_DIR "02_physical/boards/${board_dir}")
break()
endif()
endif()
endforeach()
if(NOT SELECTED_BOARD_DIR)
message(FATAL_ERROR "Please select a board version in menuconfig")
endif()
target_sources(${COMPONENT_LIB} PRIVATE "${SELECTED_BOARD_DIR}/board_sweekar.cc")
target_sources(${COMPONENT_LIB} PRIVATE "${SELECTED_BOARD_DIR}/io_expansion_board.cc")
target_include_directories(${COMPONENT_LIB} PRIVATE "${SELECTED_BOARD_DIR}")
# 添加到 main 目录,使类似 "boards/config.h" 的包含路径保持兼容
target_include_directories(${COMPONENT_LIB} PRIVATE "${MAIN_ROOT_DIR}")