1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
SET(CMAKE_SYSTEM_NAME Generic)
SET(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_SYSTEM_VERSION 1)
set(TOOLCHAIN_PREFIX "arm-none-eabi")
# specify the cross compiler
if(WIN32)
set(CMAKE_C_COMPILER ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}-gcc.exe CACHE INTERNAL "")
set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}-g++.exe CACHE INTERNAL "")
set(CMAKE_STRIP ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}-strip.exe CACHE INTERNAL "")
set(CMAKE_OBJCOPY ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}-objcopy.exe CACHE INTERNAL "")
else()
#make shure that if TOOLCHAIN_PATH exists finishes with /
if (${TOOLCHAIN_PATH})
string(APPEND ${TOOLCHAIN_PATH} "/")
endif()
set(CMAKE_C_COMPILER ${TOOLCHAIN_PATH}${TOOLCHAIN_PREFIX}-gcc CACHE INTERNAL "")
set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PATH}${TOOLCHAIN_PREFIX}-g++ CACHE INTERNAL "")
set(CMAKE_STRIP ${TOOLCHAIN_PATH}${TOOLCHAIN_PREFIX}-strip CACHE INTERNAL "")
set(CMAKE_OBJCOPY ${TOOLCHAIN_PATH}${TOOLCHAIN_PREFIX}-objcopy CACHE INTERNAL "")
endif()
set(LDSCRIPTSDIR "${CMAKE_CURRENT_LIST_DIR}/board/rt1051/ldscripts" CACHE INTERNAL "")
set(PROJECT_TARGET "TARGET_RT1051" CACHE INTERNAL "")
add_compile_definitions(
CPU_MIMXRT1051DVL6B_cm7
CPU_MIMXRT1051DVL6B
__MCUXPRESSO
__USE_CMSIS
__NEWLIB__
SKIP_SYSCLK_INIT
_HAVE_SQLITE_CONFIG_H
CPP_FREERTOS_NO_EXCEPTIONS
_GLIBCXX_HAVE_DIRENT_H
)
set(TARGET_COMPILE_OPTIONS
-mcpu=cortex-m7
-mthumb
-mfloat-abi=hard
-mfpu=fpv5-sp-d16
-fsingle-precision-constant
-ffunction-sections
-fdata-sections
-MMD
-MP
-fno-builtin
-mno-unaligned-access
-Werror
-Wno-psabi
$<$<COMPILE_LANGUAGE:CXX>:-Wno-register> # "register" keyword was marked as deprecated in C++17
$<$<COMPILE_LANGUAGE:CXX>:-Wno-literal-suffix>
$<$<COMPILE_LANGUAGE:CXX>:-Wno-register> # "register"
CACHE INTERNAL ""
)
set(TARGET_COMPILE_FEATURES
CACHE INTERNAL "" )
set(TARGET_SOURCES
${CMAKE_CURRENT_LIST_DIR}/board/rt1051/_exit.c
${CMAKE_CURRENT_LIST_DIR}/board/rt1051/newlib/io_syscalls.cpp
${CMAKE_CURRENT_LIST_DIR}/board/rt1051/newlib/fs_dir.cc
${CMAKE_CURRENT_LIST_DIR}/board/rt1051/memwrap.c
${CMAKE_CURRENT_LIST_DIR}/board/rt1051/xip/evkbimxrt1050_flexspi_nor_config.c
${CMAKE_CURRENT_LIST_DIR}/board/rt1051/xip/evkbimxrt1050_sdram_ini_dcd.c
${CMAKE_CURRENT_LIST_DIR}/board/rt1051/xip/fsl_flexspi_nor_boot.c
${CMAKE_CURRENT_LIST_DIR}/board/rt1051/crashdump/crashcatcher_impl.cpp
${CMAKE_CURRENT_LIST_DIR}/board/rt1051/crashdump/crashdumpwriter_vfs.cpp
${CMAKE_CURRENT_LIST_DIR}/board/rt1051/crashdump/consoledump.cpp
CACHE INTERNAL ""
)
set(TARGET_DIR_INCLUDES
${CMAKE_CURRENT_LIST_DIR}/board/rt1051
CACHE INTERNAL "" )
set(BOARD_DIR_INCLUDES
${CMAKE_CURRENT_LIST_DIR}/board/rt1051/newlib/include
)
set(TARGET_LIBRARIES
CACHE INTERNAL ""
)
set(TARGET_LINK_OPTIONS
CACHE INTERNAL ""
)
# where is the target environment
SET(CMAKE_FIND_ROOT_PATH ${TOOLCHAIN_PATH}/${TOOLCHAIN_PREFIX})
# search for programs in the build host directories
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# for libraries and headers in the target directories
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)