Skip to content

Commit

Permalink
vectors and flash protection area are separated
Browse files Browse the repository at this point in the history
  • Loading branch information
0xc0170 committed Aug 2, 2013
1 parent afab75f commit 48ee225
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@

MEMORY
{
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 128K
VECTORS (rx) : ORIGIN = 0x00000000, LENGTH = 0x00000400
FLASH_PROTECTION (rx) : ORIGIN = 0x00000400, LENGTH = 0x00000010
FLASH (rx) : ORIGIN = 0x00000410, LENGTH = 128K - 0x00000410
RAM (rwx) : ORIGIN = 0x1FFFF000, LENGTH = 16K
}

Expand Down Expand Up @@ -41,11 +43,17 @@ SECTIONS
.isr_vector :
{
__vector_table = .;
. = ALIGN(4);
KEEP(*(.isr_vector))
*(.text.SystemInit)
. = ALIGN(4);
} > FLASH
KEEP(*(.vector_table))
*(.text.Reset_Handler)
*(.text.System_Init)
. = ALIGN(4);
} > VECTORS

.flash_protect :
{
KEEP(*(.kinetis_flash_config_field))
. = ALIGN(4);
} > FLASH_PROTECTION

.text :
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ __HeapBase:
__HeapLimit:
.size __HeapLimit, . - __HeapLimit

.section .isr_vector
.section .vector_table,"a",%progbits
.align 2
.globl __isr_vector
__isr_vector:
Expand All @@ -100,7 +100,7 @@ __isr_vector:
.long DMA1_IRQHandler /* DMA channel 1 transfer complete interrupt */
.long DMA2_IRQHandler /* DMA channel 2 transfer complete interrupt */
.long DMA3_IRQHandler /* DMA channel 3 transfer complete interrupt */
.long Reserved20_IRQHandler /* Reserved interrupt 20 */
.long Default_Handler /* Reserved interrupt 20 */
.long FTFA_IRQHandler /* FTFA interrupt */
.long LVD_LVW_IRQHandler /* Low Voltage Detect, Low Voltage Warning */
.long LLW_IRQHandler /* Low Leakage Wakeup */
Expand All @@ -119,19 +119,19 @@ __isr_vector:
.long RTC_IRQHandler /* RTC interrupt */
.long RTC_Seconds_IRQHandler /* RTC seconds interrupt */
.long PIT_IRQHandler /* PIT timer interrupt */
.long Reserved39_IRQHandler /* Reserved interrupt 39 */
.long Default_Handler /* Reserved interrupt 39 */
.long USB0_IRQHandler /* USB0 interrupt */
.long DAC0_IRQHandler /* DAC interrupt */
.long TSI0_IRQHandler /* TSI0 interrupt */
.long MCG_IRQHandler /* MCG interrupt */
.long LPTimer_IRQHandler /* LPTimer interrupt */
.long Reserved45_IRQHandler /* Reserved interrupt 45 */
.long Default_Handler /* Reserved interrupt 45 */
.long PORTA_IRQHandler /* Port A interrupt */
.long PORTD_IRQHandler /* Port D interrupt */

.size __isr_vector, . - __isr_vector

.section .text
.section .text.Reset_Handler
.thumb
.thumb_func
.align 2
Expand Down Expand Up @@ -187,11 +187,12 @@ Reset_Handler:
def_default_handler SVC_Handler
def_default_handler PendSV_Handler
def_default_handler SysTick_Handler
def_default_handler Default_Handler

def_default_handler DMA0_IRQHandler
def_default_handler DMA1_IRQHandler
def_default_handler DMA2_IRQHandler
def_default_handler DMA3_IRQHandler
def_default_handler Reserved20_IRQHandler
def_default_handler FTFA_IRQHandler
def_default_handler LVD_LVW_IRQHandler
def_default_handler LLW_IRQHandler
Expand All @@ -210,28 +211,26 @@ Reset_Handler:
def_default_handler RTC_IRQHandler
def_default_handler RTC_Seconds_IRQHandler
def_default_handler PIT_IRQHandler
def_default_handler Reserved39_IRQHandler
def_default_handler USB0_IRQHandler
def_default_handler DAC0_IRQHandler
def_default_handler TSI0_IRQHandler
def_default_handler MCG_IRQHandler
def_default_handler LPTimer_IRQHandler
def_default_handler Reserved45_IRQHandler
def_default_handler PORTA_IRQHandler
def_default_handler PORTD_IRQHandler

.weak DEF_IRQHandler
.weak DEF_IRQHandler
.set DEF_IRQHandler, Default_Handler

/* Flash protection region, placed inside isr_vector section */
.section .isr_vector
/* Flash protection region, placed at 0x400 */
.text
.thumb
.align 2
.org 0x400
.globl kinetis_flash_config
.section .kinetis_flash_config_field,"a",%progbits
kinetis_flash_config:
.long 0xffffffff
.long 0xffffffff
.long 0xffffffff
.long 0xffffffff
.long 0xfffffffe

.end

0 comments on commit 48ee225

Please sign in to comment.