Some checks failed
Basic Checks / license-check (push) Has been cancelled
Basic Checks / include-check (push) Has been cancelled
Basic Checks / style-check (push) Has been cancelled
Basic Checks / docs-check (push) Has been cancelled
Basic Checks / python-tests (push) Has been cancelled
Basic Checks / pin-validation (push) Has been cancelled
Basic Checks / cmake-checks (push) Has been cancelled
Basic Checks / frozen-tools-check (push) Has been cancelled
Publish or Update docker image for head of branch / prepare-tags (push) Has been cancelled
Release or update docker image for a released mbed-os version / prepare-tags (push) Has been cancelled
Publish or Update docker image for head of branch / build-container (push) Has been cancelled
Publish or Update docker image for head of branch / test-container (linux/amd64) (push) Has been cancelled
Publish or Update docker image for head of branch / test-container (linux/arm64) (push) Has been cancelled
Publish or Update docker image for head of branch / deploy-container (push) Has been cancelled
Release or update docker image for a released mbed-os version / build-container (push) Has been cancelled
Release or update docker image for a released mbed-os version / test-container (linux/amd64) (push) Has been cancelled
Release or update docker image for a released mbed-os version / test-container (linux/arm64) (push) Has been cancelled
Release or update docker image for a released mbed-os version / deploy-container (push) Has been cancelled
Prune temporary docker images / prune-images (push) Has been cancelled
94 lines
2.7 KiB
CMake
94 lines
2.7 KiB
CMake
# Copyright (c) 2021 ARM Limited. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
include(mbed_set_post_build)
|
|
|
|
#
|
|
# Merge Cortex-M4 HEX and a Cortex-M0 HEX.
|
|
#
|
|
macro(mbed_post_build_psoc6_merge_hex)
|
|
set(prefix "CYPRESS")
|
|
set(options)
|
|
set(oneValueArgs
|
|
PSOC6_TARGET
|
|
CORTEX_M0_HEX
|
|
)
|
|
set(multiValueArgs)
|
|
cmake_parse_arguments(
|
|
"${prefix}"
|
|
"${options}"
|
|
"${oneValueArgs}"
|
|
"${multipleValueArgs}"
|
|
${ARGN}
|
|
)
|
|
|
|
if("${CYPRESS_PSOC6_TARGET}" STREQUAL "${MBED_TARGET}")
|
|
function(mbed_post_build_function target)
|
|
find_package(Python3)
|
|
set(post_build_command
|
|
${Python3_EXECUTABLE} ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/PSOC6.py
|
|
merge
|
|
--elf $<TARGET_FILE_DIR:${target}>/$<TARGET_FILE_BASE_NAME:${target}>.elf
|
|
--m4hex $<TARGET_FILE_DIR:${target}>/$<TARGET_FILE_BASE_NAME:${target}>.hex
|
|
)
|
|
|
|
if(NOT "${CYPRESS_CORTEX_M0_HEX}" STREQUAL "")
|
|
list(APPEND post_build_command
|
|
--m0hex ${CYPRESS_CORTEX_M0_HEX}
|
|
)
|
|
endif()
|
|
|
|
add_custom_command(
|
|
TARGET
|
|
${target}
|
|
POST_BUILD
|
|
COMMAND
|
|
${post_build_command}
|
|
)
|
|
endfunction()
|
|
endif()
|
|
endmacro()
|
|
|
|
|
|
#
|
|
# Sign a Cortex-M4 HEX with Cortex-M0 HEX.
|
|
#
|
|
macro(mbed_post_build_psoc6_sign_image
|
|
m0hex_filename
|
|
cypress_psoc6_target
|
|
policy_file_name
|
|
boot_scheme
|
|
cm0_img_id
|
|
cm4_img_id
|
|
cortex_m0_hex
|
|
)
|
|
if("${cypress_psoc6_target}" STREQUAL "${MBED_TARGET}")
|
|
function(mbed_post_build_function target)
|
|
find_package(Python3)
|
|
|
|
set(post_build_command
|
|
${Python3_EXECUTABLE} ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/PSOC6.py
|
|
sign
|
|
--build-dir ${CMAKE_BINARY_DIR}
|
|
--m0hex-filename ${m0hex_filename}
|
|
--target-name ${cypress_psoc6_target}
|
|
--policy-file-name ${policy_file_name}
|
|
--boot-scheme ${boot_scheme}
|
|
--cm0-img-id ${cm0_img_id}
|
|
--cm4-img-id ${cm4_img_id}
|
|
--elf $<TARGET_FILE_DIR:${target}>/$<TARGET_FILE_BASE_NAME:${target}>.elf
|
|
--m4hex $<TARGET_FILE_DIR:${target}>/$<TARGET_FILE_BASE_NAME:${target}>.hex
|
|
--m0hex ${cortex_m0_hex}
|
|
)
|
|
|
|
add_custom_command(
|
|
TARGET
|
|
${target}
|
|
POST_BUILD
|
|
COMMAND
|
|
${post_build_command}
|
|
)
|
|
endfunction()
|
|
endif()
|
|
endmacro()
|