makes start.S, entry.S and link.lds configurable
This commit is contained in:
parent
82bd81bb60
commit
a33b51a708
@ -1,6 +1,11 @@
|
||||
cmake_minimum_required(VERSION 3.21)
|
||||
project(mnrs-bsp LANGUAGES ASM C)
|
||||
|
||||
set(LINKER_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/env/${BOARD}/link.lds"
|
||||
CACHE FILEPATH "Linker script to use for BSP linking")
|
||||
set(BSP_STARTUP "${CMAKE_CURRENT_SOURCE_DIR}/env/start.S"
|
||||
CACHE FILEPATH "Path to the BSP startup assembly file")
|
||||
set(BSP_TRAP_HANDLER "${CMAKE_CURRENT_SOURCE_DIR}/env/entry.S"
|
||||
CACHE FILEPATH "Assembly file implementing trap handler")
|
||||
if(NOT DEFINED BOARD)
|
||||
message(FATAL_ERROR "No Board selected")
|
||||
endif()
|
||||
@ -17,7 +22,7 @@ if(SEMIHOSTING)
|
||||
add_compile_definitions(SEMIHOSTING)
|
||||
endif()
|
||||
|
||||
add_library(startup STATIC env/start.S env/entry.S)
|
||||
add_library(startup STATIC ${BSP_STARTUP} ${BSP_TRAP_HANDLER})
|
||||
target_include_directories(startup PUBLIC env include)
|
||||
|
||||
add_subdirectory(libwrap)
|
||||
@ -25,7 +30,7 @@ add_subdirectory(libwrap)
|
||||
add_library(bsp STATIC env/${BOARD}/init.c)
|
||||
target_link_libraries(bsp PUBLIC startup wrap)
|
||||
target_include_directories(bsp PUBLIC env/${BOARD})
|
||||
target_link_options(bsp INTERFACE LINKER:--no-warn-rwx-segments -nostartfiles -T ${CMAKE_CURRENT_SOURCE_DIR}/env/${BOARD}/link.lds)
|
||||
target_link_options(bsp INTERFACE LINKER:--no-warn-rwx-segments -nostartfiles -T ${LINKER_SCRIPT})
|
||||
|
||||
if(SEMIHOSTING)
|
||||
target_include_directories(bsp INTERFACE include)
|
||||
|
Loading…
x
Reference in New Issue
Block a user