Skip to content

Commit 2398d86

Browse files
committed
Adding ARM support
1 parent 8d9a60a commit 2398d86

File tree

7 files changed

+1504
-2
lines changed

7 files changed

+1504
-2
lines changed

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ target_sources(mbed-imx
1717
port_api.c
1818
pwmout_api.c
1919
rtc_api.c
20-
sleep.c
2120
spi_api.c
2221
watchdog_api.c
2322
)

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT1050/TARGET_EVK/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ target_sources(mbed-evk
2020
PeripheralPins.c
2121
pinmap.c
2222
serial_api.c
23+
sleep.c
2324
specific.c
2425
trng_api.c
2526
us_ticker.c

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT1170/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33

44
add_subdirectory(TARGET_EVK EXCLUDE_FROM_ALL)
55

6-
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
6+
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
7+
set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MIMXRT1176_cm7.S)
8+
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MIMXRT1176xxxxx.sct)
9+
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
710
set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MIMXRT1176_cm7.S)
811
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MIMXRT1170xxxxx.ld)
912
endif()
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
#!armclang --target=arm-arm-none-eabi -mcpu=cortex-m7 -E -x c
2+
/*
3+
** ###################################################################
4+
** Processors: MIMXRT1176AVM8A_cm7
5+
** MIMXRT1176CVM8A_cm7
6+
** MIMXRT1176DVMAA_cm7
7+
**
8+
** Compiler: Keil ARM C/C++ Compiler
9+
** Reference manual: IMXRT1170RM, Rev 0, 12/2020
10+
** Version: rev. 1.0, 2020-12-29
11+
** Build: b210202
12+
**
13+
** Abstract:
14+
** Linker file for the Keil ARM C/C++ Compiler
15+
**
16+
** Copyright 2016 Freescale Semiconductor, Inc.
17+
** Copyright 2016-2021 NXP
18+
** All rights reserved.
19+
**
20+
** SPDX-License-Identifier: BSD-3-Clause
21+
**
22+
** http: www.nxp.com
23+
24+
**
25+
** ###################################################################
26+
*/
27+
28+
#define __ram_vector_table__ 1
29+
30+
#if (defined(__ram_vector_table__))
31+
#define __ram_vector_table_size__ 0x00000400
32+
#else
33+
#define __ram_vector_table_size__ 0x00000000
34+
#endif
35+
36+
#if !defined(MBED_APP_START)
37+
#define MBED_APP_START 0x30000400
38+
#endif
39+
40+
#if !defined(MBED_APP_SIZE)
41+
#define MBED_APP_SIZE 0x1000000
42+
#endif
43+
44+
#if !defined(MBED_APP_COMPILE)
45+
#define m_flash_config_start MBED_APP_START
46+
#define m_flash_config_size 0x00000C00
47+
48+
#define m_ivt_start MBED_APP_START + 0x0C00
49+
#define m_ivt_size 0x00001000
50+
51+
#define m_interrupts_start MBED_APP_START + 0x1C00
52+
#define m_interrupts_size 0x00000400
53+
54+
#define m_text_start MBED_APP_START + 0x2000
55+
#define m_text_size MBED_APP_SIZE - 0x2000
56+
#else
57+
#define m_interrupts_start MBED_APP_START
58+
#define m_interrupts_size 0x00000400
59+
60+
#define m_text_start MBED_APP_START + 0x400
61+
#define m_text_size MBED_APP_SIZE - 0x400
62+
#endif
63+
64+
#define m_text2_start 0x00000000
65+
#define m_text2_size 0x00040000
66+
67+
#define m_data_start 0x80000000
68+
#define m_data_size 0x03000000
69+
70+
#define m_ncache_start 0x83000000
71+
#define m_ncache_size 0x01000000 - Heap_Size
72+
73+
#define m_interrupts_ram_start 0x20000000
74+
#define m_interrupts_ram_size __ram_vector_table_size__
75+
76+
#define m_data2_start (m_interrupts_ram_start + m_interrupts_ram_size)
77+
#define m_data2_size (0x00040000 - m_interrupts_ram_size)
78+
79+
#define m_data3_start 0x202C0000
80+
#define m_data3_size 0x00080000
81+
82+
/* Sizes */
83+
84+
#if !defined(MBED_CONF_TARGET_BOOT_STACK_SIZE)
85+
# if defined(MBED_BOOT_STACK_SIZE)
86+
# define MBED_CONF_TARGET_BOOT_STACK_SIZE MBED_BOOT_STACK_SIZE
87+
# else
88+
# define MBED_CONF_TARGET_BOOT_STACK_SIZE 0x400
89+
# endif
90+
#endif
91+
92+
#if (defined(__stack_size__))
93+
#define Stack_Size __stack_size__
94+
#else
95+
#define Stack_Size MBED_CONF_TARGET_BOOT_STACK_SIZE
96+
#endif
97+
98+
#if (defined(__heap_size__))
99+
#define Heap_Size __heap_size__
100+
#else
101+
#define Heap_Size 0x0400
102+
#endif
103+
104+
LR_IROM1 MBED_APP_START m_text_start+m_text_size-MBED_APP_START { ; load region size_region
105+
#if !defined(MBED_APP_COMPILE)
106+
RW_m_config_text m_flash_config_start FIXED m_flash_config_size { ; load address = execution address
107+
* (.boot_hdr.conf, +FIRST)
108+
}
109+
110+
RW_m_ivt_text m_ivt_start FIXED m_ivt_size { ; load address = execution address
111+
* (.boot_hdr.ivt, +FIRST)
112+
* (.boot_hdr.boot_data)
113+
* (.boot_hdr.dcd_data)
114+
}
115+
#endif
116+
VECTOR_ROM m_interrupts_start FIXED m_interrupts_size { ; load address = execution address
117+
* (RESET,+FIRST)
118+
}
119+
ER_IROM1 m_text_start FIXED m_text_size { ; load address = execution address
120+
* (InRoot$$Sections)
121+
.ANY (+RO)
122+
}
123+
124+
#if (defined(__ram_vector_table__))
125+
VECTOR_RAM m_interrupts_ram_start EMPTY m_interrupts_ram_size {
126+
}
127+
#else
128+
VECTOR_RAM m_interrupts_start EMPTY 0 {
129+
}
130+
#endif
131+
RW_m_data m_data_start m_data_size { ; RW data
132+
.ANY (+RW +ZI)
133+
*(m_usb_dma_init_data)
134+
*(m_usb_dma_noninit_data)
135+
}
136+
RW_IRAM1 ImageLimit(RW_m_data) {
137+
}
138+
ARM_LIB_HEAP AlignExpr(+0, 16) EMPTY (m_data_start + m_data_size - Stack_Size - AlignExpr(ImageLimit(RW_IRAM1), 16)) {
139+
}
140+
ARM_LIB_STACK m_data_start+m_data_size EMPTY -Stack_Size { ; Stack region growing down
141+
}
142+
RW_m_ram_text m_text2_start m_text2_size {
143+
* (CodeQuickAccess)
144+
}
145+
RW_m_ncache m_ncache_start m_ncache_size { ; ncache RW data
146+
* (NonCacheable.init)
147+
* (*NonCacheable)
148+
}
149+
}
150+

0 commit comments

Comments
 (0)