cmake: add simics emu support

Add simics as a simulation platform allowing running platforms
supported in simics to be run using west or twister.

Originally authored by: Maureen Helm

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
Anas Nashif 2024-08-28 12:06:44 +00:00 committed by Carles Cufí
commit e31a0908c1
2 changed files with 35 additions and 0 deletions

View file

@ -0,0 +1,5 @@
# Copyright (c) 2023 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
board_finalize_emu_args(simics)

30
cmake/emu/simics.cmake Normal file
View file

@ -0,0 +1,30 @@
# Copyright (c) 2023 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
find_program(
SIMICS
NAMES simics
)
zephyr_get(SIMICS_SCRIPT_PATH SYSBUILD GLOBAL)
if(SIMICS_SCRIPT_PATH)
set(SIMICS_SCRIPT ${SIMICS_SCRIPT_PATH})
else()
set(SIMICS_SCRIPT ${BOARD_DIR}/support/${BOARD}.simics)
endif()
get_property(SIMICS_ARGS GLOBAL PROPERTY "BOARD_EMU_ARGS_simics")
add_custom_target(run_simics
COMMAND
${SIMICS}
-no-gui
-no-win
${SIMICS_SCRIPT}
${SIMICS_ARGS}
-e run
WORKING_DIRECTORY ${APPLICATION_BINARY_DIR}
DEPENDS ${logical_target_for_zephyr_elf}
USES_TERMINAL
)