summaryrefslogtreecommitdiff
path: root/hw/bsp/imxrt
diff options
context:
space:
mode:
authorhathach <[email protected]>2023-04-20 14:09:38 +0700
committerhathach <[email protected]>2023-04-20 14:09:38 +0700
commitfab48e5bcc0708077a0efb6f2412b92a6529bc3e (patch)
tree631b401b08413c90177f31d49897ea47074f3706 /hw/bsp/imxrt
parent9771c76f25d0c28612abb7afbd6202f7fe5e85c1 (diff)
adding cmake build for imxrt1010
Diffstat (limited to 'hw/bsp/imxrt')
-rw-r--r--hw/bsp/imxrt/boards/mimxrt1010_evk/board.cmake10
-rw-r--r--hw/bsp/imxrt/family.cmake69
2 files changed, 79 insertions, 0 deletions
diff --git a/hw/bsp/imxrt/boards/mimxrt1010_evk/board.cmake b/hw/bsp/imxrt/boards/mimxrt1010_evk/board.cmake
new file mode 100644
index 000000000..52d1846ea
--- /dev/null
+++ b/hw/bsp/imxrt/boards/mimxrt1010_evk/board.cmake
@@ -0,0 +1,10 @@
+set(MCU_VARIANT MIMXRT1011)
+
+target_sources(${PROJECT} PUBLIC
+ ${CMAKE_CURRENT_LIST_DIR}/evkmimxrt1010_flexspi_nor_config.c
+ )
+
+target_compile_definitions(${PROJECT} PUBLIC
+ CPU_MIMXRT1011DAE5A
+ CFG_EXAMPLE_VIDEO_READONLY
+ )
diff --git a/hw/bsp/imxrt/family.cmake b/hw/bsp/imxrt/family.cmake
new file mode 100644
index 000000000..1e095ebfb
--- /dev/null
+++ b/hw/bsp/imxrt/family.cmake
@@ -0,0 +1,69 @@
+# toolchain set up, include before project()
+if (NOT TARGET ${PROJECT})
+ set(CMAKE_SYSTEM_PROCESSOR cortex-m7 CACHE INTERNAL "System Processor")
+ set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_LIST_DIR}/../../../cmake/toolchain/arm_${TOOLCHAIN}.cmake)
+else ()
+ if (NOT BOARD)
+ message(FATAL_ERROR "BOARD not specified")
+ endif ()
+
+ set(SDK_DIR ${TOP}/hw/mcu/nxp/mcux-sdk)
+ set(DEPS_SUBMODULES ${SDK_DIR})
+
+ # include basic family CMake functionality
+ #set(FAMILY_MCUS RP2040)
+
+ include(${CMAKE_CURRENT_LIST_DIR}/boards/${BOARD}/board.cmake)
+
+ target_compile_definitions(${PROJECT} PUBLIC
+ CFG_TUSB_MCU=OPT_MCU_MIMXRT
+ __ARMVFP__=0
+ __ARMFPV5__=0
+ XIP_EXTERNAL_FLASH=1
+ XIP_BOOT_HEADER_ENABLE=1
+ )
+
+ target_link_options(${PROJECT} PUBLIC
+ --specs=nosys.specs
+ --specs=nano.specs
+ #-lgcc -lm -lnosys
+ )
+
+# target_link_libraries(${PROJECT} PUBLIC
+# -lgcc -lm -lnosys
+# )
+
+ target_sources(${PROJECT} PUBLIC
+ # TinyUSB
+ ${TOP}/src/portable/chipidea/ci_hs/dcd_ci_hs.c
+ ${TOP}/src/portable/chipidea/ci_hs/hcd_ci_hs.c
+ ${TOP}/src/portable/ehci/ehci.c
+ # BSP
+ ${CMAKE_CURRENT_LIST_DIR}/family.c
+ ${SDK_DIR}/drivers/common/fsl_common.c
+ ${SDK_DIR}/drivers/igpio/fsl_gpio.c
+ ${SDK_DIR}/drivers/lpuart/fsl_lpuart.c
+ ${SDK_DIR}/devices/${MCU_VARIANT}/system_${MCU_VARIANT}.c
+ ${SDK_DIR}/devices/${MCU_VARIANT}/xip/fsl_flexspi_nor_boot.c
+ ${SDK_DIR}/devices/${MCU_VARIANT}/project_template/clock_config.c
+ ${SDK_DIR}/devices/${MCU_VARIANT}/drivers/fsl_clock.c
+ )
+
+ if (TOOLCHAIN STREQUAL "gcc")
+ target_sources(${PROJECT} PUBLIC
+ ${SDK_DIR}/devices/${MCU_VARIANT}/gcc/startup_${MCU_VARIANT}.S
+ )
+ endif ()
+
+ target_include_directories(${PROJECT} PUBLIC
+ ${CMAKE_CURRENT_LIST_DIR}
+ ${CMAKE_CURRENT_LIST_DIR}/boards/${BOARD}
+ ${SDK_DIR}/CMSIS/Include
+ ${SDK_DIR}/devices/${MCU_VARIANT}
+ ${SDK_DIR}/devices/${MCU_VARIANT}/project_template
+ ${SDK_DIR}/devices/${MCU_VARIANT}/drivers
+ ${SDK_DIR}/drivers/common
+ ${SDK_DIR}/drivers/igpio
+ ${SDK_DIR}/drivers/lpuart
+ )
+endif ()