mirror of https://github.com/ARMmbed/mbed-os.git
				
				
				
			Merge pull request #13968 from hugueskamba/hk_cmake_arm_ssg_support
CMake: Add support for all ARM SSG Mbed targetspull/14159/head
						commit
						d841c77921
					
				| 
						 | 
				
			
			@ -108,7 +108,6 @@ add_subdirectory(storage EXCLUDE_FROM_ALL)
 | 
			
		|||
add_subdirectory(drivers/device_key EXCLUDE_FROM_ALL)
 | 
			
		||||
add_subdirectory(drivers/usb EXCLUDE_FROM_ALL)
 | 
			
		||||
add_subdirectory(features EXCLUDE_FROM_ALL)
 | 
			
		||||
add_subdirectory(platform/FEATURE_EXPERIMENTAL_API EXCLUDE_FROM_ALL)
 | 
			
		||||
add_subdirectory(cmsis/CMSIS_5/CMSIS/RTOS2 EXCLUDE_FROM_ALL)
 | 
			
		||||
add_subdirectory(cmsis/device/rtos EXCLUDE_FROM_ALL)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,6 +4,9 @@
 | 
			
		|||
# List of all optional platform libraries available.
 | 
			
		||||
add_library(mbed-psa INTERFACE)
 | 
			
		||||
 | 
			
		||||
if("EXPERIMENTAL_API" IN_LIST MBED_TARGET_LABELS)
 | 
			
		||||
    add_subdirectory(FEATURE_EXPERIMENTAL_API)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
add_subdirectory(cxxsupport)
 | 
			
		||||
add_subdirectory(mbed-trace)
 | 
			
		||||
| 
						 | 
				
			
			@ -16,3 +19,4 @@ target_include_directories(mbed-core
 | 
			
		|||
        include/platform
 | 
			
		||||
        include/platform/internal
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,8 +11,8 @@ endif()
 | 
			
		|||
 | 
			
		||||
target_include_directories(mbed-psa
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        ./inc
 | 
			
		||||
        ./inc/psa
 | 
			
		||||
        inc
 | 
			
		||||
        inc/psa
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
target_sources(mbed-psa
 | 
			
		||||
| 
						 | 
				
			
			@ -20,11 +20,7 @@ target_sources(mbed-psa
 | 
			
		|||
        src/psa_hrng.c
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
target_link_libraries(mbed-psa
 | 
			
		||||
target_link_libraries(mbed-core
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        mbed-mbedtls
 | 
			
		||||
        mbed-storage-kvstore
 | 
			
		||||
        mbed-storage-tdbstore
 | 
			
		||||
        mbed-storage-kv-global-api
 | 
			
		||||
        mbed-device_key
 | 
			
		||||
        mbed-psa
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,14 +1,22 @@
 | 
			
		|||
# Copyright (c) 2020 ARM Limited. All rights reserved.
 | 
			
		||||
# SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 | 
			
		||||
add_subdirectory(services)
 | 
			
		||||
 | 
			
		||||
target_include_directories(mbed-psa
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        ./inc
 | 
			
		||||
        ./inc/psa
 | 
			
		||||
        ./mbedtls
 | 
			
		||||
        ./pal
 | 
			
		||||
        inc
 | 
			
		||||
        inc/psa
 | 
			
		||||
        mbedtls
 | 
			
		||||
        pal
 | 
			
		||||
        services/platform
 | 
			
		||||
        services/attestation
 | 
			
		||||
        services/attestation/qcbor
 | 
			
		||||
        services/attestation/qcbor/inc
 | 
			
		||||
        services/attestation/qcbor/src
 | 
			
		||||
        services/attestation/tfm_impl
 | 
			
		||||
        services/attestation/tfm_impl/t_cose/inc
 | 
			
		||||
        services/attestation/tfm_impl/t_cose/src
 | 
			
		||||
        services/storage/common
 | 
			
		||||
        services/storage/its
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
target_sources(mbed-psa
 | 
			
		||||
| 
						 | 
				
			
			@ -26,6 +34,46 @@ target_sources(mbed-psa
 | 
			
		|||
        pal/pal_internal_trusted_storage_intf.c
 | 
			
		||||
        pal/pal_protected_storage_intf.c
 | 
			
		||||
 | 
			
		||||
        services/attestation/attest_boot_status_loader.c
 | 
			
		||||
        services/attestation/attest_crypto.c
 | 
			
		||||
        services/attestation/attest_crypto_keys.c
 | 
			
		||||
        services/attestation/attest_iat_claims_loader.c
 | 
			
		||||
        services/attestation/attestation_bootloader_data.c
 | 
			
		||||
        services/attestation/psa_attest_inject_key.c
 | 
			
		||||
        services/attestation/psa_attestation_stubs.c
 | 
			
		||||
        services/attestation/psa_initial_attestation_api.c
 | 
			
		||||
        services/attestation/psa_inject_attestation_key_impl.c
 | 
			
		||||
 | 
			
		||||
        services/attestation/qcbor/src/UsefulBuf.c
 | 
			
		||||
        services/attestation/qcbor/src/ieee754.c
 | 
			
		||||
        services/attestation/qcbor/src/qcbor_decode.c
 | 
			
		||||
        services/attestation/qcbor/src/qcbor_encode.c
 | 
			
		||||
 | 
			
		||||
        services/attestation/tfm_impl/attest_token.c
 | 
			
		||||
        services/attestation/tfm_impl/attestation_core.c
 | 
			
		||||
 | 
			
		||||
        services/attestation/tfm_impl/t_cose/src/t_cose_sign1_sign.c
 | 
			
		||||
        services/attestation/tfm_impl/t_cose/src/t_cose_util.c
 | 
			
		||||
 | 
			
		||||
        services/platform/platform_emul.c
 | 
			
		||||
        services/platform/platform_srv_impl.c
 | 
			
		||||
 | 
			
		||||
        services/storage/common/psa_storage_common_impl.cpp
 | 
			
		||||
 | 
			
		||||
        services/storage/its/pits_impl.cpp
 | 
			
		||||
        services/storage/its/psa_prot_internal_storage.cpp
 | 
			
		||||
 | 
			
		||||
        services/storage/ps/protected_storage.cpp
 | 
			
		||||
 | 
			
		||||
        src/client.c
 | 
			
		||||
        src/default_random_seed.cpp
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
target_link_libraries(mbed-psa
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        mbed-mbedtls
 | 
			
		||||
        mbed-storage-kvstore
 | 
			
		||||
        mbed-storage-tdbstore
 | 
			
		||||
        mbed-storage-kv-global-api
 | 
			
		||||
        mbed-device_key
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,16 +0,0 @@
 | 
			
		|||
# Copyright (c) 2020 ARM Limited. All rights reserved.
 | 
			
		||||
# SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 | 
			
		||||
add_subdirectory(attestation)
 | 
			
		||||
add_subdirectory(storage)
 | 
			
		||||
 | 
			
		||||
target_include_directories(mbed-psa
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        ./platform
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
target_sources(mbed-psa
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        platform/platform_emul.c
 | 
			
		||||
        platform/platform_srv_impl.c
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			@ -1,37 +0,0 @@
 | 
			
		|||
# Copyright (c) 2020 ARM Limited. All rights reserved.
 | 
			
		||||
# SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 | 
			
		||||
target_include_directories(mbed-psa
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        .
 | 
			
		||||
        ./qcbor
 | 
			
		||||
        ./qcbor/inc
 | 
			
		||||
        ./qcbor/src
 | 
			
		||||
        ./tfm_impl
 | 
			
		||||
        ./tfm_impl/t_cose/inc
 | 
			
		||||
        ./tfm_impl/t_cose/src
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
target_sources(mbed-psa
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        attest_boot_status_loader.c
 | 
			
		||||
        attest_crypto.c
 | 
			
		||||
        attest_crypto_keys.c
 | 
			
		||||
        attest_iat_claims_loader.c
 | 
			
		||||
        attestation_bootloader_data.c
 | 
			
		||||
        psa_attest_inject_key.c
 | 
			
		||||
        psa_attestation_stubs.c
 | 
			
		||||
        psa_initial_attestation_api.c
 | 
			
		||||
        psa_inject_attestation_key_impl.c
 | 
			
		||||
 | 
			
		||||
        qcbor/src/UsefulBuf.c
 | 
			
		||||
        qcbor/src/ieee754.c
 | 
			
		||||
        qcbor/src/qcbor_decode.c
 | 
			
		||||
        qcbor/src/qcbor_encode.c
 | 
			
		||||
 | 
			
		||||
        tfm_impl/attest_token.c
 | 
			
		||||
        tfm_impl/attestation_core.c
 | 
			
		||||
 | 
			
		||||
        tfm_impl/t_cose/src/t_cose_sign1_sign.c
 | 
			
		||||
        tfm_impl/t_cose/src/t_cose_util.c
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			@ -1,18 +0,0 @@
 | 
			
		|||
# Copyright (c) 2020 ARM Limited. All rights reserved.
 | 
			
		||||
# SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 | 
			
		||||
target_include_directories(mbed-psa
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        ./common
 | 
			
		||||
        ./its
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
target_sources(mbed-psa
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        common/psa_storage_common_impl.cpp
 | 
			
		||||
 | 
			
		||||
        its/pits_impl.cpp
 | 
			
		||||
        its/psa_prot_internal_storage.cpp
 | 
			
		||||
 | 
			
		||||
        ps/protected_storage.cpp
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			@ -2,18 +2,32 @@
 | 
			
		|||
# SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 | 
			
		||||
if("TFM_DUALCPU" IN_LIST MBED_TARGET_LABELS)
 | 
			
		||||
    add_subdirectory(TARGET_TFM_DUALCPU)
 | 
			
		||||
    target_sources(mbed-psa
 | 
			
		||||
        INTERFACE
 | 
			
		||||
            TARGET_TFM_DUALCPU/src/platform_multicore.c
 | 
			
		||||
            TARGET_TFM_DUALCPU/src/platform_ns_mailbox.c
 | 
			
		||||
            TARGET_TFM_DUALCPU/src/tfm_mbed_boot.c
 | 
			
		||||
            TARGET_TFM_DUALCPU/src/tfm_multi_core_api.c
 | 
			
		||||
            TARGET_TFM_DUALCPU/src/tfm_multi_core_psa_ns_api.c
 | 
			
		||||
            TARGET_TFM_DUALCPU/src/tfm_ns_mailbox.c
 | 
			
		||||
    )
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
if("TFM_V8M" IN_LIST MBED_TARGET_LABELS)
 | 
			
		||||
    add_subdirectory(TARGET_TFM_V8M)
 | 
			
		||||
    target_sources(mbed-psa
 | 
			
		||||
        INTERFACE
 | 
			
		||||
            TARGET_TFM_V8M/src/cmsis_nvic_virtual.c
 | 
			
		||||
            TARGET_TFM_V8M/src/tfm_mbed_boot.c
 | 
			
		||||
            TARGET_TFM_V8M/src/tfm_ns_interface.c
 | 
			
		||||
            TARGET_TFM_V8M/src/tfm_psa_ns_api.c
 | 
			
		||||
    )
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
target_include_directories(mbed-psa
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        ./include
 | 
			
		||||
        ./include/psa
 | 
			
		||||
        ./include/psa_manifest
 | 
			
		||||
        include
 | 
			
		||||
        include/psa
 | 
			
		||||
        include/psa_manifest
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
target_sources(mbed-psa
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,12 +0,0 @@
 | 
			
		|||
# Copyright (c) 2020 ARM Limited. All rights reserved.
 | 
			
		||||
# SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 | 
			
		||||
target_sources(mbed-psa
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        src/platform_multicore.c
 | 
			
		||||
        src/platform_ns_mailbox.c
 | 
			
		||||
        src/tfm_mbed_boot.c
 | 
			
		||||
        src/tfm_multi_core_api.c
 | 
			
		||||
        src/tfm_multi_core_psa_ns_api.c
 | 
			
		||||
        src/tfm_ns_mailbox.c
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			@ -1,10 +0,0 @@
 | 
			
		|||
# Copyright (c) 2020 ARM Limited. All rights reserved.
 | 
			
		||||
# SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 | 
			
		||||
target_sources(mbed-psa
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        src/cmsis_nvic_virtual.c
 | 
			
		||||
        src/tfm_mbed_boot.c
 | 
			
		||||
        src/tfm_ns_interface.c
 | 
			
		||||
        src/tfm_psa_ns_api.c
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			@ -2,18 +2,32 @@
 | 
			
		|||
# SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 | 
			
		||||
if("TFM_DUALCPU" IN_LIST MBED_TARGET_LABELS)
 | 
			
		||||
    add_subdirectory(TARGET_TFM_DUALCPU)
 | 
			
		||||
    target_sources(mbed-psa
 | 
			
		||||
        INTERFACE
 | 
			
		||||
            TARGET_TFM_DUALCPU/src/platform_multicore.c
 | 
			
		||||
            TARGET_TFM_DUALCPU/src/platform_ns_mailbox.c
 | 
			
		||||
            TARGET_TFM_DUALCPU/src/tfm_mbed_boot.c
 | 
			
		||||
            TARGET_TFM_DUALCPU/src/tfm_multi_core_api.c
 | 
			
		||||
            TARGET_TFM_DUALCPU/src/tfm_multi_core_psa_ns_api.c
 | 
			
		||||
            TARGET_TFM_DUALCPU/src/tfm_ns_mailbox.c
 | 
			
		||||
    )
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
if("TFM_V8M" IN_LIST MBED_TARGET_LABELS)
 | 
			
		||||
    add_subdirectory(TARGET_TFM_V8M)
 | 
			
		||||
    target_sources(mbed-psa
 | 
			
		||||
        INTERFACE
 | 
			
		||||
            TARGET_TFM_V8M/src/cmsis_nvic_virtual.c
 | 
			
		||||
            TARGET_TFM_V8M/src/tfm_mbed_boot.c
 | 
			
		||||
            TARGET_TFM_V8M/src/tfm_ns_interface.c
 | 
			
		||||
            TARGET_TFM_V8M/src/tfm_psa_ns_api.c
 | 
			
		||||
    )
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
target_include_directories(mbed-psa
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        ./include
 | 
			
		||||
        ./include/psa
 | 
			
		||||
        ./include/psa_manifest
 | 
			
		||||
        include
 | 
			
		||||
        include/psa
 | 
			
		||||
        include/psa_manifest
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
target_sources(mbed-psa
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,12 +0,0 @@
 | 
			
		|||
# Copyright (c) 2020 ARM Limited. All rights reserved.
 | 
			
		||||
# SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 | 
			
		||||
target_sources(mbed-psa
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        src/platform_multicore.c
 | 
			
		||||
        src/platform_ns_mailbox.c
 | 
			
		||||
        src/tfm_mbed_boot.c
 | 
			
		||||
        src/tfm_multi_core_api.c
 | 
			
		||||
        src/tfm_multi_core_psa_ns_api.c
 | 
			
		||||
        src/tfm_ns_mailbox.c
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			@ -1,10 +0,0 @@
 | 
			
		|||
# Copyright (c) 2020 ARM Limited. All rights reserved.
 | 
			
		||||
# SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 | 
			
		||||
target_sources(mbed-psa
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        src/cmsis_nvic_virtual.c
 | 
			
		||||
        src/tfm_mbed_boot.c
 | 
			
		||||
        src/tfm_ns_interface.c
 | 
			
		||||
        src/tfm_psa_ns_api.c
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			@ -7,6 +7,8 @@ elseif("Analog_Devices" IN_LIST MBED_TARGET_LABELS)
 | 
			
		|||
    add_subdirectory(TARGET_Analog_Devices)
 | 
			
		||||
elseif("ARM_FM" IN_LIST MBED_TARGET_LABELS)
 | 
			
		||||
    add_subdirectory(TARGET_ARM_FM)
 | 
			
		||||
elseif("ARM_SSG" IN_LIST MBED_TARGET_LABELS)
 | 
			
		||||
    add_subdirectory(TARGET_ARM_SSG)
 | 
			
		||||
elseif("Cypress" IN_LIST MBED_TARGET_LABELS)
 | 
			
		||||
    add_subdirectory(TARGET_Cypress)
 | 
			
		||||
elseif("Freescale" IN_LIST MBED_TARGET_LABELS)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,17 @@
 | 
			
		|||
# Copyright (c) 2020 ARM Limited. All rights reserved.
 | 
			
		||||
# SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 | 
			
		||||
if("CM3DS_MPS2" IN_LIST MBED_TARGET_LABELS)
 | 
			
		||||
    add_subdirectory(TARGET_CM3DS_MPS2)
 | 
			
		||||
elseif("MPS2" IN_LIST MBED_TARGET_LABELS)
 | 
			
		||||
    add_subdirectory(TARGET_MPS2)
 | 
			
		||||
elseif("MUSCA_B1" IN_LIST MBED_TARGET_LABELS)
 | 
			
		||||
    add_subdirectory(TARGET_MUSCA_B1)
 | 
			
		||||
elseif("MUSCA_S1" IN_LIST MBED_TARGET_LABELS)
 | 
			
		||||
    add_subdirectory(TARGET_MUSCA_S1)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
target_include_directories(mbed-core
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        .
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,63 @@
 | 
			
		|||
# Copyright (c) 2020 ARM Limited. All rights reserved.
 | 
			
		||||
# SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 | 
			
		||||
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
 | 
			
		||||
    set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MPS2.sct)
 | 
			
		||||
    set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
 | 
			
		||||
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
 | 
			
		||||
    set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MPS2.ld)
 | 
			
		||||
    set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
 | 
			
		||||
 | 
			
		||||
target_include_directories(mbed-core
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        .
 | 
			
		||||
        device
 | 
			
		||||
        device/drivers
 | 
			
		||||
        device/drivers/TZ-TRNG/host/src/tztrng_lib/include
 | 
			
		||||
        device/drivers/TZ-TRNG/shared/hw/include
 | 
			
		||||
        device/drivers/timer_cmsdk
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
target_sources(mbed-core
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        analogin_api.c
 | 
			
		||||
        cmsdk_ticker.c
 | 
			
		||||
        flash_api.c
 | 
			
		||||
        gpio_api.c
 | 
			
		||||
        gpio_irq_api.c
 | 
			
		||||
        i2c_api.c
 | 
			
		||||
        lp_ticker.c
 | 
			
		||||
        mbed_overrides.c
 | 
			
		||||
        pinmap.c
 | 
			
		||||
        port_api.c
 | 
			
		||||
        rtc_api.c
 | 
			
		||||
        serial_api.c
 | 
			
		||||
        sleep_api.c
 | 
			
		||||
        spi_api.c
 | 
			
		||||
        trng_api.c
 | 
			
		||||
        us_ticker.c
 | 
			
		||||
 | 
			
		||||
        device/platform_devices.c
 | 
			
		||||
        device/system_CMSDK_CM3DS.c
 | 
			
		||||
 | 
			
		||||
        device/drivers/arm_gpio_drv.c
 | 
			
		||||
        device/drivers/arm_mps2_io_drv.c
 | 
			
		||||
        device/drivers/arm_uart_drv.c
 | 
			
		||||
        device/drivers/dualtimer_cmsdk_drv.c
 | 
			
		||||
        device/drivers/rtc_pl031_drv.c
 | 
			
		||||
        device/drivers/smsc9220_eth_drv.c
 | 
			
		||||
        device/drivers/spi_pl022_drv.c
 | 
			
		||||
 | 
			
		||||
        device/drivers/TZ-TRNG/host/src/tztrng_lib/llf_rnd.c
 | 
			
		||||
        device/drivers/TZ-TRNG/host/src/tztrng_lib/llf_rnd_common.c
 | 
			
		||||
        device/drivers/TZ-TRNG/host/src/tztrng_lib/llf_rnd_cont.c
 | 
			
		||||
        device/drivers/TZ-TRNG/host/src/tztrng_lib/llf_rnd_trng90b.c
 | 
			
		||||
        device/drivers/TZ-TRNG/host/src/tztrng_lib/tztrng_driver.c
 | 
			
		||||
        device/drivers/TZ-TRNG/host/src/tztrng_lib/tztrng_pal.c
 | 
			
		||||
 | 
			
		||||
        device/drivers/timer_cmsdk/timer_cmsdk_drv.c
 | 
			
		||||
        ${STARTUP_FILE}
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
#! armcc -E
 | 
			
		||||
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m3
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * MPS2 CMSIS Library
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,112 @@
 | 
			
		|||
# Copyright (c) 2020 ARM Limited. All rights reserved.
 | 
			
		||||
# SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 | 
			
		||||
if("MPS2_M0" IN_LIST MBED_TARGET_LABELS)
 | 
			
		||||
    target_include_directories(mbed-core
 | 
			
		||||
        INTERFACE
 | 
			
		||||
            TARGET_MPS2_M0/device
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    target_sources(mbed-core
 | 
			
		||||
        INTERFACE
 | 
			
		||||
            TARGET_MPS2_M0/device/cmsis_nvic.c
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(SYSTEM_FILE TARGET_MPS2_M0/device/system_CMSDK_CM0.c)
 | 
			
		||||
 | 
			
		||||
    if(${MBED_TOOLCHAIN} STREQUAL "ARM")
 | 
			
		||||
        set(LINKER_FILE TARGET_MPS2_M0/device/TOOLCHAIN_ARM_STD/MPS2.sct)
 | 
			
		||||
        set(STARTUP_FILE TARGET_MPS2_M0/device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
 | 
			
		||||
    elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
 | 
			
		||||
        set(LINKER_FILE TARGET_MPS2_M0/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
 | 
			
		||||
        set(STARTUP_FILE TARGET_MPS2_M0/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
 | 
			
		||||
    endif()
 | 
			
		||||
elseif("MPS2_M0P" IN_LIST MBED_TARGET_LABELS)
 | 
			
		||||
    target_include_directories(mbed-core
 | 
			
		||||
        INTERFACE
 | 
			
		||||
            TARGET_MPS2_M0P/device
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(SYSTEM_FILE TARGET_MPS2_M0P/device/system_CMSDK_CM0plus.c)
 | 
			
		||||
 | 
			
		||||
    if(${MBED_TOOLCHAIN} STREQUAL "ARM")
 | 
			
		||||
        set(LINKER_FILE TARGET_MPS2_M0P/device/TOOLCHAIN_ARM_STD/MPS2.sct)
 | 
			
		||||
        set(STARTUP_FILE TARGET_MPS2_M0P/device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
 | 
			
		||||
    elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
 | 
			
		||||
        set(LINKER_FILE TARGET_MPS2_M0P/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
 | 
			
		||||
        set(STARTUP_FILE TARGET_MPS2_M0P/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
 | 
			
		||||
    endif()
 | 
			
		||||
elseif("MPS2_M3" IN_LIST MBED_TARGET_LABELS)
 | 
			
		||||
    target_include_directories(mbed-core
 | 
			
		||||
        INTERFACE
 | 
			
		||||
            TARGET_MPS2_M3/device
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(SYSTEM_FILE TARGET_MPS2_M3/device/system_CMSDK_CM3.c)
 | 
			
		||||
 | 
			
		||||
    if(${MBED_TOOLCHAIN} STREQUAL "ARM")
 | 
			
		||||
        set(LINKER_FILE TARGET_MPS2_M3/device/TOOLCHAIN_ARM_STD/MPS2.sct)
 | 
			
		||||
        set(STARTUP_FILE TARGET_MPS2_M3/device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
 | 
			
		||||
    elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
 | 
			
		||||
        set(LINKER_FILE TARGET_MPS2_M3/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
 | 
			
		||||
        set(STARTUP_FILE TARGET_MPS2_M3/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
 | 
			
		||||
    endif()
 | 
			
		||||
elseif("MPS2_M4" IN_LIST MBED_TARGET_LABELS)
 | 
			
		||||
    target_include_directories(mbed-core
 | 
			
		||||
        INTERFACE
 | 
			
		||||
            TARGET_MPS2_M4/device
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(SYSTEM_FILE TARGET_MPS2_M4/device/system_CMSDK_CM4.c)
 | 
			
		||||
 | 
			
		||||
    if(${MBED_TOOLCHAIN} STREQUAL "ARM")
 | 
			
		||||
        set(LINKER_FILE TARGET_MPS2_M4/device/TOOLCHAIN_ARM_STD/MPS2.sct)
 | 
			
		||||
        set(STARTUP_FILE TARGET_MPS2_M4/device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
 | 
			
		||||
    elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
 | 
			
		||||
        set(LINKER_FILE TARGET_MPS2_M4/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
 | 
			
		||||
        set(STARTUP_FILE TARGET_MPS2_M4/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
 | 
			
		||||
    endif()
 | 
			
		||||
elseif("MPS2_M7" IN_LIST MBED_TARGET_LABELS)
 | 
			
		||||
    target_include_directories(mbed-core
 | 
			
		||||
        INTERFACE
 | 
			
		||||
            TARGET_MPS2_M7/device
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set(SYSTEM_FILE TARGET_MPS2_M7/device/system_CMSDK_CM7.c)
 | 
			
		||||
 | 
			
		||||
    if(${MBED_TOOLCHAIN} STREQUAL "ARM")
 | 
			
		||||
        set(LINKER_FILE TARGET_MPS2_M7/device/TOOLCHAIN_ARM_STD/MPS2.sct)
 | 
			
		||||
        set(STARTUP_FILE TARGET_MPS2_M7/device/TOOLCHAIN_ARM_STD/startup_CMSDK_CM7.S)
 | 
			
		||||
    elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
 | 
			
		||||
        set(LINKER_FILE TARGET_MPS2_M7/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
 | 
			
		||||
        set(STARTUP_FILE TARGET_MPS2_M7/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
 | 
			
		||||
    endif()
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
 | 
			
		||||
 | 
			
		||||
target_include_directories(mbed-core
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        .
 | 
			
		||||
        SDK
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
target_sources(mbed-core
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        analogin_api.c
 | 
			
		||||
        gpio_api.c
 | 
			
		||||
        gpio_irq_api.c
 | 
			
		||||
        i2c_api.c
 | 
			
		||||
        pinmap.c
 | 
			
		||||
        port_api.c
 | 
			
		||||
        serial_api.c
 | 
			
		||||
        spi_api.c
 | 
			
		||||
        us_ticker.c
 | 
			
		||||
 | 
			
		||||
        SDK/ETH_MPS2.c
 | 
			
		||||
        SDK/fpga.c
 | 
			
		||||
        SDK/mps2_ethernet_api.c
 | 
			
		||||
 | 
			
		||||
        ${SYSTEM_FILE}
 | 
			
		||||
        ${STARTUP_FILE}
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
#! armcc -E
 | 
			
		||||
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m0
 | 
			
		||||
;* MPS2 CMSIS Library
 | 
			
		||||
;*
 | 
			
		||||
;* Copyright (c) 2006-2019 Arm Limited
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
#! armcc -E
 | 
			
		||||
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m0plus
 | 
			
		||||
;* MPS2 CMSIS Library
 | 
			
		||||
;*
 | 
			
		||||
;* Copyright (c) 2006-2019 Arm Limited
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
#! armcc -E
 | 
			
		||||
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m3
 | 
			
		||||
;* MPS2 CMSIS Library
 | 
			
		||||
;*
 | 
			
		||||
;* Copyright (c) 2006-2019 Arm Limited
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
#! armcc -E
 | 
			
		||||
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m4
 | 
			
		||||
 | 
			
		||||
;* MPS2 CMSIS Library
 | 
			
		||||
;*
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
#! armcc -E
 | 
			
		||||
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m7
 | 
			
		||||
 | 
			
		||||
;* MPS2 CMSIS Library
 | 
			
		||||
;*
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,54 @@
 | 
			
		|||
# Copyright (c) 2020 ARM Limited. All rights reserved.
 | 
			
		||||
# SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 | 
			
		||||
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
 | 
			
		||||
    set(LINKER_FILE device/TOOLCHAIN_ARMC6/musca_ns.sct)
 | 
			
		||||
    set(STARTUP_FILE device/TOOLCHAIN_ARMC6/startup_cmsdk_musca_ns.S)
 | 
			
		||||
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
 | 
			
		||||
    set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/musca_ns.ld)
 | 
			
		||||
    set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_cmsdk_musca_ns.S)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
 | 
			
		||||
 | 
			
		||||
target_include_directories(mbed-core
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        .
 | 
			
		||||
        device
 | 
			
		||||
        device/drivers
 | 
			
		||||
        partition
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
target_sources(mbed-core
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        gpio_api_ns.c
 | 
			
		||||
        gpio_irq_api.c
 | 
			
		||||
        i2c_api.c
 | 
			
		||||
        lp_ticker.c
 | 
			
		||||
        mbed_serial_platform.c
 | 
			
		||||
        pinmap_ns.c
 | 
			
		||||
        serial_api.c
 | 
			
		||||
        sleep_api.c
 | 
			
		||||
        tfm_ioctl_ns_api.c
 | 
			
		||||
        us_ticker.c
 | 
			
		||||
 | 
			
		||||
        device/device_definition.c
 | 
			
		||||
        device/system_core_init.c
 | 
			
		||||
 | 
			
		||||
        device/drivers/gpio_cmsdk_drv.c
 | 
			
		||||
        device/drivers/i2c_ip6510_drv.c
 | 
			
		||||
        device/drivers/musca_b1_scc_drv.c
 | 
			
		||||
        device/drivers/timer_cmsdk_drv.c
 | 
			
		||||
        device/drivers/timer_gp_drv.c
 | 
			
		||||
        device/drivers/uart_pl011_drv.c
 | 
			
		||||
 | 
			
		||||
        partition/image_macros_preprocessed_ns.c
 | 
			
		||||
        partition/image_macros_preprocessed_s.c
 | 
			
		||||
 | 
			
		||||
        ${STARTUP_FILE}
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
target_link_libraries(mbed-core
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/s_veneers.o
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,60 @@
 | 
			
		|||
# Copyright (c) 2020 ARM Limited. All rights reserved.
 | 
			
		||||
# SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 | 
			
		||||
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
 | 
			
		||||
    set(LINKER_FILE device/TOOLCHAIN_ARMC6/musca_ns.sct)
 | 
			
		||||
    set(STARTUP_FILE device/TOOLCHAIN_ARMC6/startup_cmsdk_musca_ns.S)
 | 
			
		||||
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
 | 
			
		||||
    set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/musca_ns.ld)
 | 
			
		||||
    set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_cmsdk_musca_ns.S)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
 | 
			
		||||
 | 
			
		||||
target_include_directories(mbed-core
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        .
 | 
			
		||||
        device
 | 
			
		||||
        device/drivers
 | 
			
		||||
        Libraries
 | 
			
		||||
        partition
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
target_sources(mbed-core
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        flash_api_qspi.c
 | 
			
		||||
        gpio_api_ns.c
 | 
			
		||||
        gpio_irq_api.c
 | 
			
		||||
        i2c_api.c
 | 
			
		||||
        lp_ticker.c
 | 
			
		||||
        mbed_serial_platform.c
 | 
			
		||||
        pinmap.c
 | 
			
		||||
        serial_api.c
 | 
			
		||||
        sleep_api.c
 | 
			
		||||
        tfm_ioctl_ns_api.c
 | 
			
		||||
        us_ticker.c
 | 
			
		||||
 | 
			
		||||
        device/device_definition.c
 | 
			
		||||
        device/system_core_init.c
 | 
			
		||||
 | 
			
		||||
        device/drivers/cache_drv.c
 | 
			
		||||
        device/drivers/gpio_cmsdk_drv.c
 | 
			
		||||
        device/drivers/i2c_ip6510_drv.c
 | 
			
		||||
        device/drivers/musca_s1_scc_drv.c
 | 
			
		||||
        device/drivers/qspi_ip6514e_drv.c
 | 
			
		||||
        device/drivers/timer_cmsdk_drv.c
 | 
			
		||||
        device/drivers/timer_gp_drv.c
 | 
			
		||||
        device/drivers/uart_pl011_drv.c
 | 
			
		||||
 | 
			
		||||
        Libraries/mt25ql_flash_lib.c
 | 
			
		||||
 | 
			
		||||
        partition/image_macros_preprocessed_ns.c
 | 
			
		||||
        partition/image_macros_preprocessed_s.c
 | 
			
		||||
 | 
			
		||||
        ${STARTUP_FILE}
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
target_link_libraries(mbed-core
 | 
			
		||||
    INTERFACE
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/s_veneers.o
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			@ -22,6 +22,7 @@ The following targets are supported:
 | 
			
		|||
- Ambiq Micro targets
 | 
			
		||||
- Analog Devices targets
 | 
			
		||||
- ARM FM targets
 | 
			
		||||
- ARM SSG targets
 | 
			
		||||
- Cypress targets
 | 
			
		||||
- Freescale targets
 | 
			
		||||
- GigaDevice targets
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,16 +9,10 @@ if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
 | 
			
		|||
        "-march=armv8-m.main"
 | 
			
		||||
    )
 | 
			
		||||
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
 | 
			
		||||
    list(APPEND c_cxx_compile_options
 | 
			
		||||
    list(APPEND common_options
 | 
			
		||||
        "-mcpu=cortex-m33+nodsp"
 | 
			
		||||
        "-mfpu=none"
 | 
			
		||||
    )
 | 
			
		||||
    list(APPEND asm_compile_options
 | 
			
		||||
        "-mcpu=Cortex-M33.no_dsp.no_fp"
 | 
			
		||||
    )
 | 
			
		||||
    list(APPEND link_options
 | 
			
		||||
        "--cpu=Cortex-M33.no_dsp.no_fp"
 | 
			
		||||
    )
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
function(mbed_set_cpu_core_definitions target)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,16 +9,10 @@ if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
 | 
			
		|||
        "-march=armv8-m.main"
 | 
			
		||||
    )
 | 
			
		||||
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
 | 
			
		||||
    list(APPEND c_cxx_compile_options
 | 
			
		||||
    list(APPEND common_options
 | 
			
		||||
        "-mcpu=cortex-m33+nodsp"
 | 
			
		||||
        "-mfpu=none"
 | 
			
		||||
    )
 | 
			
		||||
    list(APPEND asm_compile_options
 | 
			
		||||
        "-mcpu=Cortex-M33.no_dsp.no_fp"
 | 
			
		||||
    )
 | 
			
		||||
    list(APPEND link_options
 | 
			
		||||
        "--cpu=Cortex-M33.no_dsp.no_fp"
 | 
			
		||||
    )
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
function(mbed_set_cpu_core_definitions target)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue