. = ALIGN(16); | . = ALIGN(16); | ||||
} > ITCM AT> FLASH | } > ITCM AT> FLASH | ||||
.ARM.exidx : { | |||||
__exidx_start = .; | |||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*) | |||||
__exidx_end = .; | |||||
} > ITCM AT> FLASH | |||||
.text.itcm.padding (NOLOAD) : { | .text.itcm.padding (NOLOAD) : { | ||||
. = ALIGN(32768); | . = ALIGN(32768); | ||||
} > ITCM | } > ITCM | ||||
} > RAM | } > RAM | ||||
_stext = ADDR(.text.itcm); | _stext = ADDR(.text.itcm); | ||||
_etext = ADDR(.text.itcm) + SIZEOF(.text.itcm); | |||||
_etext = ADDR(.text.itcm) + SIZEOF(.text.itcm) + SIZEOF(.ARM.exidx); | |||||
_stextload = LOADADDR(.text.itcm); | _stextload = LOADADDR(.text.itcm); | ||||
_sdata = ADDR(.data); | _sdata = ADDR(.data); | ||||
_heap_start = ADDR(.bss.dma) + SIZEOF(.bss.dma); | _heap_start = ADDR(.bss.dma) + SIZEOF(.bss.dma); | ||||
_heap_end = ORIGIN(RAM) + LENGTH(RAM); | _heap_end = ORIGIN(RAM) + LENGTH(RAM); | ||||
_itcm_block_count = (SIZEOF(.text.itcm) + 0x7FFF) >> 15; | |||||
_itcm_block_count = (SIZEOF(.text.itcm) + SIZEOF(.ARM.exidx) + 0x7FFF) >> 15; | |||||
_flexram_bank_config = 0xAAAAAAAA | ((1 << (_itcm_block_count * 2)) - 1); | _flexram_bank_config = 0xAAAAAAAA | ((1 << (_itcm_block_count * 2)) - 1); | ||||
_estack = ORIGIN(DTCM) + ((16 - _itcm_block_count) << 15); | _estack = ORIGIN(DTCM) + ((16 - _itcm_block_count) << 15); | ||||
_flashimagelen = SIZEOF(.text.progmem) + SIZEOF(.text.itcm) + SIZEOF(.data); | |||||
_flashimagelen = SIZEOF(.text.progmem) + SIZEOF(.text.itcm) + SIZEOF(.ARM.exidx) + SIZEOF(.data); | |||||
_teensy_model_identifier = 0x24; | _teensy_model_identifier = 0x24; | ||||
.debug_info 0 : { *(.debug_info) } | .debug_info 0 : { *(.debug_info) } |
. = ALIGN(16); | . = ALIGN(16); | ||||
} > ITCM AT> FLASH | } > ITCM AT> FLASH | ||||
.ARM.exidx : { | |||||
__exidx_start = .; | |||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*) | |||||
__exidx_end = .; | |||||
} > ITCM AT> FLASH | |||||
.text.itcm.padding (NOLOAD) : { | .text.itcm.padding (NOLOAD) : { | ||||
. = ALIGN(32768); | . = ALIGN(32768); | ||||
} > ITCM | } > ITCM | ||||
} > ERAM | } > ERAM | ||||
_stext = ADDR(.text.itcm); | _stext = ADDR(.text.itcm); | ||||
_etext = ADDR(.text.itcm) + SIZEOF(.text.itcm); | |||||
_etext = ADDR(.text.itcm) + SIZEOF(.text.itcm) + SIZEOF(.ARM.exidx); | |||||
_stextload = LOADADDR(.text.itcm); | _stextload = LOADADDR(.text.itcm); | ||||
_sdata = ADDR(.data); | _sdata = ADDR(.data); | ||||
_heap_start = ADDR(.bss.dma) + SIZEOF(.bss.dma); | _heap_start = ADDR(.bss.dma) + SIZEOF(.bss.dma); | ||||
_heap_end = ORIGIN(RAM) + LENGTH(RAM); | _heap_end = ORIGIN(RAM) + LENGTH(RAM); | ||||
_itcm_block_count = (SIZEOF(.text.itcm) + 0x7FFF) >> 15; | |||||
_itcm_block_count = (SIZEOF(.text.itcm) + SIZEOF(.ARM.exidx) + 0x7FFF) >> 15; | |||||
_flexram_bank_config = 0xAAAAAAAA | ((1 << (_itcm_block_count * 2)) - 1); | _flexram_bank_config = 0xAAAAAAAA | ((1 << (_itcm_block_count * 2)) - 1); | ||||
_estack = ORIGIN(DTCM) + ((16 - _itcm_block_count) << 15); | _estack = ORIGIN(DTCM) + ((16 - _itcm_block_count) << 15); | ||||
_flashimagelen = SIZEOF(.text.progmem) + SIZEOF(.text.itcm) + SIZEOF(.data); | |||||
_flashimagelen = SIZEOF(.text.progmem) + SIZEOF(.text.itcm) + SIZEOF(.ARM.exidx) + SIZEOF(.data); | |||||
_teensy_model_identifier = 0x25; | _teensy_model_identifier = 0x25; | ||||
.debug_info 0 : { *(.debug_info) } | .debug_info 0 : { *(.debug_info) } |