only one flash memory (FLASH)

pull/18/head
0xc0170 2013-08-02 07:14:36 +02:00
parent 33c096c9d0
commit afab75fd01
3 changed files with 65 additions and 67 deletions

View File

@ -1,8 +1,10 @@
/*
* KL25Z ARM GCC linker script file
*/
MEMORY
{
VECTORS (rx) : ORIGIN = 0x00000000, LENGTH = 0x000003FE
FLASHCFG (rx) : ORIGIN = 0x00000400, LENGTH = 0x00000010
FLASH (rx) : ORIGIN = 0x00000410, LENGTH = 128K - 0x410
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 128K
RAM (rwx) : ORIGIN = 0x1FFFF000, LENGTH = 16K
}
@ -41,15 +43,9 @@ SECTIONS
__vector_table = .;
. = ALIGN(4);
KEEP(*(.isr_vector))
*(.text.SystemInit)
*(.text.SystemInit)
. = ALIGN(4);
} > VECTORS
.cfmprotect :
{
. = ALIGN(4);
KEEP(*(.cfmprotect))
} > FLASHCFG
} > FLASH
.text :
{

View File

@ -1,4 +1,4 @@
/* File: startup_ARMCM0.S
/* KL25Z startup ARM GCC
* Purpose: startup file for Cortex-M0 devices. Should use with
* GCC for ARM Embedded Processors
* Version: V1.2
@ -131,15 +131,6 @@ __isr_vector:
.size __isr_vector, . - __isr_vector
.section .cfmprotect
.align 2
.globl kinetis_flash_config
kinetis_flash_config:
.long 0xffffffff
.long 0xffffffff
.long 0xffffffff
.long 0xffffffff
.section .text
.thumb
.thumb_func
@ -232,4 +223,15 @@ Reset_Handler:
.weak DEF_IRQHandler
.set DEF_IRQHandler, Default_Handler
/* Flash protection region, placed inside isr_vector section */
.section .isr_vector
.align 2
.org 0x400
.globl kinetis_flash_config
kinetis_flash_config:
.long 0xffffffff
.long 0xffffffff
.long 0xffffffff
.long 0xffffffff
.end

View File

@ -11,21 +11,21 @@ class Target:
def __init__(self):
# ARM Core
self.core = None
# Is the disk provided by the interface chip of this board virtual?
self.is_disk_virtual = False
# list of toolchains that are supported by the mbed SDK for this target
self.supported_toolchains = None
# list of extra specific labels
self.extra_labels = []
self.name = self.__class__.__name__
def program_cycle_s(self):
return 4 if self.is_disk_virtual else 1.5
def get_labels(self):
return [self.name, CORE_LABELS[self.core]] + self.extra_labels
@ -33,33 +33,33 @@ class Target:
class LPC2368(Target):
def __init__(self):
Target.__init__(self)
self.core = "ARM7TDMI-S"
self.extra_labels = ['NXP', 'LPC23XX']
self.supported_toolchains = ["ARM"]
class LPC1768(Target):
def __init__(self):
Target.__init__(self)
self.core = "Cortex-M3"
self.extra_labels = ['NXP', 'LPC176X']
self.supported_toolchains = ["ARM", "uARM", "GCC_ARM", "GCC_CS", "GCC_CR", "IAR"]
class LPC11U24(Target):
def __init__(self):
Target.__init__(self)
self.core = "Cortex-M0"
self.extra_labels = ['NXP', 'LPC11UXX']
self.supported_toolchains = ["ARM", "uARM"]
@ -68,7 +68,7 @@ class KL05Z(Target):
Target.__init__(self)
self.core = "Cortex-M0+"
self.extra_labels = ['Freescale']
self.supported_toolchains = ["ARM"]
@ -79,100 +79,100 @@ class KL05Z(Target):
class KL25Z(Target):
def __init__(self):
Target.__init__(self)
self.core = "Cortex-M0+"
self.extra_labels = ['Freescale']
self.supported_toolchains = ["ARM", "GCC_CW_EWL", "GCC_CW_NEWLIB"]
self.supported_toolchains = ["ARM", "GCC_CW_EWL", "GCC_CW_NEWLIB", "GCC_ARM"]
self.is_disk_virtual = True
class LPC812(Target):
def __init__(self):
Target.__init__(self)
self.core = "Cortex-M0+"
self.extra_labels = ['NXP', 'LPC81X']
self.supported_toolchains = ["uARM"]
self.is_disk_virtual = True
class LPC4088(Target):
def __init__(self):
Target.__init__(self)
self.core = "Cortex-M4"
self.extra_labels = ['NXP', 'LPC408X']
self.supported_toolchains = ["ARM", "GCC_CR"]
class LPC4330_M4(Target):
def __init__(self):
Target.__init__(self)
self.core = "Cortex-M4"
self.extra_labels = ['NXP', 'LPC43XX']
self.supported_toolchains = ["ARM", "GCC_CR", "IAR"]
class LPC4330_M0(Target):
def __init__(self):
Target.__init__(self)
self.core = "Cortex-M0"
self.extra_labels = ['NXP', 'LPC43XX']
self.supported_toolchains = ["ARM", "GCC_CR", "IAR"]
class LPC1800(Target):
def __init__(self):
Target.__init__(self)
self.core = "Cortex-M3"
self.extra_labels = ['NXP', 'LPC43XX']
self.supported_toolchains = ["ARM", "GCC_CR", "IAR"]
class STM32F407(Target):
def __init__(self):
Target.__init__(self)
self.core = "Cortex-M4"
self.extra_labels = ['STM', 'STM32F4XX']
self.supported_toolchains = ["ARM", "GCC_ARM"]
class MBED_MCU(Target):
def __init__(self):
Target.__init__(self)
self.core = "Cortex-M0+"
self.extra_labels = ['ARM']
self.supported_toolchains = ["ARM"]
class LPC1347(Target):
def __init__(self):
Target.__init__(self)
self.core = "Cortex-M3"
self.extra_labels = ['NXP', 'LPC13XX']
self.supported_toolchains = ["ARM", "GCC_ARM"]
# Get a single instance for each target