Skip to content

Commit 0ad9220

Browse files
committed
Add support for FRDM K66
Signed-off-by: Mahadevan Mahesh <[email protected]>
1 parent b396436 commit 0ad9220

File tree

140 files changed

+76355
-29
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

140 files changed

+76355
-29
lines changed

hal/targets.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -591,6 +591,19 @@
591591
"default_build": "standard",
592592
"release_versions": ["2", "5"]
593593
},
594+
"K66F": {
595+
"supported_form_factors": ["ARDUINO"],
596+
"core": "Cortex-M4F",
597+
"supported_toolchains": ["ARM", "GCC_ARM", "IAR"],
598+
"extra_labels": ["Freescale", "KSDK2_MCUS", "FRDM"],
599+
"is_disk_virtual": true,
600+
"macros": ["CPU_MK66FN2M0VMD18", "FSL_RTOS_MBED", "MBEDTLS_ENTROPY_HARDWARE_ALT"],
601+
"inherits": ["Target"],
602+
"progen": {"target": "frdm-k66f"},
603+
"detect_code": ["0311"],
604+
"device_has": ["ANALOGIN", "ANALOGOUT", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_FC", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
605+
"release_versions": ["2", "5"]
606+
},
594607
"NUCLEO_F030R8": {
595608
"supported_form_factors": ["ARDUINO", "MORPHO"],
596609
"core": "Cortex-M0",

hal/targets/cmsis/TARGET_Freescale/TARGET_K66F/MK66F18.h

Lines changed: 17526 additions & 0 deletions
Large diffs are not rendered by default.

hal/targets/cmsis/TARGET_Freescale/TARGET_K66F/MK66F18_features.h

Lines changed: 1927 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
#! armcc -E
2+
/*
3+
** ###################################################################
4+
** Processors: MK66FN2M0VLQ18
5+
** MK66FN2M0VMD18
6+
**
7+
** Compiler: Keil ARM C/C++ Compiler
8+
** Reference manual: K66P144M180SF5RMV2, Rev. 1, Mar 2015
9+
** Version: rev. 3.0, 2015-03-25
10+
** Build: b151009
11+
**
12+
** Abstract:
13+
** Linker file for the Keil ARM C/C++ Compiler
14+
**
15+
** Copyright (c) 2015 Freescale Semiconductor, Inc.
16+
** All rights reserved.
17+
**
18+
** Redistribution and use in source and binary forms, with or without modification,
19+
** are permitted provided that the following conditions are met:
20+
**
21+
** o Redistributions of source code must retain the above copyright notice, this list
22+
** of conditions and the following disclaimer.
23+
**
24+
** o Redistributions in binary form must reproduce the above copyright notice, this
25+
** list of conditions and the following disclaimer in the documentation and/or
26+
** other materials provided with the distribution.
27+
**
28+
** o Neither the name of Freescale Semiconductor, Inc. nor the names of its
29+
** contributors may be used to endorse or promote products derived from this
30+
** software without specific prior written permission.
31+
**
32+
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
33+
** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
34+
** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
35+
** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
36+
** ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
37+
** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
38+
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
39+
** ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
40+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
41+
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
42+
**
43+
** http: www.freescale.com
44+
45+
**
46+
** ###################################################################
47+
*/
48+
#define __ram_vector_table__ 1
49+
50+
#if (defined(__ram_vector_table__))
51+
#define __ram_vector_table_size__ 0x00000400
52+
#else
53+
#define __ram_vector_table_size__ 0x00000000
54+
#endif
55+
56+
#define m_interrupts_start 0x00000000
57+
#define m_interrupts_size 0x00000400
58+
59+
#define m_flash_config_start 0x00000400
60+
#define m_flash_config_size 0x00000010
61+
62+
#define m_text_start 0x00000410
63+
#define m_text_size 0x001FFBF0
64+
65+
#define m_interrupts_ram_start 0x1FFF0000
66+
#define m_interrupts_ram_size __ram_vector_table_size__
67+
68+
#define m_data_start (m_interrupts_ram_start + m_interrupts_ram_size)
69+
#define m_data_size (0x00010000 - m_interrupts_ram_size)
70+
71+
#define m_data_2_start 0x20000000
72+
#define m_data_2_size 0x00030000
73+
74+
75+
LR_m_text m_interrupts_start m_text_size+m_interrupts_size+m_flash_config_size { ; load region size_region
76+
VECTOR_ROM m_interrupts_start m_interrupts_size { ; load address = execution address
77+
* (RESET,+FIRST)
78+
}
79+
ER_m_flash_config m_flash_config_start m_flash_config_size { ; load address = execution address
80+
* (FlashConfig)
81+
}
82+
ER_m_text m_text_start m_text_size { ; load address = execution address
83+
* (InRoot$$Sections)
84+
.ANY (+RO)
85+
}
86+
RW_m_data m_data_start m_data_size { ; RW data
87+
.ANY (+RW +ZI)
88+
}
89+
RW_IRAM1 m_data_2_start m_data_2_size { ; RW data
90+
.ANY (+RW +ZI)
91+
}
92+
VECTOR_RAM m_interrupts_ram_start EMPTY m_interrupts_ram_size {
93+
}
94+
}

0 commit comments

Comments
 (0)