2023-05-24 10:55:34 +02:00
|
|
|
# Copyright (c) 2023-2024 Intel Corporation
|
2024-08-28 12:06:44 +00:00
|
|
|
#
|
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
|
|
|
find_program(
|
|
|
|
SIMICS
|
|
|
|
NAMES simics
|
2023-05-24 10:55:34 +02:00
|
|
|
NO_DEFAULT_PATH
|
|
|
|
PATHS ENV SIMICS_PROJECT
|
|
|
|
# Search exactly for the project's autogenerated 'trampoline' script.
|
2024-08-28 12:06:44 +00:00
|
|
|
)
|
|
|
|
|
2023-05-24 10:55:34 +02:00
|
|
|
if(SIMICS STREQUAL SIMICS-NOTFOUND)
|
2025-04-08 09:35:57 -07:00
|
|
|
message(WARNING "Simics simulator environment is not found at SIMICS_PROJECT:'$ENV{SIMICS_PROJECT}'")
|
2024-08-28 12:06:44 +00:00
|
|
|
else()
|
2023-05-24 10:55:34 +02:00
|
|
|
message(STATUS "Found Simics: ${SIMICS}")
|
2024-08-28 12:06:44 +00:00
|
|
|
|
2023-05-24 10:55:34 +02:00
|
|
|
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()
|
2024-08-28 12:06:44 +00:00
|
|
|
|
2023-05-24 10:55:34 +02:00
|
|
|
get_property(SIMICS_ARGS GLOBAL PROPERTY "BOARD_EMU_ARGS_simics")
|
|
|
|
|
|
|
|
add_custom_target(run_simics
|
|
|
|
COMMAND
|
|
|
|
${SIMICS}
|
|
|
|
-no-gui
|
|
|
|
--no-win
|
|
|
|
--batch-mode
|
|
|
|
${SIMICS_SCRIPT}
|
|
|
|
${SIMICS_ARGS}
|
|
|
|
$ENV{SIMICS_EXTRA_ARGS}
|
|
|
|
-e run
|
|
|
|
WORKING_DIRECTORY ${APPLICATION_BINARY_DIR}
|
|
|
|
DEPENDS ${logical_target_for_zephyr_elf}
|
|
|
|
USES_TERMINAL
|
|
|
|
)
|
|
|
|
|
|
|
|
endif()
|