From 69a4745c5178b0a1126a98bf077e2fd65241e1c6 Mon Sep 17 00:00:00 2001 From: Kshitij Sisodia Date: Fri, 23 Jul 2021 17:43:54 +0100 Subject: Generating bin files for simple_platform. Breaking down the elf(axf) file into bin blobs for the simple_platform target too. Change-Id: Ie909508433ef03f8b4a32e04bc69353aed0d0849 --- CMakeLists.txt | 12 ++++++++---- scripts/cmake/bare-metal-sources.cmake | 12 +++++++----- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3345b6f..1347879 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -385,21 +385,25 @@ foreach(use_case ${USE_CASES}) add_target_map_file(${TARGET_NAME} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TARGET_NAME}.map) endif() - if (${TARGET_PLATFORM} STREQUAL mps3) + if (${TARGET_PLATFORM} STREQUAL mps3 OR ${TARGET_PLATFORM} STREQUAL simple_platform) set(SECTORS_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sectors) set(SECTORS_BIN_DIR ${SECTORS_DIR}/${use_case}) file(REMOVE_RECURSE ${SECTORS_BIN_DIR}) file(MAKE_DIRECTORY ${SECTORS_BIN_DIR}) - file(COPY ${MPS3_FPGA_CONFIG} DESTINATION ${SECTORS_DIR}) add_bin_generation_command( TARGET_NAME ${TARGET_NAME} OUTPUT_DIR ${SECTORS_BIN_DIR} AXF_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TARGET_NAME}.axf - SECTION_PATTERNS "${MPS3_SECTION_PATTERNS}" - OUTPUT_BIN_NAMES "${MPS3_OUTPUT_BIN_NAMES}") + SECTION_PATTERNS "${LINKER_SECTION_TAGS}" + OUTPUT_BIN_NAMES "${LINKER_OUTPUT_BIN_TAGS}") + + if (${TARGET_PLATFORM} STREQUAL mps3) + file(COPY ${MPS3_FPGA_CONFIG} DESTINATION ${SECTORS_DIR}) + endif() + elseif (${TARGET_PLATFORM} STREQUAL native) # If native build tests diff --git a/scripts/cmake/bare-metal-sources.cmake b/scripts/cmake/bare-metal-sources.cmake index 2bfe616..95950df 100644 --- a/scripts/cmake/bare-metal-sources.cmake +++ b/scripts/cmake/bare-metal-sources.cmake @@ -65,17 +65,19 @@ if (TARGET_PLATFORM STREQUAL mps3) # For deployment on the MPS3 FPGA platform, we need to produce # two bin files - one that is loaded into the ITCM, and another # that is loaded into the DDR region. - set(MPS3_SECTION_PATTERNS "*.at_itcm" "*.at_ddr") - set(MPS3_OUTPUT_BIN_NAMES "itcm.bin" "ddr.bin") + set(LINKER_SECTION_TAGS "*.at_itcm" "*.at_ddr") + set(LINKER_OUTPUT_BIN_TAGS "itcm.bin" "ddr.bin") set(MPS3_FPGA_CONFIG "${CMAKE_CURRENT_SOURCE_DIR}/scripts/${TARGET_PLATFORM}/${TARGET_SUBSYSTEM}/images.txt") else () message(FATAL_ERROR "Non compatible target subsystem: ${TARGET_SUBSYSTEM}") endif () elseif (TARGET_PLATFORM STREQUAL simple_platform) - set(BSP_PACKAGE_DIR "${PLAT_HAL}/bsp/bsp-packs/${TARGET_PLATFORM}") - set(LINKER_SCRIPT_NAME "${TARGET_PLATFORM}") + set(BSP_PACKAGE_DIR "${PLAT_HAL}/bsp/bsp-packs/${TARGET_PLATFORM}") + set(LINKER_SCRIPT_NAME "${TARGET_PLATFORM}") include(${MEM_PROFILES_SRC_DIR}/${TARGET_PLATFORM}.cmake) - set(OPTIONAL_FLAGS "${OPTIONAL_FLAGS}") + set(OPTIONAL_FLAGS "${OPTIONAL_FLAGS}") + set(LINKER_SECTION_TAGS "*.at_itcm" "*.at_ddr") + set(LINKER_OUTPUT_BIN_TAGS "itcm.bin" "ddr.bin") else () message(FATAL_ERROR "Non compatible target platform ${TARGET_PLATFORM}") endif () -- cgit v1.2.1