Build system refactoring
The source tree is configured for a specific target as defined in the
targets directory.
The common target components are defined in targets/common. Targets
for real platform should include this directory to get the default
target libraries setup.
Change-Id: I7fced4bfacec97432cbbd4125bd5b4cdd21122e3
diff --git a/targets/corstone-300/CMakeLists.txt b/targets/corstone-300/CMakeLists.txt
index b141ac9..d162537 100644
--- a/targets/corstone-300/CMakeLists.txt
+++ b/targets/corstone-300/CMakeLists.txt
@@ -17,7 +17,7 @@
#
#############################################################################
-# Toolchain
+# Default parameters
#############################################################################
set(TARGET_CPU "cortex-m55")
@@ -26,6 +26,14 @@
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/toolchain/armclang.cmake")
endif()
+set(ETHOSU_COMMAND_DEFAULT
+ FVP_Corstone_SSE-300_Ethos-U55
+ -C mps3_board.visualisation.disable-visualisation=1
+ -C mps3_board.telnetterminal0.start_telnet=0
+ -C mps3_board.uart0.out_file="-"
+ -C mps3_board.uart0.unbuffered_output=1
+ -C mps3_board.uart0.shutdown_tag="EXITTHESIM")
+
#############################################################################
# Project
#############################################################################
@@ -34,42 +42,34 @@
project(ethos-u-corstone-300 VERSION 0.0.1)
+include(CTest)
+
include(${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/helpers.cmake)
#############################################################################
-# Configuration
-#############################################################################
-
-set(ETHOS_U_CORE_SOFTWARE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../core_software" CACHE PATH "Path to Arm Ethos-U Core Software")
-
-#############################################################################
-# Core software
-#############################################################################
-
-set(CORE_SOFTWARE_RTOS "FreeRTOS" CACHE STRING "")
-
-add_subdirectory(${ETHOS_U_CORE_SOFTWARE_PATH} core_software)
-
-#############################################################################
# Corstone-300
#############################################################################
-add_executable(ethosu_corstone_300)
+add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../common target)
-target_sources(ethosu_corstone_300 PRIVATE
- main.cpp
+# Linker script
+ethosu_target_link_options(ethosu_target_link INTERFACE
+ LINK_FILE platform
+ ENTRY Reset_Handler)
+
+# Add drivers
+target_sources(ethosu_target_startup INTERFACE
retarget.c
- uart.c)
+ uart.c
+ target.cpp)
-target_link_libraries(ethosu_corstone_300 PRIVATE
- ethosu_core
- $<TARGET_OBJECTS:cmsis_startup>
- cmsis_device)
+target_compile_definitions(ethosu_core_driver PUBLIC ETHOSU)
+target_link_libraries(ethosu_target_startup INTERFACE ethosu_core_driver)
-add_dependencies(ethosu_corstone_300 cmsis_startup)
+###############################################################################
+# Applications
+###############################################################################
-target_link_options(ethosu_corstone_300 PRIVATE
- --entry Reset_Handler)
+# Add all applications
+add_subdirectory(../../applications applications)
-ethosu_link_options(ethosu_corstone_300 PRIVATE
- LINK_FILE platform)