diff --git a/targets/CMakeLists.txt b/targets/CMakeLists.txt index ac595d18ed..9a95cc43a3 100644 --- a/targets/CMakeLists.txt +++ b/targets/CMakeLists.txt @@ -3,6 +3,8 @@ if("ARM_FM" IN_LIST MBED_TARGET_LABELS) add_subdirectory(TARGET_ARM_FM) +elseif("Analog_Devices" IN_LIST MBED_TARGET_LABELS) + add_subdirectory(TARGET_Analog_Devices) elseif("Cypress" IN_LIST MBED_TARGET_LABELS) add_subdirectory(TARGET_Cypress) elseif("Freescale" IN_LIST MBED_TARGET_LABELS) @@ -17,8 +19,12 @@ elseif("NUVOTON" IN_LIST MBED_TARGET_LABELS) add_subdirectory(TARGET_NUVOTON) elseif("NXP" IN_LIST MBED_TARGET_LABELS) add_subdirectory(TARGET_NXP) +elseif("Samsung" IN_LIST MBED_TARGET_LABELS) + add_subdirectory(TARGET_Samsung) elseif("Silicon_Labs" IN_LIST MBED_TARGET_LABELS) add_subdirectory(TARGET_Silicon_Labs) elseif("STM" IN_LIST MBED_TARGET_LABELS) add_subdirectory(TARGET_STM) +elseif("WICED" IN_LIST MBED_TARGET_LABELS) + add_subdirectory(TARGET_WICED) endif() diff --git a/targets/TARGET_Analog_Devices/CMakeLists.txt b/targets/TARGET_Analog_Devices/CMakeLists.txt new file mode 100644 index 0000000000..dab2845316 --- /dev/null +++ b/targets/TARGET_Analog_Devices/CMakeLists.txt @@ -0,0 +1,13 @@ +# Copyright (c) 2020 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +if("ADUCM4X50" IN_LIST MBED_TARGET_LABELS) + add_subdirectory(TARGET_ADUCM4X50) +elseif("ADUCM302X" IN_LIST MBED_TARGET_LABELS) + add_subdirectory(TARGET_ADUCM302X) +endif() + +target_include_directories(mbed-core + INTERFACE + . +) diff --git a/targets/TARGET_Analog_Devices/TARGET_ADUCM302X/CMakeLists.txt b/targets/TARGET_Analog_Devices/TARGET_ADUCM302X/CMakeLists.txt new file mode 100644 index 0000000000..48f63d8f14 --- /dev/null +++ b/targets/TARGET_Analog_Devices/TARGET_ADUCM302X/CMakeLists.txt @@ -0,0 +1,6 @@ +# Copyright (c) 2020 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +if("ADUCM3029" IN_LIST MBED_TARGET_LABELS) + add_subdirectory(TARGET_ADUCM3029) +endif() diff --git a/targets/TARGET_Analog_Devices/TARGET_ADUCM302X/TARGET_ADUCM3029/CMakeLists.txt b/targets/TARGET_Analog_Devices/TARGET_ADUCM302X/TARGET_ADUCM3029/CMakeLists.txt new file mode 100644 index 0000000000..05238d3d87 --- /dev/null +++ b/targets/TARGET_Analog_Devices/TARGET_ADUCM302X/TARGET_ADUCM3029/CMakeLists.txt @@ -0,0 +1,105 @@ +# Copyright (c) 2020 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +if(${MBED_TOOLCHAIN} STREQUAL "ARM") + set(LINKER_FILE TOOLCHAIN_ARM_STD/ADuCM3029.sct) +elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") + set(LINKER_FILE TOOLCHAIN_GCC_ARM/ADuCM3029.ld) +endif() + +if ("EV_COG_AD3029LZ" IN_LIST MBED_TARGET_LABELS) + target_include_directories(mbed-core + INTERFACE + TARGET_EV_COG_AD3029LZ + TARGET_EV_COG_AD3029LZ/device + ) + + target_sources(mbed-core + INTERFACE + TARGET_EV_COG_AD3029LZ/device/system_ADuCM3029.c + TARGET_EV_COG_AD3029LZ/device/startup_ADuCM3029.c + ) + +set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE}) + +target_include_directories(mbed-core + INTERFACE + api + bsp + bsp/adc + bsp/beep + bsp/config + bsp/crc + bsp/crypto + bsp/drivers/adc + bsp/drivers/beep + bsp/drivers/crc + bsp/drivers/crypto + bsp/drivers/dma + bsp/drivers/flash + bsp/drivers/general + bsp/drivers/gpio + bsp/drivers/i2c + bsp/drivers/pwr + bsp/drivers/rng + bsp/drivers/rtc + bsp/drivers/spi + bsp/drivers/sport + bsp/drivers/tmr + bsp/drivers/uart + bsp/drivers/wdt + bsp/drivers/xint + bsp/flash + bsp/gpio + bsp/i2c + bsp/pwr + bsp/rng + bsp/rtc + bsp/rtos_map + bsp/spi + bsp/sport + bsp/sys + bsp/uart + bsp/xint +) + +target_sources(mbed-core + INTERFACE + bsp/crypto/adi_crypto.c + bsp/wdt/adi_wdt.c + bsp/crc/adi_crc.c + bsp/i2c/adi_i2c.c + bsp/i2c/adi_i2c_data.c + bsp/sport/adi_sport.c + bsp/tmr/adi_tmr_data.c + bsp/tmr/adi_tmr.c + bsp/flash/adi_flash.c + bsp/flash/adi_flash_data.c + bsp/spi/adi_spi_data.c + bsp/spi/adi_spi.c + bsp/xint/adi_xint.c + bsp/adc/adi_adc.c + bsp/adc/adi_adc_data.c + bsp/beep/adi_beep.c + bsp/rtc/adi_rtc_data.c + bsp/rtc/adi_rtc.c + bsp/pwr/adi_pwr.c + bsp/dma/adi_dma.c + bsp/gpio/adi_gpio.c + bsp/uart/adi_uart.c + bsp/rng/adi_rng.c + api/us_ticker.c + api/serial_api.c + api/gpio_dev_mem.c + api/gpio_api.c + api/flash_api.c + api/spi_api.c + api/i2c_api.c + api/gpio_irq_api.c + api/trng_api.c + api/sleep.c + api/PeripheralPins.c + api/analogin_api.c + api/rtc_api.c + api/pinmap.c +) diff --git a/targets/TARGET_Analog_Devices/TARGET_ADUCM302X/TARGET_ADUCM3029/TOOLCHAIN_ARM_STD/ADuCM3029.sct b/targets/TARGET_Analog_Devices/TARGET_ADUCM302X/TARGET_ADUCM3029/TOOLCHAIN_ARM_STD/ADuCM3029.sct index d38887344e..b252d25417 100755 --- a/targets/TARGET_Analog_Devices/TARGET_ADUCM302X/TARGET_ADUCM3029/TOOLCHAIN_ARM_STD/ADuCM3029.sct +++ b/targets/TARGET_Analog_Devices/TARGET_ADUCM302X/TARGET_ADUCM3029/TOOLCHAIN_ARM_STD/ADuCM3029.sct @@ -1,4 +1,4 @@ -#! armcc -E +#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m3 ;****************************************************************************** ; File: ADuCM3029.sct ; Scatter loading file for Analog Devices ADuCM3029 processor diff --git a/targets/TARGET_Analog_Devices/TARGET_ADUCM4X50/CMakeLists.txt b/targets/TARGET_Analog_Devices/TARGET_ADUCM4X50/CMakeLists.txt new file mode 100644 index 0000000000..4e018e32c6 --- /dev/null +++ b/targets/TARGET_Analog_Devices/TARGET_ADUCM4X50/CMakeLists.txt @@ -0,0 +1,6 @@ +# Copyright (c) 2020 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +if ("ADUCM4050" IN_LIST MBED_TARGET_LABELS) + add_subdirectory(TARGET_ADUCM4050) +endif() diff --git a/targets/TARGET_Analog_Devices/TARGET_ADUCM4X50/TARGET_ADUCM4050/CMakeLists.txt b/targets/TARGET_Analog_Devices/TARGET_ADUCM4X50/TARGET_ADUCM4050/CMakeLists.txt new file mode 100644 index 0000000000..6c8fdc01e6 --- /dev/null +++ b/targets/TARGET_Analog_Devices/TARGET_ADUCM4X50/TARGET_ADUCM4050/CMakeLists.txt @@ -0,0 +1,107 @@ +# Copyright (c) 2020 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") + set(LINKER_FILE TOOLCHAIN_GCC_ARM/ADuCM4050.ld) +elseif(${MBED_TOOLCHAIN} STREQUAL "ARM") + set(LINKER_FILE TOOLCHAIN_ARM_STD/ADuCM4050.sct) +endif() + +if("EV_COG_AD4050LZ" IN_LIST MBED_TARGET_LABELS) + target_include_directories(mbed-core + INTERFACE + TARGET_EV_COG_AD4050LZ + TARGET_EV_COG_AD4050LZ/device + ) + + target_sources(mbed-core + INTERFACE + TARGET_EV_COG_AD4050LZ/device/system_ADuCM4050.c + TARGET_EV_COG_AD4050LZ/device/startup_ADuCM4050.c + ) +endif() + +set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE}) + +target_include_directories(mbed-core + INTERFACE + api + bsp + bsp/adc + bsp/beep + bsp/config + bsp/crc + bsp/crypto + bsp/drivers/adc + bsp/drivers/beep + bsp/drivers/crc + bsp/drivers/crypto + bsp/drivers/dma + bsp/drivers/flash + bsp/drivers/general + bsp/drivers/gpio + bsp/drivers/i2c + bsp/drivers/pwr + bsp/drivers/rng + bsp/drivers/rtc + bsp/drivers/spi + bsp/drivers/sport + bsp/drivers/tmr + bsp/drivers/uart + bsp/drivers/wdt + bsp/drivers/xint + bsp/flash + bsp/gpio + bsp/i2c + bsp/pwr + bsp/rng + bsp/rtc + bsp/rtos_map + bsp/spi + bsp/sport + bsp/sys + bsp/uart + bsp/xint +) + +target_sources(mbed-core + INTERFACE + bsp/crypto/adi_crypto.c + bsp/wdt/adi_wdt.c + bsp/crc/adi_crc.c + bsp/i2c/adi_i2c.c + bsp/i2c/adi_i2c_data.c + bsp/sport/adi_sport.c + bsp/tmr/adi_tmr_data.c + bsp/tmr/adi_tmr.c + bsp/flash/adi_flash.c + bsp/flash/adi_flash_data.c + bsp/spi/adi_spi_data.c + bsp/spi/adi_spi.c + bsp/xint/adi_xint.c + bsp/adc/adi_adc.c + bsp/adc/adi_adc_data.c + bsp/beep/adi_beep.c + bsp/rtc/adi_rtc_data.c + bsp/rtc/adi_rtc.c + bsp/pwr/adi_pwr.c + bsp/dma/adi_dma.c + bsp/gpio/adi_gpio.c + bsp/uart/adi_uart.c + bsp/rng/adi_rng.c + api/us_ticker.c + api/serial_api.c + api/gpio_dev_mem.c + api/gpio_api.c + api/flash_api.c + api/spi_api.c + api/i2c_api.c + api/gpio_irq_api.c + api/trng_api.c + api/sleep.c + api/PeripheralPins.c + api/analogin_api.c + api/rtc_api.c + api/pinmap.c + + ) diff --git a/targets/TARGET_Analog_Devices/TARGET_ADUCM4X50/TARGET_ADUCM4050/TOOLCHAIN_ARM_STD/ADuCM4050.sct b/targets/TARGET_Analog_Devices/TARGET_ADUCM4X50/TARGET_ADUCM4050/TOOLCHAIN_ARM_STD/ADuCM4050.sct index 8bc497c0a5..6b29768375 100755 --- a/targets/TARGET_Analog_Devices/TARGET_ADUCM4X50/TARGET_ADUCM4050/TOOLCHAIN_ARM_STD/ADuCM4050.sct +++ b/targets/TARGET_Analog_Devices/TARGET_ADUCM4X50/TARGET_ADUCM4050/TOOLCHAIN_ARM_STD/ADuCM4050.sct @@ -1,4 +1,4 @@ -#! armcc -E +#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m4 ;****************************************************************************** ; File: ADuCM4050.sct ; Scatter loading file for Analog Devices ADuCM4050 processor diff --git a/targets/TARGET_Samsung/CMakeLists.txt b/targets/TARGET_Samsung/CMakeLists.txt new file mode 100644 index 0000000000..4a93bfe1dd --- /dev/null +++ b/targets/TARGET_Samsung/CMakeLists.txt @@ -0,0 +1,8 @@ +# Copyright (c) 2020 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +if("SIDK_S1SBP6A" IN_LIST MBED_TARGET_LABELS) + add_subdirectory(TARGET_SIDK_S1SBP6A) +elseif("SIDK_S5JS100" IN_LIST MBED_TARGET_LABELS) + add_subdirectory(TARGET_SIDK_S5JS100) +endif() diff --git a/targets/TARGET_Samsung/TARGET_SIDK_S1SBP6A/CMakeLists.txt b/targets/TARGET_Samsung/TARGET_SIDK_S1SBP6A/CMakeLists.txt new file mode 100644 index 0000000000..d4cc5de3fb --- /dev/null +++ b/targets/TARGET_Samsung/TARGET_SIDK_S1SBP6A/CMakeLists.txt @@ -0,0 +1,44 @@ +# 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/s1sbp6a.sct) + set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_s1sbp6a.S) +elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") + set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/s1sbp6a.ld) + set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_s1sbp6a.S) +endif() + +set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE}) + +target_include_directories(mbed-core + INTERFACE + . + device +) + +target_sources(mbed-core + INTERFACE + PeripheralPins.c + flash_api.c + gpio_api.c + gpio_irq_api.c + i2c_api.c + pinmap.c + rtc_api.c + serial_api.c + sleep_api.c + spi_api.c + us_ticker.c + watchdog_api.c + + device/s1sbp6a_cmu.c + device/s1sbp6a_gpio.c + device/s1sbp6a_i2c.c + device/s1sbp6a_pmu.c + device/s1sbp6a_rtc.c + device/s1sbp6a_wdog.c + device/system_s1sbp6a.c + + ${STARTUP_FILE} +) diff --git a/targets/TARGET_Samsung/TARGET_SIDK_S1SBP6A/device/TOOLCHAIN_ARM_STD/s1sbp6a.sct b/targets/TARGET_Samsung/TARGET_SIDK_S1SBP6A/device/TOOLCHAIN_ARM_STD/s1sbp6a.sct index 26641b4667..5288d9a2d2 100644 --- a/targets/TARGET_Samsung/TARGET_SIDK_S1SBP6A/device/TOOLCHAIN_ARM_STD/s1sbp6a.sct +++ b/targets/TARGET_Samsung/TARGET_SIDK_S1SBP6A/device/TOOLCHAIN_ARM_STD/s1sbp6a.sct @@ -1,4 +1,4 @@ -#! armcc -E +#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m4 ;* Copyright (c) 2006-2019 ARM Limited ;* All rights reserved. ;* SPDX-License-Identifier: Apache-2.0 diff --git a/targets/TARGET_Samsung/TARGET_SIDK_S5JS100/CMakeLists.txt b/targets/TARGET_Samsung/TARGET_SIDK_S5JS100/CMakeLists.txt new file mode 100644 index 0000000000..929a500ac5 --- /dev/null +++ b/targets/TARGET_Samsung/TARGET_SIDK_S5JS100/CMakeLists.txt @@ -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/sidk_s5js100.sct) + set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_sidk_s5js100.S) +elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") + set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/sidk_s5js100.ld) + set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_sidk_s5js100.S) +endif() + +set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE}) + +target_include_directories(mbed-core + INTERFACE + . + device + modem + security_subsystem + security_subsystem/drivers +) + +target_sources(mbed-core + INTERFACE + gpio_api.c + gpio_irq_api.c + i2c_api.c + + mbed_sdk_init.c + pinmap.c + rtc_api.c + s5js100_dcxo.cpp + s5js100_pmip.c + s5js100_pwr.c + s5js100_watchdog.c + security_subsystem + serial_api.c + serial_dummy_api.c + serial_pl011_api.c + serial_usi_api.c + sleep.c + spi_api.c + us_ticker.c + watchdog_api.c + + device/s5js100_pwrcal.c + device/s5js100_systemreset.c + device/sflash_api.cpp + device/system_core_s5js100.c + device/system_core_version.c + device/system_s5js100.c + + security_subsystem/api/trng_api.c + + security_subsystem/drivers/mb_cmd_hash.c + security_subsystem/drivers/mb_cmd_rng.c + security_subsystem/drivers/mb_cmd_system.c + security_subsystem/drivers/sss_driver_rng.c + security_subsystem/drivers/sss_driver_sha2.c + security_subsystem/drivers/sss_driver_util.c + + ${STARTUP_FILE} +) diff --git a/targets/TARGET_Samsung/TARGET_SIDK_S5JS100/device/TOOLCHAIN_ARM_STD/sidk_s5js100.sct b/targets/TARGET_Samsung/TARGET_SIDK_S5JS100/device/TOOLCHAIN_ARM_STD/sidk_s5js100.sct index 136a9cbb59..727ed332e9 100755 --- a/targets/TARGET_Samsung/TARGET_SIDK_S5JS100/device/TOOLCHAIN_ARM_STD/sidk_s5js100.sct +++ b/targets/TARGET_Samsung/TARGET_SIDK_S5JS100/device/TOOLCHAIN_ARM_STD/sidk_s5js100.sct @@ -1,4 +1,4 @@ -#! armcc -E +#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m7 ;/**************************************************************************** ; * ; * Copyright 2020 Samsung Electronics All Rights Reserved. diff --git a/targets/TARGET_Samsung/TARGET_SIDK_S5JS100/device/system_core_s5js100.c b/targets/TARGET_Samsung/TARGET_SIDK_S5JS100/device/system_core_s5js100.c index ecc3abe754..70b462926e 100644 --- a/targets/TARGET_Samsung/TARGET_SIDK_S5JS100/device/system_core_s5js100.c +++ b/targets/TARGET_Samsung/TARGET_SIDK_S5JS100/device/system_core_s5js100.c @@ -129,7 +129,7 @@ HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) #define S5JS100_BOOTMEM_BASE 0x00000000 extern uint32_t __vector_table; extern uint32_t __Vectors_Size; -#elif defined (TOOLCHAIN_ARM_STD)/*__ARMCC_VERSION)*/ +#elif defined(__ARMCC_VERSION) #define S5JS100_BOOTMEM_BASE 0x00000000 extern uint32_t __Vectors; extern uint32_t __Vectors_Size; @@ -166,7 +166,7 @@ void SystemCoreConfig() //*dest++ = *src++; } -#elif defined (TOOLCHAIN_ARM_STD)/*__ARMCC_VERSION)*/ +#elif defined(__ARMCC_VERSION) src = (uint32_t *)&__Vectors; dest = (uint32_t *)S5JS100_BOOTMEM_BASE; diff --git a/targets/TARGET_WICED/CMakeLists.txt b/targets/TARGET_WICED/CMakeLists.txt new file mode 100644 index 0000000000..ac1832a9ad --- /dev/null +++ b/targets/TARGET_WICED/CMakeLists.txt @@ -0,0 +1,22 @@ +# Copyright (c) 2020 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +if("WIO_EMW3166" IN_LIST MBED_TARGET_LABELS) + if(${MBED_TOOLCHAIN} STREQUAL "ARM") + set(LIB_WICED_DRIVERS TOOLCHAIN_ARMC6/TARGET_WIO_EMW3166/libwiced_drivers.ar) + elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") + set(LIB_WICED_DRIVERS TOOLCHAIN_GCC_ARM/TARGET_WIO_EMW3166/libwiced_drivers.a) + endif() +endif() + +target_link_libraries(mbed-core INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/${LIB_WICED_DRIVERS}) + +target_include_directories(mbed-core + INTERFACE + wiced_interface +) + +target_sources(mbed-core + INTERFACE + wiced_interface/default_wifi_interface.cpp +) diff --git a/tools/cmake/README.md b/tools/cmake/README.md index 6ddc5aac16..0dc5b091a0 100644 --- a/tools/cmake/README.md +++ b/tools/cmake/README.md @@ -20,14 +20,17 @@ Only a limited set of targets is supported at the moment. The following targets are supported: - NRF52840_DK +- Analog Devices targets - ARM FM targets - Cypress targets - Freescale targets - GigaDevice targets - MAXIM targets - NXP targets +- Samsung targets - Silicon Labs targets - STM targets +- WICED targets ### Supported toolchains