1# 2# Arm SCP/MCP Software 3# Copyright (c) 2021, Arm Limited and Contributors. All rights reserved. 4# 5# SPDX-License-Identifier: BSD-3-Clause 6# 7 8# 9# Create the firmware target. 10# 11 12add_executable(juno-bl1-bypass) 13 14target_compile_definitions(juno-bl1-bypass PUBLIC -DSCP_ROM_BYPASS=1) 15 16target_include_directories( 17 juno-bl1-bypass PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../include" 18 "${CMAKE_CURRENT_SOURCE_DIR}") 19 20# cmake-lint: disable=E1122 21 22target_sources( 23 juno-bl1-bypass 24 PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/config_juno_ppu.c" 25 "${CMAKE_CURRENT_SOURCE_DIR}/config_juno_rom.c" 26 "${CMAKE_CURRENT_SOURCE_DIR}/config_juno_soc_clock.c" 27 "${CMAKE_CURRENT_SOURCE_DIR}/config_clock.c" 28 "${CMAKE_CURRENT_SOURCE_DIR}/config_timer.c" 29 "${CMAKE_CURRENT_SOURCE_DIR}/config_sds.c" 30 "${CMAKE_CURRENT_SOURCE_DIR}/config_bootloader.c" 31 "${CMAKE_CURRENT_SOURCE_DIR}/juno_pll_workaround.c" 32 "${CMAKE_CURRENT_SOURCE_DIR}/../src/juno_utils.c" 33 "${CMAKE_CURRENT_SOURCE_DIR}/../src/juno_id.c") 34 35# 36# We explicitly add the CMSIS include directories to our interfaceinclude 37# directories. Each module target adds these include directories totheir own, 38# allowing them to include any firmware includes we expose. 39# 40target_include_directories( 41 juno-bl1-bypass 42 PUBLIC $<TARGET_PROPERTY:cmsis::core-m,INTERFACE_INCLUDE_DIRECTORIES>) 43 44if(CMAKE_C_COMPILER_ID STREQUAL "GNU") 45 target_link_options(juno-bl1-bypass 46 PUBLIC "LINKER:--wrap=arch_exception_reset") 47endif() 48