lib: Remove now unused ARM Cortex-M linker scripts and boot assembly
Remove the unused files for those boards converted to use the armcm_boot mechanism. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
a344f6d2ad
commit
97af0b3cb0
21
lib/README
21
lib/README
|
@ -8,37 +8,28 @@ taken from the CMSIS/Core/Include/ directory.
|
||||||
The sam3x directory contains code from the
|
The sam3x directory contains code from the
|
||||||
Atmel.SAM3X_DFP.1.0.50.atpack zip file found at:
|
Atmel.SAM3X_DFP.1.0.50.atpack zip file found at:
|
||||||
http://packs.download.atmel.com/
|
http://packs.download.atmel.com/
|
||||||
version 1.0.50 (extracted on 20180725). It has been modified to
|
version 1.0.50 (extracted on 20180725).
|
||||||
compile with gcc's LTO feature. See sam3x.patch for the modifications.
|
|
||||||
|
|
||||||
The sam4e directory contains code from the
|
The sam4e directory contains code from the
|
||||||
Atmel.SAM4E_DFP.1.1.57.atpack zip file found at:
|
Atmel.SAM4E_DFP.1.1.57.atpack zip file found at:
|
||||||
http://packs.download.atmel.com/
|
http://packs.download.atmel.com/
|
||||||
version 1.1.57 (extracted on 20180806). It has been modified to
|
version 1.1.57 (extracted on 20180806). It has been modified to fix
|
||||||
compile with gcc's LTO feature. Also, some AFEC register RW accesses
|
some AFEC register RW accesses. See sam4e.patch for the modifications.
|
||||||
have been modified to comply with the SAM4E datasheet. Finally, the
|
|
||||||
interrupt vector table has been slightly modified to allow the code to
|
|
||||||
run. See sam4e.patch for the modifications.
|
|
||||||
|
|
||||||
The sam4s directory contains code from the
|
The sam4s directory contains code from the
|
||||||
Atmel.SAM4S_DFP.1.0.56.atpack zip file found at:
|
Atmel.SAM4S_DFP.1.0.56.atpack zip file found at:
|
||||||
http://packs.download.atmel.com/
|
http://packs.download.atmel.com/
|
||||||
version 1.0.56 (extracted on 20181220). It has been modified to
|
version 1.0.56 (extracted on 20181220).
|
||||||
compile with gcc's LTO feature. See sam4s.patch for the modifications.
|
|
||||||
|
|
||||||
The samd21 directory contains code from the
|
The samd21 directory contains code from the
|
||||||
Atmel.SAMD21_DFP.1.3.304.atpack zip file found at:
|
Atmel.SAMD21_DFP.1.3.304.atpack zip file found at:
|
||||||
http://packs.download.atmel.com/
|
http://packs.download.atmel.com/
|
||||||
version 1.3.304 (extracted on 20180725). It has been modified to
|
version 1.3.304 (extracted on 20180725).
|
||||||
compile with gcc's LTO feature. See samd21.patch for the
|
|
||||||
modifications.
|
|
||||||
|
|
||||||
The samd51 directory contains code from the
|
The samd51 directory contains code from the
|
||||||
Atmel.SAMD51_DFP.1.1.96.atpack zip file found at:
|
Atmel.SAMD51_DFP.1.1.96.atpack zip file found at:
|
||||||
http://packs.download.atmel.com/
|
http://packs.download.atmel.com/
|
||||||
version 1.1.96 (extracted on 20190110). It has been modified to
|
version 1.1.96 (extracted on 20190110).
|
||||||
compile with gcc's LTO feature. See samd51.patch for the
|
|
||||||
modifications.
|
|
||||||
|
|
||||||
The lpc176x directory contains code from the mbed project:
|
The lpc176x directory contains code from the mbed project:
|
||||||
https://github.com/ARMmbed/mbed-os
|
https://github.com/ARMmbed/mbed-os
|
||||||
|
|
|
@ -1,184 +0,0 @@
|
||||||
/* Linker script for mbed LPC1768 */
|
|
||||||
#if !defined(MBED_APP_START)
|
|
||||||
#define MBED_APP_START 0x00000000
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(MBED_APP_SIZE)
|
|
||||||
#define MBED_APP_SIZE 512K
|
|
||||||
#endif
|
|
||||||
/* Linker script to configure memory regions. */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
FLASH (rx) : ORIGIN = MBED_APP_START, LENGTH = MBED_APP_SIZE
|
|
||||||
RAM (rwx) : ORIGIN = 0x100000C8, LENGTH = (32K - 0xC8 - 32) /* topmost 32 bytes used by IAP functions */
|
|
||||||
|
|
||||||
USB_RAM(rwx) : ORIGIN = 0x2007C000, LENGTH = 16K
|
|
||||||
ETH_RAM(rwx) : ORIGIN = 0x20080000, LENGTH = 16K
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Linker script to place sections and symbol values. Should be used together
|
|
||||||
* with other linker script that defines memory regions FLASH and RAM.
|
|
||||||
* It references following symbols, which must be defined in code:
|
|
||||||
* Reset_Handler : Entry of reset handler
|
|
||||||
*
|
|
||||||
* It defines following symbols, which code can use without definition:
|
|
||||||
* __exidx_start
|
|
||||||
* __exidx_end
|
|
||||||
* __etext
|
|
||||||
* __data_start__
|
|
||||||
* __preinit_array_start
|
|
||||||
* __preinit_array_end
|
|
||||||
* __init_array_start
|
|
||||||
* __init_array_end
|
|
||||||
* __fini_array_start
|
|
||||||
* __fini_array_end
|
|
||||||
* __data_end__
|
|
||||||
* __bss_start__
|
|
||||||
* __bss_end__
|
|
||||||
* __end__
|
|
||||||
* end
|
|
||||||
* __HeapLimit
|
|
||||||
* __StackLimit
|
|
||||||
* __StackTop
|
|
||||||
* __stack
|
|
||||||
*/
|
|
||||||
ENTRY(Reset_Handler)
|
|
||||||
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
KEEP(*(.isr_vector))
|
|
||||||
/* Code Read Protect data */
|
|
||||||
. = 0x000002FC ;
|
|
||||||
KEEP(*(.CRPSection))
|
|
||||||
/* End of Code Read Protect */
|
|
||||||
*(.text*)
|
|
||||||
|
|
||||||
KEEP(*(.init))
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
/* .ctors */
|
|
||||||
*crtbegin.o(.ctors)
|
|
||||||
*crtbegin?.o(.ctors)
|
|
||||||
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
|
|
||||||
*(SORT(.ctors.*))
|
|
||||||
*(.ctors)
|
|
||||||
|
|
||||||
/* .dtors */
|
|
||||||
*crtbegin.o(.dtors)
|
|
||||||
*crtbegin?.o(.dtors)
|
|
||||||
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
|
|
||||||
*(SORT(.dtors.*))
|
|
||||||
*(.dtors)
|
|
||||||
|
|
||||||
*(.rodata*)
|
|
||||||
|
|
||||||
KEEP(*(.eh_frame*))
|
|
||||||
|
|
||||||
|
|
||||||
} > FLASH
|
|
||||||
|
|
||||||
.ARM.extab :
|
|
||||||
{
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
} > FLASH
|
|
||||||
|
|
||||||
__exidx_start = .;
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > FLASH
|
|
||||||
__exidx_end = .;
|
|
||||||
|
|
||||||
__etext = .;
|
|
||||||
|
|
||||||
.data : AT (__etext)
|
|
||||||
{
|
|
||||||
__data_start__ = .;
|
|
||||||
Image$$RW_IRAM1$$Base = .;
|
|
||||||
*(vtable)
|
|
||||||
*(.data*)
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
/* preinit data */
|
|
||||||
PROVIDE (__preinit_array_start = .);
|
|
||||||
KEEP(*(.preinit_array))
|
|
||||||
PROVIDE (__preinit_array_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
/* init data */
|
|
||||||
PROVIDE (__init_array_start = .);
|
|
||||||
KEEP(*(SORT(.init_array.*)))
|
|
||||||
KEEP(*(.init_array))
|
|
||||||
PROVIDE (__init_array_end = .);
|
|
||||||
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
/* finit data */
|
|
||||||
PROVIDE (__fini_array_start = .);
|
|
||||||
KEEP(*(SORT(.fini_array.*)))
|
|
||||||
KEEP(*(.fini_array))
|
|
||||||
PROVIDE (__fini_array_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
/* All data end */
|
|
||||||
__data_end__ = .;
|
|
||||||
|
|
||||||
} > RAM
|
|
||||||
|
|
||||||
|
|
||||||
.bss :
|
|
||||||
{
|
|
||||||
__bss_start__ = .;
|
|
||||||
*(.bss*)
|
|
||||||
*(COMMON)
|
|
||||||
__bss_end__ = .;
|
|
||||||
Image$$RW_IRAM1$$ZI$$Limit = . ;
|
|
||||||
} > RAM
|
|
||||||
|
|
||||||
|
|
||||||
.heap :
|
|
||||||
{
|
|
||||||
__end__ = .;
|
|
||||||
end = __end__;
|
|
||||||
*(.heap*)
|
|
||||||
__HeapLimit = .;
|
|
||||||
} > RAM
|
|
||||||
|
|
||||||
/* .stack_dummy section doesn't contains any symbols. It is only
|
|
||||||
* used for linker to calculate size of stack sections, and assign
|
|
||||||
* values to stack symbols later */
|
|
||||||
.stack_dummy :
|
|
||||||
{
|
|
||||||
*(.stack)
|
|
||||||
} > RAM
|
|
||||||
|
|
||||||
/* Set stack top to end of RAM, and stack limit move down by
|
|
||||||
* size of stack_dummy section */
|
|
||||||
__StackTop = ORIGIN(RAM) + LENGTH(RAM);
|
|
||||||
__StackLimit = __StackTop - SIZEOF(.stack_dummy);
|
|
||||||
PROVIDE(__stack = __StackTop);
|
|
||||||
|
|
||||||
/* Check if data + heap + stack exceeds RAM limit */
|
|
||||||
ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
|
|
||||||
|
|
||||||
|
|
||||||
/* Code can explicitly ask for data to be
|
|
||||||
placed in these higher RAM banks where
|
|
||||||
they will be left uninitialized.
|
|
||||||
*/
|
|
||||||
.AHBSRAM0 (NOLOAD):
|
|
||||||
{
|
|
||||||
Image$$RW_IRAM2$$Base = . ;
|
|
||||||
*(AHBSRAM0)
|
|
||||||
Image$$RW_IRAM2$$ZI$$Limit = .;
|
|
||||||
} > USB_RAM
|
|
||||||
|
|
||||||
.AHBSRAM1 (NOLOAD):
|
|
||||||
{
|
|
||||||
Image$$RW_IRAM3$$Base = . ;
|
|
||||||
*(AHBSRAM1)
|
|
||||||
Image$$RW_IRAM3$$ZI$$Limit = .;
|
|
||||||
} > ETH_RAM
|
|
||||||
}
|
|
|
@ -1,223 +0,0 @@
|
||||||
/* File: startup_ARMCM3.s
|
|
||||||
* Purpose: startup file for Cortex-M3/M4 devices. Should use with
|
|
||||||
* GNU Tools for ARM Embedded Processors
|
|
||||||
* Version: V1.1
|
|
||||||
* Date: 17 June 2011
|
|
||||||
*
|
|
||||||
* Copyright (C) 2011 ARM Limited. All rights reserved.
|
|
||||||
* ARM Limited (ARM) is supplying this software for use with Cortex-M3/M4
|
|
||||||
* processor based microcontrollers. This file can be freely distributed
|
|
||||||
* within development tools that are supporting such ARM based processors.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
|
|
||||||
* OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
|
|
||||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
|
|
||||||
* ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
|
|
||||||
*/
|
|
||||||
.syntax unified
|
|
||||||
.arch armv7-m
|
|
||||||
|
|
||||||
/* Memory Model
|
|
||||||
The HEAP starts at the end of the DATA section and grows upward.
|
|
||||||
|
|
||||||
The STACK starts at the end of the RAM and grows downward.
|
|
||||||
|
|
||||||
The HEAP and stack STACK are only checked at compile time:
|
|
||||||
(DATA_SIZE + HEAP_SIZE + STACK_SIZE) < RAM_SIZE
|
|
||||||
|
|
||||||
This is just a check for the bare minimum for the Heap+Stack area before
|
|
||||||
aborting compilation, it is not the run time limit:
|
|
||||||
Heap_Size + Stack_Size = 0x80 + 0x80 = 0x100
|
|
||||||
*/
|
|
||||||
.section .stack
|
|
||||||
.align 3
|
|
||||||
#ifdef __STACK_SIZE
|
|
||||||
.equ Stack_Size, __STACK_SIZE
|
|
||||||
#else
|
|
||||||
.equ Stack_Size, 0xc00
|
|
||||||
#endif
|
|
||||||
.globl __StackTop
|
|
||||||
.globl __StackLimit
|
|
||||||
__StackLimit:
|
|
||||||
.space Stack_Size
|
|
||||||
.size __StackLimit, . - __StackLimit
|
|
||||||
__StackTop:
|
|
||||||
.size __StackTop, . - __StackTop
|
|
||||||
|
|
||||||
.section .heap
|
|
||||||
.align 3
|
|
||||||
#ifdef __HEAP_SIZE
|
|
||||||
.equ Heap_Size, __HEAP_SIZE
|
|
||||||
#else
|
|
||||||
.equ Heap_Size, 0x800
|
|
||||||
#endif
|
|
||||||
.globl __HeapBase
|
|
||||||
.globl __HeapLimit
|
|
||||||
__HeapBase:
|
|
||||||
.space Heap_Size
|
|
||||||
.size __HeapBase, . - __HeapBase
|
|
||||||
__HeapLimit:
|
|
||||||
.size __HeapLimit, . - __HeapLimit
|
|
||||||
|
|
||||||
.section .isr_vector
|
|
||||||
.align 2
|
|
||||||
.globl __isr_vector
|
|
||||||
__isr_vector:
|
|
||||||
.long __StackTop /* Top of Stack */
|
|
||||||
.long Reset_Handler /* Reset Handler */
|
|
||||||
.long NMI_Handler /* NMI Handler */
|
|
||||||
.long HardFault_Handler /* Hard Fault Handler */
|
|
||||||
.long MemManage_Handler /* MPU Fault Handler */
|
|
||||||
.long BusFault_Handler /* Bus Fault Handler */
|
|
||||||
.long UsageFault_Handler /* Usage Fault Handler */
|
|
||||||
.long 0 /* Reserved */
|
|
||||||
.long 0 /* Reserved */
|
|
||||||
.long 0 /* Reserved */
|
|
||||||
.long 0 /* Reserved */
|
|
||||||
.long SVC_Handler /* SVCall Handler */
|
|
||||||
.long DebugMon_Handler /* Debug Monitor Handler */
|
|
||||||
.long 0 /* Reserved */
|
|
||||||
.long PendSV_Handler /* PendSV Handler */
|
|
||||||
.long SysTick_Handler /* SysTick Handler */
|
|
||||||
|
|
||||||
/* External interrupts */
|
|
||||||
.long WDT_IRQHandler /* 16: Watchdog Timer */
|
|
||||||
.long TIMER0_IRQHandler /* 17: Timer0 */
|
|
||||||
.long TIMER1_IRQHandler /* 18: Timer1 */
|
|
||||||
.long TIMER2_IRQHandler /* 19: Timer2 */
|
|
||||||
.long TIMER3_IRQHandler /* 20: Timer3 */
|
|
||||||
.long UART0_IRQHandler /* 21: UART0 */
|
|
||||||
.long UART1_IRQHandler /* 22: UART1 */
|
|
||||||
.long UART2_IRQHandler /* 23: UART2 */
|
|
||||||
.long UART3_IRQHandler /* 24: UART3 */
|
|
||||||
.long PWM1_IRQHandler /* 25: PWM1 */
|
|
||||||
.long I2C0_IRQHandler /* 26: I2C0 */
|
|
||||||
.long I2C1_IRQHandler /* 27: I2C1 */
|
|
||||||
.long I2C2_IRQHandler /* 28: I2C2 */
|
|
||||||
.long SPI_IRQHandler /* 29: SPI */
|
|
||||||
.long SSP0_IRQHandler /* 30: SSP0 */
|
|
||||||
.long SSP1_IRQHandler /* 31: SSP1 */
|
|
||||||
.long PLL0_IRQHandler /* 32: PLL0 Lock (Main PLL) */
|
|
||||||
.long RTC_IRQHandler /* 33: Real Time Clock */
|
|
||||||
.long EINT0_IRQHandler /* 34: External Interrupt 0 */
|
|
||||||
.long EINT1_IRQHandler /* 35: External Interrupt 1 */
|
|
||||||
.long EINT2_IRQHandler /* 36: External Interrupt 2 */
|
|
||||||
.long EINT3_IRQHandler /* 37: External Interrupt 3 */
|
|
||||||
.long ADC_IRQHandler /* 38: A/D Converter */
|
|
||||||
.long BOD_IRQHandler /* 39: Brown-Out Detect */
|
|
||||||
.long USB_IRQHandler /* 40: USB */
|
|
||||||
.long CAN_IRQHandler /* 41: CAN */
|
|
||||||
.long DMA_IRQHandler /* 42: General Purpose DMA */
|
|
||||||
.long I2S_IRQHandler /* 43: I2S */
|
|
||||||
.long ENET_IRQHandler /* 44: Ethernet */
|
|
||||||
.long RIT_IRQHandler /* 45: Repetitive Interrupt Timer */
|
|
||||||
.long MCPWM_IRQHandler /* 46: Motor Control PWM */
|
|
||||||
.long QEI_IRQHandler /* 47: Quadrature Encoder Interface */
|
|
||||||
.long PLL1_IRQHandler /* 48: PLL1 Lock (USB PLL) */
|
|
||||||
.long USBActivity_IRQHandler /* 49: USB Activity */
|
|
||||||
.long CANActivity_IRQHandler /* 50: CAN Activity */
|
|
||||||
|
|
||||||
.size __isr_vector, . - __isr_vector
|
|
||||||
|
|
||||||
.text
|
|
||||||
.thumb
|
|
||||||
.thumb_func
|
|
||||||
.align 2
|
|
||||||
.globl Reset_Handler
|
|
||||||
.type Reset_Handler, %function
|
|
||||||
Reset_Handler:
|
|
||||||
/* Loop to copy data from read only memory to RAM. The ranges
|
|
||||||
* of copy from/to are specified by following symbols evaluated in
|
|
||||||
* linker script.
|
|
||||||
* _etext: End of code section, i.e., begin of data sections to copy from.
|
|
||||||
* __data_start__/__data_end__: RAM address range that data should be
|
|
||||||
* copied to. Both must be aligned to 4 bytes boundary. */
|
|
||||||
|
|
||||||
ldr r1, =__etext
|
|
||||||
ldr r2, =__data_start__
|
|
||||||
ldr r3, =__data_end__
|
|
||||||
|
|
||||||
.Lflash_to_ram_loop:
|
|
||||||
cmp r2, r3
|
|
||||||
ittt lt
|
|
||||||
ldrlt r0, [r1], #4
|
|
||||||
strlt r0, [r2], #4
|
|
||||||
blt .Lflash_to_ram_loop
|
|
||||||
|
|
||||||
ldr r0, =SystemInit
|
|
||||||
blx r0
|
|
||||||
ldr r0, =_start
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
.size Reset_Handler, . - Reset_Handler
|
|
||||||
|
|
||||||
.text
|
|
||||||
/* Macro to define default handlers. Default handler
|
|
||||||
* will be weak symbol and just dead loops. They can be
|
|
||||||
* overwritten by other handlers */
|
|
||||||
.macro def_default_handler handler_name
|
|
||||||
.align 1
|
|
||||||
.thumb_func
|
|
||||||
.weak \handler_name
|
|
||||||
.type \handler_name, %function
|
|
||||||
\handler_name :
|
|
||||||
b .
|
|
||||||
.size \handler_name, . - \handler_name
|
|
||||||
.endm
|
|
||||||
|
|
||||||
def_default_handler NMI_Handler
|
|
||||||
def_default_handler HardFault_Handler
|
|
||||||
def_default_handler MemManage_Handler
|
|
||||||
def_default_handler BusFault_Handler
|
|
||||||
def_default_handler UsageFault_Handler
|
|
||||||
def_default_handler SVC_Handler
|
|
||||||
def_default_handler DebugMon_Handler
|
|
||||||
def_default_handler PendSV_Handler
|
|
||||||
def_default_handler SysTick_Handler
|
|
||||||
def_default_handler Default_Handler
|
|
||||||
|
|
||||||
.macro def_irq_default_handler handler_name
|
|
||||||
.weak \handler_name
|
|
||||||
.set \handler_name, Default_Handler
|
|
||||||
.endm
|
|
||||||
|
|
||||||
def_irq_default_handler WDT_IRQHandler
|
|
||||||
def_irq_default_handler TIMER0_IRQHandler
|
|
||||||
def_irq_default_handler TIMER1_IRQHandler
|
|
||||||
def_irq_default_handler TIMER2_IRQHandler
|
|
||||||
def_irq_default_handler TIMER3_IRQHandler
|
|
||||||
def_irq_default_handler UART0_IRQHandler
|
|
||||||
def_irq_default_handler UART1_IRQHandler
|
|
||||||
def_irq_default_handler UART2_IRQHandler
|
|
||||||
def_irq_default_handler UART3_IRQHandler
|
|
||||||
def_irq_default_handler PWM1_IRQHandler
|
|
||||||
def_irq_default_handler I2C0_IRQHandler
|
|
||||||
def_irq_default_handler I2C1_IRQHandler
|
|
||||||
def_irq_default_handler I2C2_IRQHandler
|
|
||||||
def_irq_default_handler SPI_IRQHandler
|
|
||||||
def_irq_default_handler SSP0_IRQHandler
|
|
||||||
def_irq_default_handler SSP1_IRQHandler
|
|
||||||
def_irq_default_handler PLL0_IRQHandler
|
|
||||||
def_irq_default_handler RTC_IRQHandler
|
|
||||||
def_irq_default_handler EINT0_IRQHandler
|
|
||||||
def_irq_default_handler EINT1_IRQHandler
|
|
||||||
def_irq_default_handler EINT2_IRQHandler
|
|
||||||
def_irq_default_handler EINT3_IRQHandler
|
|
||||||
def_irq_default_handler ADC_IRQHandler
|
|
||||||
def_irq_default_handler BOD_IRQHandler
|
|
||||||
def_irq_default_handler USB_IRQHandler
|
|
||||||
def_irq_default_handler CAN_IRQHandler
|
|
||||||
def_irq_default_handler DMA_IRQHandler
|
|
||||||
def_irq_default_handler I2S_IRQHandler
|
|
||||||
def_irq_default_handler ENET_IRQHandler
|
|
||||||
def_irq_default_handler RIT_IRQHandler
|
|
||||||
def_irq_default_handler MCPWM_IRQHandler
|
|
||||||
def_irq_default_handler QEI_IRQHandler
|
|
||||||
def_irq_default_handler PLL1_IRQHandler
|
|
||||||
def_irq_default_handler USBActivity_IRQHandler
|
|
||||||
def_irq_default_handler CANActivity_IRQHandler
|
|
||||||
def_irq_default_handler DEF_IRQHandler
|
|
||||||
|
|
||||||
.end
|
|
||||||
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM3X4C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00080000, LENGTH = 0x00040000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam3xa_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM3X4C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00080000, LENGTH = 0x00040000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam3xa_sram.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM3X4E
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00080000, LENGTH = 0x00040000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam3xa_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM3X4E
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00080000, LENGTH = 0x00040000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam3xa_sram.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM3X8C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00080000, LENGTH = 0x00080000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00018000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam3xa_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM3X8C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00080000, LENGTH = 0x00080000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00018000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam3xa_sram.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM3X8E
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00080000, LENGTH = 0x00080000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00018000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam3xa_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM3X8E
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00080000, LENGTH = 0x00080000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00018000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam3xa_sram.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM3X8H
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00080000, LENGTH = 0x00080000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00018000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam3xa_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM3X8H
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00080000, LENGTH = 0x00080000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00018000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam3xa_sram.ld
|
|
|
@ -1,139 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(0x4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > rom
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > rom
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* heap section */
|
|
||||||
.heap (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sheap = .;
|
|
||||||
. = . + HEAP_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_eheap = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
_ram_end_ = ORIGIN(ram) + LENGTH(ram) -1 ;
|
|
||||||
}
|
|
|
@ -1,139 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(0x4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(8);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* heap section */
|
|
||||||
.heap (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sheap = .;
|
|
||||||
. = . + HEAP_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_eheap = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > ram
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
_ram_end_ = ORIGIN(ram) + LENGTH(ram) -1 ;
|
|
||||||
}
|
|
|
@ -1,297 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
#include "sam3xa.h"
|
|
||||||
|
|
||||||
/* Initialize segments */
|
|
||||||
extern uint32_t _sfixed;
|
|
||||||
extern uint32_t _efixed;
|
|
||||||
extern uint32_t _etext;
|
|
||||||
extern uint32_t _srelocate;
|
|
||||||
extern uint32_t _erelocate;
|
|
||||||
extern uint32_t _szero;
|
|
||||||
extern uint32_t _ezero;
|
|
||||||
extern uint32_t _sstack;
|
|
||||||
extern uint32_t _estack;
|
|
||||||
|
|
||||||
/** \cond DOXYGEN_SHOULD_SKIP_THIS */
|
|
||||||
int main(void);
|
|
||||||
/** \endcond */
|
|
||||||
|
|
||||||
void __libc_init_array(void);
|
|
||||||
|
|
||||||
/* Default empty handler */
|
|
||||||
void Dummy_Handler(void);
|
|
||||||
|
|
||||||
/* Cortex-M3 core handlers */
|
|
||||||
void NMI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void HardFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void MemManage_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void BusFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void UsageFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void SVC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void DebugMon_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void PendSV_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void SysTick_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
|
|
||||||
/* Peripherals handlers */
|
|
||||||
void SUPC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void RSTC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void RTC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void RTT_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void WDT_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void PMC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void EFC0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void EFC1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void UART_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#ifdef _SAM3XA_SMC_INSTANCE_
|
|
||||||
void SMC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM3XA_SMC_INSTANCE_ */
|
|
||||||
#ifdef _SAM3XA_SDRAMC_INSTANCE_
|
|
||||||
void SDRAMC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM3XA_SDRAMC_INSTANCE_ */
|
|
||||||
void PIOA_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void PIOB_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#ifdef _SAM3XA_PIOC_INSTANCE_
|
|
||||||
void PIOC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM3XA_PIOC_INSTANCE_ */
|
|
||||||
#ifdef _SAM3XA_PIOD_INSTANCE_
|
|
||||||
void PIOD_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM3XA_PIOD_INSTANCE_ */
|
|
||||||
#ifdef _SAM3XA_PIOE_INSTANCE_
|
|
||||||
void PIOE_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM3XA_PIOE_INSTANCE_ */
|
|
||||||
#ifdef _SAM3XA_PIOF_INSTANCE_
|
|
||||||
void PIOF_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM3XA_PIOF_INSTANCE_ */
|
|
||||||
void USART0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void USART1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void USART2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#ifdef _SAM3XA_USART3_INSTANCE_
|
|
||||||
void USART3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM3XA_USART3_INSTANCE_ */
|
|
||||||
void HSMCI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TWI0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TWI1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void SPI0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#ifdef _SAM3XA_SPI1_INSTANCE_
|
|
||||||
void SPI1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM3XA_SPI1_INSTANCE_ */
|
|
||||||
void SSC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC4_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC5_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#ifdef _SAM3XA_TC2_INSTANCE_
|
|
||||||
void TC6_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM3XA_TC2_INSTANCE_ */
|
|
||||||
#ifdef _SAM3XA_TC2_INSTANCE_
|
|
||||||
void TC7_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM3XA_TC2_INSTANCE_ */
|
|
||||||
#ifdef _SAM3XA_TC2_INSTANCE_
|
|
||||||
void TC8_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM3XA_TC2_INSTANCE_ */
|
|
||||||
void PWM_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void ADC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void DACC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void DMAC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void UOTGHS_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TRNG_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#ifdef _SAM3XA_EMAC_INSTANCE_
|
|
||||||
void EMAC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM3XA_EMAC_INSTANCE_ */
|
|
||||||
void CAN0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void CAN1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
|
|
||||||
/* Exception Table */
|
|
||||||
__attribute__ ((section(".vectors"))) __attribute__((externally_visible))
|
|
||||||
const DeviceVectors exception_table = {
|
|
||||||
|
|
||||||
/* Configure Initial Stack Pointer, using linker-generated symbols */
|
|
||||||
.pvStack = (void*) (&_estack),
|
|
||||||
|
|
||||||
.pfnReset_Handler = (void*) Reset_Handler,
|
|
||||||
.pfnNMI_Handler = (void*) NMI_Handler,
|
|
||||||
.pfnHardFault_Handler = (void*) HardFault_Handler,
|
|
||||||
.pfnMemManage_Handler = (void*) MemManage_Handler,
|
|
||||||
.pfnBusFault_Handler = (void*) BusFault_Handler,
|
|
||||||
.pfnUsageFault_Handler = (void*) UsageFault_Handler,
|
|
||||||
.pfnReserved1_Handler = (void*) (0UL), /* Reserved */
|
|
||||||
.pfnReserved2_Handler = (void*) (0UL), /* Reserved */
|
|
||||||
.pfnReserved3_Handler = (void*) (0UL), /* Reserved */
|
|
||||||
.pfnReserved4_Handler = (void*) (0UL), /* Reserved */
|
|
||||||
.pfnSVC_Handler = (void*) SVC_Handler,
|
|
||||||
.pfnDebugMon_Handler = (void*) DebugMon_Handler,
|
|
||||||
.pfnReserved5_Handler = (void*) (0UL), /* Reserved */
|
|
||||||
.pfnPendSV_Handler = (void*) PendSV_Handler,
|
|
||||||
.pfnSysTick_Handler = (void*) SysTick_Handler,
|
|
||||||
|
|
||||||
/* Configurable interrupts */
|
|
||||||
.pfnSUPC_Handler = (void*) SUPC_Handler, /* 0 Supply Controller */
|
|
||||||
.pfnRSTC_Handler = (void*) RSTC_Handler, /* 1 Reset Controller */
|
|
||||||
.pfnRTC_Handler = (void*) RTC_Handler, /* 2 Real Time Clock */
|
|
||||||
.pfnRTT_Handler = (void*) RTT_Handler, /* 3 Real Time Timer */
|
|
||||||
.pfnWDT_Handler = (void*) WDT_Handler, /* 4 Watchdog Timer */
|
|
||||||
.pfnPMC_Handler = (void*) PMC_Handler, /* 5 Power Management Controller */
|
|
||||||
.pfnEFC0_Handler = (void*) EFC0_Handler, /* 6 Enhanced Flash Controller 0 */
|
|
||||||
.pfnEFC1_Handler = (void*) EFC1_Handler, /* 7 Enhanced Flash Controller 1 */
|
|
||||||
.pfnUART_Handler = (void*) UART_Handler, /* 8 Universal Asynchronous Receiver Transceiver */
|
|
||||||
#ifdef _SAM3XA_SMC_INSTANCE_
|
|
||||||
.pfnSMC_Handler = (void*) SMC_Handler, /* 9 Static Memory Controller */
|
|
||||||
#else
|
|
||||||
.pvReserved9 = (void*) (0UL), /* 9 Reserved */
|
|
||||||
#endif /* _SAM3XA_SMC_INSTANCE_ */
|
|
||||||
#ifdef _SAM3XA_SDRAMC_INSTANCE_
|
|
||||||
.pfnSDRAMC_Handler = (void*) SDRAMC_Handler, /* 10 Synchronous Dynamic RAM Controller */
|
|
||||||
#else
|
|
||||||
.pvReserved10 = (void*) (0UL), /* 10 Reserved */
|
|
||||||
#endif /* _SAM3XA_SDRAMC_INSTANCE_ */
|
|
||||||
.pfnPIOA_Handler = (void*) PIOA_Handler, /* 11 Parallel I/O Controller A, */
|
|
||||||
.pfnPIOB_Handler = (void*) PIOB_Handler, /* 12 Parallel I/O Controller B */
|
|
||||||
#ifdef _SAM3XA_PIOC_INSTANCE_
|
|
||||||
.pfnPIOC_Handler = (void*) PIOC_Handler, /* 13 Parallel I/O Controller C */
|
|
||||||
#else
|
|
||||||
.pvReserved13 = (void*) (0UL), /* 13 Reserved */
|
|
||||||
#endif /* _SAM3XA_PIOC_INSTANCE_ */
|
|
||||||
#ifdef _SAM3XA_PIOD_INSTANCE_
|
|
||||||
.pfnPIOD_Handler = (void*) PIOD_Handler, /* 14 Parallel I/O Controller D */
|
|
||||||
#else
|
|
||||||
.pvReserved14 = (void*) (0UL), /* 14 Reserved */
|
|
||||||
#endif /* _SAM3XA_PIOD_INSTANCE_ */
|
|
||||||
#ifdef _SAM3XA_PIOE_INSTANCE_
|
|
||||||
.pfnPIOE_Handler = (void*) PIOE_Handler, /* 15 Parallel I/O Controller E */
|
|
||||||
#else
|
|
||||||
.pvReserved15 = (void*) (0UL), /* 15 Reserved */
|
|
||||||
#endif /* _SAM3XA_PIOE_INSTANCE_ */
|
|
||||||
#ifdef _SAM3XA_PIOF_INSTANCE_
|
|
||||||
.pfnPIOF_Handler = (void*) PIOF_Handler, /* 16 Parallel I/O Controller F */
|
|
||||||
#else
|
|
||||||
.pvReserved16 = (void*) (0UL), /* 16 Reserved */
|
|
||||||
#endif /* _SAM3XA_PIOF_INSTANCE_ */
|
|
||||||
.pfnUSART0_Handler = (void*) USART0_Handler, /* 17 USART 0 */
|
|
||||||
.pfnUSART1_Handler = (void*) USART1_Handler, /* 18 USART 1 */
|
|
||||||
.pfnUSART2_Handler = (void*) USART2_Handler, /* 19 USART 2 */
|
|
||||||
#ifdef _SAM3XA_USART3_INSTANCE_
|
|
||||||
.pfnUSART3_Handler = (void*) USART3_Handler, /* 20 USART 3 */
|
|
||||||
#else
|
|
||||||
.pvReserved20 = (void*) (0UL), /* 20 Reserved */
|
|
||||||
#endif /* _SAM3XA_USART3_INSTANCE_ */
|
|
||||||
.pfnHSMCI_Handler = (void*) HSMCI_Handler, /* 21 Multimedia Card Interface */
|
|
||||||
.pfnTWI0_Handler = (void*) TWI0_Handler, /* 22 Two-Wire Interface 0 */
|
|
||||||
.pfnTWI1_Handler = (void*) TWI1_Handler, /* 23 Two-Wire Interface 1 */
|
|
||||||
.pfnSPI0_Handler = (void*) SPI0_Handler, /* 24 Serial Peripheral Interface */
|
|
||||||
#ifdef _SAM3XA_SPI1_INSTANCE_
|
|
||||||
.pfnSPI1_Handler = (void*) SPI1_Handler, /* 25 Serial Peripheral Interface */
|
|
||||||
#else
|
|
||||||
.pvReserved25 = (void*) (0UL), /* 25 Reserved */
|
|
||||||
#endif /* _SAM3XA_SPI1_INSTANCE_ */
|
|
||||||
.pfnSSC_Handler = (void*) SSC_Handler, /* 26 Synchronous Serial Controller */
|
|
||||||
.pfnTC0_Handler = (void*) TC0_Handler, /* 27 Timer Counter 0 */
|
|
||||||
.pfnTC1_Handler = (void*) TC1_Handler, /* 28 Timer Counter 1 */
|
|
||||||
.pfnTC2_Handler = (void*) TC2_Handler, /* 29 Timer Counter 2 */
|
|
||||||
.pfnTC3_Handler = (void*) TC3_Handler, /* 30 Timer Counter 3 */
|
|
||||||
.pfnTC4_Handler = (void*) TC4_Handler, /* 31 Timer Counter 4 */
|
|
||||||
.pfnTC5_Handler = (void*) TC5_Handler, /* 32 Timer Counter 5 */
|
|
||||||
#ifdef _SAM3XA_TC2_INSTANCE_
|
|
||||||
.pfnTC6_Handler = (void*) TC6_Handler, /* 33 Timer Counter 6 */
|
|
||||||
#else
|
|
||||||
.pvReserved33 = (void*) (0UL), /* 33 Reserved */
|
|
||||||
#endif /* _SAM3XA_TC2_INSTANCE_ */
|
|
||||||
#ifdef _SAM3XA_TC2_INSTANCE_
|
|
||||||
.pfnTC7_Handler = (void*) TC7_Handler, /* 34 Timer Counter 7 */
|
|
||||||
#else
|
|
||||||
.pvReserved34 = (void*) (0UL), /* 34 Reserved */
|
|
||||||
#endif /* _SAM3XA_TC2_INSTANCE_ */
|
|
||||||
#ifdef _SAM3XA_TC2_INSTANCE_
|
|
||||||
.pfnTC8_Handler = (void*) TC8_Handler, /* 35 Timer Counter 8 */
|
|
||||||
#else
|
|
||||||
.pvReserved35 = (void*) (0UL), /* 35 Reserved */
|
|
||||||
#endif /* _SAM3XA_TC2_INSTANCE_ */
|
|
||||||
.pfnPWM_Handler = (void*) PWM_Handler, /* 36 Pulse Width Modulation Controller */
|
|
||||||
.pfnADC_Handler = (void*) ADC_Handler, /* 37 ADC Controller */
|
|
||||||
.pfnDACC_Handler = (void*) DACC_Handler, /* 38 DAC Controller */
|
|
||||||
.pfnDMAC_Handler = (void*) DMAC_Handler, /* 39 DMA Controller */
|
|
||||||
.pfnUOTGHS_Handler = (void*) UOTGHS_Handler, /* 40 USB OTG High Speed */
|
|
||||||
.pfnTRNG_Handler = (void*) TRNG_Handler, /* 41 True Random Number Generator */
|
|
||||||
#ifdef _SAM3XA_EMAC_INSTANCE_
|
|
||||||
.pfnEMAC_Handler = (void*) EMAC_Handler, /* 42 Ethernet MAC */
|
|
||||||
#else
|
|
||||||
.pvReserved42 = (void*) (0UL), /* 42 Reserved */
|
|
||||||
#endif /* _SAM3XA_EMAC_INSTANCE_ */
|
|
||||||
.pfnCAN0_Handler = (void*) CAN0_Handler, /* 43 CAN Controller 0 */
|
|
||||||
.pfnCAN1_Handler = (void*) CAN1_Handler /* 44 CAN Controller 1 */
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief This is the code that gets called on processor reset.
|
|
||||||
* To initialize the device, and call the main() routine.
|
|
||||||
*/
|
|
||||||
void Reset_Handler(void)
|
|
||||||
{
|
|
||||||
uint32_t *pSrc, *pDest;
|
|
||||||
|
|
||||||
/* Initialize the relocate segment */
|
|
||||||
pSrc = &_etext;
|
|
||||||
pDest = &_srelocate;
|
|
||||||
|
|
||||||
if (pSrc != pDest) {
|
|
||||||
for (; pDest < &_erelocate;) {
|
|
||||||
*pDest++ = *pSrc++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Clear the zero segment */
|
|
||||||
for (pDest = &_szero; pDest < &_ezero;) {
|
|
||||||
*pDest++ = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Set the vector table base address */
|
|
||||||
pSrc = (uint32_t *) & _sfixed;
|
|
||||||
SCB->VTOR = ((uint32_t) pSrc & SCB_VTOR_TBLOFF_Msk);
|
|
||||||
|
|
||||||
/* Initialize the C library */
|
|
||||||
__libc_init_array();
|
|
||||||
|
|
||||||
/* Branch to main function */
|
|
||||||
main();
|
|
||||||
|
|
||||||
/* Infinite loop */
|
|
||||||
while (1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Default interrupt handler for unused IRQs.
|
|
||||||
*/
|
|
||||||
void Dummy_Handler(void)
|
|
||||||
{
|
|
||||||
while (1) {
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
diff --git a/lib/sam3x/gcc/gcc/startup_sam3xa.c b/lib/sam3x/gcc/gcc/startup_sam3xa.c
|
|
||||||
index 337a6d3c..dcf56447 100644
|
|
||||||
--- a/lib/sam3x/gcc/gcc/startup_sam3xa.c
|
|
||||||
+++ b/lib/sam3x/gcc/gcc/startup_sam3xa.c
|
|
||||||
@@ -132,7 +132,7 @@ void CAN0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void CAN1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
|
|
||||||
/* Exception Table */
|
|
||||||
-__attribute__ ((section(".vectors")))
|
|
||||||
+__attribute__ ((section(".vectors"))) __attribute__((externally_visible))
|
|
||||||
const DeviceVectors exception_table = {
|
|
||||||
|
|
||||||
/* Configure Initial Stack Pointer, using linker-generated symbols */
|
|
|
@ -1,48 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4E16C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00100000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x3000;
|
|
||||||
|
|
||||||
INCLUDE sam4e_flash.ld
|
|
|
@ -1,48 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4E16C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00100000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x3000;
|
|
||||||
|
|
||||||
INCLUDE sam4e_sram.ld
|
|
|
@ -1,48 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4E16E
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00100000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x3000;
|
|
||||||
|
|
||||||
INCLUDE sam4e_flash.ld
|
|
|
@ -1,48 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4E16E
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00100000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x3000;
|
|
||||||
|
|
||||||
INCLUDE sam4e_sram.ld
|
|
|
@ -1,48 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4E8C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00080000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x3000;
|
|
||||||
|
|
||||||
INCLUDE sam4e_flash.ld
|
|
|
@ -1,48 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4E8C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00080000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x3000;
|
|
||||||
|
|
||||||
INCLUDE sam4e_sram.ld
|
|
|
@ -1,48 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4E8E
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00080000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x3000;
|
|
||||||
|
|
||||||
INCLUDE sam4e_flash.ld
|
|
|
@ -1,48 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4E8E
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00080000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x3000;
|
|
||||||
|
|
||||||
INCLUDE sam4e_sram.ld
|
|
|
@ -1,128 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(0x4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > rom
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > rom
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,128 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(0x4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > ram
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,222 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
#include "sam4e.h"
|
|
||||||
|
|
||||||
/* Initialize segments */
|
|
||||||
extern uint32_t _sfixed;
|
|
||||||
extern uint32_t _efixed;
|
|
||||||
extern uint32_t _etext;
|
|
||||||
extern uint32_t _srelocate;
|
|
||||||
extern uint32_t _erelocate;
|
|
||||||
extern uint32_t _szero;
|
|
||||||
extern uint32_t _ezero;
|
|
||||||
extern uint32_t _sstack;
|
|
||||||
extern uint32_t _estack;
|
|
||||||
|
|
||||||
/** \cond DOXYGEN_SHOULD_SKIP_THIS */
|
|
||||||
int main(void);
|
|
||||||
/** \endcond */
|
|
||||||
|
|
||||||
void __libc_init_array(void);
|
|
||||||
|
|
||||||
/* Default empty handler */
|
|
||||||
void Dummy_Handler(void);
|
|
||||||
|
|
||||||
/* Cortex-M4 core handlers */
|
|
||||||
void NMI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void HardFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void MemManage_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void BusFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void UsageFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void SVC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void DebugMon_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void PendSV_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void SysTick_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
|
|
||||||
/* Peripherals handlers */
|
|
||||||
void SUPC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void RSTC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void RTC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void RTT_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void WDT_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void PMC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void EFC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void UART0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void PIOA_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void PIOB_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void PIOC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void PIOD_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void PIOE_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void USART0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void USART1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void HSMCI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TWI0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TWI1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void SPI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void DMAC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC4_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC5_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC6_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC7_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC8_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void AFEC0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void AFEC1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void DACC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void ACC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void ARM_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void UDP_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void PWM_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void CAN0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void CAN1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void AES_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void GMAC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void UART1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
|
|
||||||
/* Exception Table */
|
|
||||||
__attribute__ ((section(".vectors"))) __attribute__((externally_visible))
|
|
||||||
const DeviceVectors exception_table = {
|
|
||||||
|
|
||||||
/* Configure Initial Stack Pointer, using linker-generated symbols */
|
|
||||||
(void*) (&_estack),
|
|
||||||
|
|
||||||
(void*) Reset_Handler,
|
|
||||||
(void*) NMI_Handler,
|
|
||||||
(void*) HardFault_Handler,
|
|
||||||
(void*) MemManage_Handler,
|
|
||||||
(void*) BusFault_Handler,
|
|
||||||
(void*) UsageFault_Handler,
|
|
||||||
(void*) (0UL), /* Reserved */
|
|
||||||
(void*) (0UL), /* Reserved */
|
|
||||||
(void*) (0UL), /* Reserved */
|
|
||||||
(void*) (0UL), /* Reserved */
|
|
||||||
(void*) SVC_Handler,
|
|
||||||
(void*) DebugMon_Handler,
|
|
||||||
(void*) (0UL), /* Reserved */
|
|
||||||
(void*) PendSV_Handler,
|
|
||||||
(void*) SysTick_Handler,
|
|
||||||
|
|
||||||
/* Configurable interrupts */
|
|
||||||
(void*) SUPC_Handler, /* 0 Supply Controller */
|
|
||||||
(void*) RSTC_Handler, /* 1 Reset Controller */
|
|
||||||
(void*) RTC_Handler, /* 2 Real Time Clock */
|
|
||||||
(void*) RTT_Handler, /* 3 Real Time Timer */
|
|
||||||
(void*) WDT_Handler, /* 4 Watchdog/Dual Watchdog Timer */
|
|
||||||
(void*) PMC_Handler, /* 5 Power Management Controller */
|
|
||||||
(void*) EFC_Handler, /* 6 Enhanced Embedded Flash Controller */
|
|
||||||
(void*) UART0_Handler, /* 7 UART 0 */
|
|
||||||
(void*) Dummy_Handler, /* 8 Dummy */
|
|
||||||
(void*) PIOA_Handler, /* 9 Parallel I/O Controller A */
|
|
||||||
(void*) PIOB_Handler, /* 10 Parallel I/O Controller B */
|
|
||||||
(void*) PIOC_Handler, /* 11 Parallel I/O Controller C */
|
|
||||||
(void*) PIOD_Handler, /* 12 Parallel I/O Controller D */
|
|
||||||
(void*) PIOE_Handler, /* 13 Parallel I/O Controller E */
|
|
||||||
(void*) USART0_Handler, /* 14 USART 0 */
|
|
||||||
(void*) USART1_Handler, /* 15 USART 1 */
|
|
||||||
(void*) HSMCI_Handler, /* 16 Multimedia Card Interface */
|
|
||||||
(void*) TWI0_Handler, /* 17 Two Wire Interface 0 */
|
|
||||||
(void*) TWI1_Handler, /* 18 Two Wire Interface 1 */
|
|
||||||
(void*) SPI_Handler, /* 19 Serial Peripheral Interface */
|
|
||||||
(void*) DMAC_Handler, /* 20 DMAC */
|
|
||||||
(void*) TC0_Handler, /* 21 Timer/Counter 0 */
|
|
||||||
(void*) TC1_Handler, /* 22 Timer/Counter 1 */
|
|
||||||
(void*) TC2_Handler, /* 23 Timer/Counter 2 */
|
|
||||||
(void*) TC3_Handler, /* 24 Timer/Counter 3 */
|
|
||||||
(void*) TC4_Handler, /* 25 Timer/Counter 4 */
|
|
||||||
(void*) TC5_Handler, /* 26 Timer/Counter 5 */
|
|
||||||
(void*) TC6_Handler, /* 27 Timer/Counter 6 */
|
|
||||||
(void*) TC7_Handler, /* 28 Timer/Counter 7 */
|
|
||||||
(void*) TC8_Handler, /* 29 Timer/Counter 8 */
|
|
||||||
(void*) AFEC0_Handler, /* 30 Analog Front End 0 */
|
|
||||||
(void*) AFEC1_Handler, /* 31 Analog Front End 1 */
|
|
||||||
(void*) DACC_Handler, /* 32 Digital To Analog Converter */
|
|
||||||
(void*) ACC_Handler, /* 33 Analog Comparator */
|
|
||||||
(void*) ARM_Handler, /* 34 FPU signals : FPIXC, FPOFC, FPUFC, FPIOC, FPDZC, FPIDC, FPIXC */
|
|
||||||
(void*) UDP_Handler, /* 35 USB DEVICE */
|
|
||||||
(void*) PWM_Handler, /* 36 PWM */
|
|
||||||
(void*) CAN0_Handler, /* 37 CAN0 */
|
|
||||||
(void*) CAN1_Handler, /* 38 CAN1 */
|
|
||||||
(void*) AES_Handler, /* 39 AES */
|
|
||||||
(void*) Dummy_Handler, /* 40 Dummy */
|
|
||||||
(void*) Dummy_Handler, /* 41 Dummy */
|
|
||||||
(void*) Dummy_Handler, /* 42 Dummy */
|
|
||||||
(void*) Dummy_Handler, /* 43 Dummy */
|
|
||||||
(void*) GMAC_Handler, /* 44 EMAC */
|
|
||||||
(void*) UART1_Handler /* 45 UART */
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief This is the code that gets called on processor reset.
|
|
||||||
* To initialize the device, and call the main() routine.
|
|
||||||
*/
|
|
||||||
void Reset_Handler(void)
|
|
||||||
{
|
|
||||||
uint32_t *pSrc, *pDest;
|
|
||||||
|
|
||||||
/* Initialize the relocate segment */
|
|
||||||
pSrc = &_etext;
|
|
||||||
pDest = &_srelocate;
|
|
||||||
|
|
||||||
if (pSrc != pDest) {
|
|
||||||
for (; pDest < &_erelocate;) {
|
|
||||||
*pDest++ = *pSrc++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Clear the zero segment */
|
|
||||||
for (pDest = &_szero; pDest < &_ezero;) {
|
|
||||||
*pDest++ = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Set the vector table base address */
|
|
||||||
pSrc = (uint32_t *) & _sfixed;
|
|
||||||
SCB->VTOR = ((uint32_t) pSrc & SCB_VTOR_TBLOFF_Msk);
|
|
||||||
|
|
||||||
/* Initialize the C library */
|
|
||||||
// __libc_init_array();
|
|
||||||
|
|
||||||
/* Branch to main function */
|
|
||||||
main();
|
|
||||||
|
|
||||||
/* Infinite loop */
|
|
||||||
while (1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Default interrupt handler for unused IRQs.
|
|
||||||
*/
|
|
||||||
void Dummy_Handler(void)
|
|
||||||
{
|
|
||||||
while (1) {
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,42 +1,3 @@
|
||||||
--- a/lib/sam4e/gcc/gcc/startup_sam4e.c
|
|
||||||
+++ b/lib/sam4e/gcc/gcc/startup_sam4e.c
|
|
||||||
@@ -104,7 +105,7 @@ void GMAC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void UART1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
|
|
||||||
/* Exception Table */
|
|
||||||
-__attribute__ ((section(".vectors")))
|
|
||||||
+__attribute__ ((section(".vectors"))) __attribute__((externally_visible))
|
|
||||||
const DeviceVectors exception_table = {
|
|
||||||
|
|
||||||
/* Configure Initial Stack Pointer, using linker-generated symbols */
|
|
||||||
@@ -135,6 +136,7 @@ const DeviceVectors exception_table = {
|
|
||||||
(void*) PMC_Handler, /* 5 Power Management Controller */
|
|
||||||
(void*) EFC_Handler, /* 6 Enhanced Embedded Flash Controller */
|
|
||||||
(void*) UART0_Handler, /* 7 UART 0 */
|
|
||||||
+ (void*) Dummy_Handler, /* 8 Dummy */
|
|
||||||
(void*) PIOA_Handler, /* 9 Parallel I/O Controller A */
|
|
||||||
(void*) PIOB_Handler, /* 10 Parallel I/O Controller B */
|
|
||||||
(void*) PIOC_Handler, /* 11 Parallel I/O Controller C */
|
|
||||||
@@ -166,6 +168,10 @@ const DeviceVectors exception_table = {
|
|
||||||
(void*) CAN0_Handler, /* 37 CAN0 */
|
|
||||||
(void*) CAN1_Handler, /* 38 CAN1 */
|
|
||||||
(void*) AES_Handler, /* 39 AES */
|
|
||||||
+ (void*) Dummy_Handler, /* 40 Dummy */
|
|
||||||
+ (void*) Dummy_Handler, /* 41 Dummy */
|
|
||||||
+ (void*) Dummy_Handler, /* 42 Dummy */
|
|
||||||
+ (void*) Dummy_Handler, /* 43 Dummy */
|
|
||||||
(void*) GMAC_Handler, /* 44 EMAC */
|
|
||||||
(void*) UART1_Handler /* 45 UART */
|
|
||||||
};
|
|
||||||
@@ -198,7 +204,7 @@ void Reset_Handler(void)
|
|
||||||
SCB->VTOR = ((uint32_t) pSrc & SCB_VTOR_TBLOFF_Msk);
|
|
||||||
|
|
||||||
/* Initialize the C library */
|
|
||||||
- __libc_init_array();
|
|
||||||
+ // __libc_init_array();
|
|
||||||
|
|
||||||
/* Branch to main function */
|
|
||||||
main();
|
|
||||||
diff --git a/lib/sam4e/include/component/afec.h b/lib/sam4e/include/component/afec.h
|
diff --git a/lib/sam4e/include/component/afec.h b/lib/sam4e/include/component/afec.h
|
||||||
index 34c4e61d..9a4f8f96 100644
|
index 34c4e61d..9a4f8f96 100644
|
||||||
--- a/lib/sam4e/include/component/afec.h
|
--- a/lib/sam4e/include/component/afec.h
|
||||||
|
@ -53,4 +14,3 @@ index 34c4e61d..9a4f8f96 100644
|
||||||
RwReg AFE_TEMPMR; /**< \brief (Afec Offset: 0x70) Temperature Sensor Mode Register */
|
RwReg AFE_TEMPMR; /**< \brief (Afec Offset: 0x70) Temperature Sensor Mode Register */
|
||||||
RwReg AFE_TEMPCWR; /**< \brief (Afec Offset: 0x74) Temperature Compare Window Register */
|
RwReg AFE_TEMPCWR; /**< \brief (Afec Offset: 0x74) Temperature Compare Window Register */
|
||||||
RoReg Reserved3[7];
|
RoReg Reserved3[7];
|
||||||
|
|
||||||
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4S16B
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00100000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4S16B
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00100000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_sram.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4S16C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00100000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4S16C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00100000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_sram.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4S2A
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00020000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4S2A
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00020000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_sram.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4S2B
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00020000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4S2B
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00020000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_sram.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4S2C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00020000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4S2C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00020000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_sram.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4S4A
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00040000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4S4A
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00040000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_sram.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4S4B
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00040000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4S4B
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00040000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_sram.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4S4C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00040000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4S4C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00040000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_sram.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4S8B
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00080000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4S8B
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00080000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_sram.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4S8C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00080000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4S8C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00080000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_sram.ld
|
|
|
@ -1,139 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(0x4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > rom
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > rom
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* heap section */
|
|
||||||
.heap (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sheap = .;
|
|
||||||
. = . + HEAP_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_eheap = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
_ram_end_ = ORIGIN(ram) + LENGTH(ram) -1 ;
|
|
||||||
}
|
|
|
@ -1,139 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(0x4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(8);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* heap section */
|
|
||||||
.heap (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sheap = .;
|
|
||||||
. = . + HEAP_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_eheap = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > ram
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
_ram_end_ = ORIGIN(ram) + LENGTH(ram) -1 ;
|
|
||||||
}
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4SA16B
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00100000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00028000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4SA16B
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00100000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00028000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_sram.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4SA16C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00100000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00028000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4SA16C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00100000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00028000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_sram.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4SD16B
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00100000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00028000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4SD16B
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00100000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00028000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_sram.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4SD16C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00100000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00028000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4SD16C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00100000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00028000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_sram.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4SD32B
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00200000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00028000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4SD32B
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00200000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00028000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_sram.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal FLASH on the ATSAM4SD32C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00200000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00028000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_flash.ld
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Linker script for running in internal SRAM on the ATSAM4SD32C
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00200000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00028000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x400;
|
|
||||||
|
|
||||||
/* The heapsize used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
HEAP_SIZE = DEFINED(HEAP_SIZE) ? HEAP_SIZE : 0x200;
|
|
||||||
|
|
||||||
INCLUDE sam4s_sram.ld
|
|
|
@ -1,250 +0,0 @@
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Atmel Microcontroller Software Support */
|
|
||||||
/* SAM Software Package License */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
/* Copyright (c) %copyright_year%, Atmel Corporation */
|
|
||||||
/* */
|
|
||||||
/* All rights reserved. */
|
|
||||||
/* */
|
|
||||||
/* Redistribution and use in source and binary forms, with or without */
|
|
||||||
/* modification, are permitted provided that the following condition is met: */
|
|
||||||
/* */
|
|
||||||
/* - Redistributions of source code must retain the above copyright notice, */
|
|
||||||
/* this list of conditions and the disclaimer below. */
|
|
||||||
/* */
|
|
||||||
/* Atmel's name may not be used to endorse or promote products derived from */
|
|
||||||
/* this software without specific prior written permission. */
|
|
||||||
/* */
|
|
||||||
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
|
|
||||||
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
|
|
||||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
|
|
||||||
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
|
||||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
|
|
||||||
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
||||||
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
|
|
||||||
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
||||||
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
|
||||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
#include "sam4s.h"
|
|
||||||
|
|
||||||
/* Initialize segments */
|
|
||||||
extern uint32_t _sfixed;
|
|
||||||
extern uint32_t _efixed;
|
|
||||||
extern uint32_t _etext;
|
|
||||||
extern uint32_t _srelocate;
|
|
||||||
extern uint32_t _erelocate;
|
|
||||||
extern uint32_t _szero;
|
|
||||||
extern uint32_t _ezero;
|
|
||||||
extern uint32_t _sstack;
|
|
||||||
extern uint32_t _estack;
|
|
||||||
|
|
||||||
/** \cond DOXYGEN_SHOULD_SKIP_THIS */
|
|
||||||
int main(void);
|
|
||||||
/** \endcond */
|
|
||||||
|
|
||||||
void __libc_init_array(void);
|
|
||||||
|
|
||||||
/* Default empty handler */
|
|
||||||
void Dummy_Handler(void);
|
|
||||||
|
|
||||||
/* Cortex-M4 core handlers */
|
|
||||||
void NMI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void HardFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void MemManage_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void BusFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void UsageFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void SVC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void DebugMon_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void PendSV_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void SysTick_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
|
|
||||||
/* Peripherals handlers */
|
|
||||||
void SUPC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void RSTC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void RTC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void RTT_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void WDT_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void PMC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void EFC0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#ifdef _SAM4S_EFC1_INSTANCE_
|
|
||||||
void EFC1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM4S_EFC1_INSTANCE_ */
|
|
||||||
void UART0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void UART1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void PIOA_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void PIOB_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#ifdef _SAM4S_PIOC_INSTANCE_
|
|
||||||
void PIOC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM4S_PIOC_INSTANCE_ */
|
|
||||||
void USART0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#ifdef _SAM4S_USART1_INSTANCE_
|
|
||||||
void USART1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM4S_USART1_INSTANCE_ */
|
|
||||||
#ifdef _SAM4S_HSMCI_INSTANCE_
|
|
||||||
void HSMCI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM4S_HSMCI_INSTANCE_ */
|
|
||||||
void TWI0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TWI1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void SPI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void SSC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#ifdef _SAM4S_TC1_INSTANCE_
|
|
||||||
void TC3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM4S_TC1_INSTANCE_ */
|
|
||||||
#ifdef _SAM4S_TC1_INSTANCE_
|
|
||||||
void TC4_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM4S_TC1_INSTANCE_ */
|
|
||||||
#ifdef _SAM4S_TC1_INSTANCE_
|
|
||||||
void TC5_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM4S_TC1_INSTANCE_ */
|
|
||||||
void ADC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#ifdef _SAM4S_DACC_INSTANCE_
|
|
||||||
void DACC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif /* _SAM4S_DACC_INSTANCE_ */
|
|
||||||
void PWM_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void CRCCU_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void ACC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void UDP_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
|
|
||||||
/* Exception Table */
|
|
||||||
__attribute__ ((section(".vectors"))) __attribute__((externally_visible))
|
|
||||||
const DeviceVectors exception_table = {
|
|
||||||
|
|
||||||
/* Configure Initial Stack Pointer, using linker-generated symbols */
|
|
||||||
.pvStack = (void*) (&_estack),
|
|
||||||
|
|
||||||
.pfnReset_Handler = (void*) Reset_Handler,
|
|
||||||
.pfnNMI_Handler = (void*) NMI_Handler,
|
|
||||||
.pfnHardFault_Handler = (void*) HardFault_Handler,
|
|
||||||
.pfnMemManage_Handler = (void*) MemManage_Handler,
|
|
||||||
.pfnBusFault_Handler = (void*) BusFault_Handler,
|
|
||||||
.pfnUsageFault_Handler = (void*) UsageFault_Handler,
|
|
||||||
.pfnReserved1_Handler = (void*) (0UL), /* Reserved */
|
|
||||||
.pfnReserved2_Handler = (void*) (0UL), /* Reserved */
|
|
||||||
.pfnReserved3_Handler = (void*) (0UL), /* Reserved */
|
|
||||||
.pfnReserved4_Handler = (void*) (0UL), /* Reserved */
|
|
||||||
.pfnSVC_Handler = (void*) SVC_Handler,
|
|
||||||
.pfnDebugMon_Handler = (void*) DebugMon_Handler,
|
|
||||||
.pfnReserved5_Handler = (void*) (0UL), /* Reserved */
|
|
||||||
.pfnPendSV_Handler = (void*) PendSV_Handler,
|
|
||||||
.pfnSysTick_Handler = (void*) SysTick_Handler,
|
|
||||||
|
|
||||||
/* Configurable interrupts */
|
|
||||||
.pfnSUPC_Handler = (void*) SUPC_Handler, /* 0 Supply Controller */
|
|
||||||
.pfnRSTC_Handler = (void*) RSTC_Handler, /* 1 Reset Controller */
|
|
||||||
.pfnRTC_Handler = (void*) RTC_Handler, /* 2 Real Time Clock */
|
|
||||||
.pfnRTT_Handler = (void*) RTT_Handler, /* 3 Real Time Timer */
|
|
||||||
.pfnWDT_Handler = (void*) WDT_Handler, /* 4 Watchdog Timer */
|
|
||||||
.pfnPMC_Handler = (void*) PMC_Handler, /* 5 Power Management Controller */
|
|
||||||
.pfnEFC0_Handler = (void*) EFC0_Handler, /* 6 Enhanced Embedded Flash Controller 0 */
|
|
||||||
#ifdef _SAM4S_EFC1_INSTANCE_
|
|
||||||
.pfnEFC1_Handler = (void*) EFC1_Handler, /* 7 Enhanced Embedded Flash Controller 1 */
|
|
||||||
#else
|
|
||||||
.pvReserved7 = (void*) (0UL), /* 7 Reserved */
|
|
||||||
#endif /* _SAM4S_EFC1_INSTANCE_ */
|
|
||||||
.pfnUART0_Handler = (void*) UART0_Handler, /* 8 UART 0 */
|
|
||||||
.pfnUART1_Handler = (void*) UART1_Handler, /* 9 UART 1 */
|
|
||||||
.pvReserved10 = (void*) (0UL), /* 10 Reserved */
|
|
||||||
.pfnPIOA_Handler = (void*) PIOA_Handler, /* 11 Parallel I/O Controller A */
|
|
||||||
.pfnPIOB_Handler = (void*) PIOB_Handler, /* 12 Parallel I/O Controller B */
|
|
||||||
#ifdef _SAM4S_PIOC_INSTANCE_
|
|
||||||
.pfnPIOC_Handler = (void*) PIOC_Handler, /* 13 Parallel I/O Controller C */
|
|
||||||
#else
|
|
||||||
.pvReserved13 = (void*) (0UL), /* 13 Reserved */
|
|
||||||
#endif /* _SAM4S_PIOC_INSTANCE_ */
|
|
||||||
.pfnUSART0_Handler = (void*) USART0_Handler, /* 14 USART 0 */
|
|
||||||
#ifdef _SAM4S_USART1_INSTANCE_
|
|
||||||
.pfnUSART1_Handler = (void*) USART1_Handler, /* 15 USART 1 */
|
|
||||||
#else
|
|
||||||
.pvReserved15 = (void*) (0UL), /* 15 Reserved */
|
|
||||||
#endif /* _SAM4S_USART1_INSTANCE_ */
|
|
||||||
.pvReserved16 = (void*) (0UL), /* 16 Reserved */
|
|
||||||
.pvReserved17 = (void*) (0UL), /* 17 Reserved */
|
|
||||||
#ifdef _SAM4S_HSMCI_INSTANCE_
|
|
||||||
.pfnHSMCI_Handler = (void*) HSMCI_Handler, /* 18 Multimedia Card Interface */
|
|
||||||
#else
|
|
||||||
.pvReserved18 = (void*) (0UL), /* 18 Reserved */
|
|
||||||
#endif /* _SAM4S_HSMCI_INSTANCE_ */
|
|
||||||
.pfnTWI0_Handler = (void*) TWI0_Handler, /* 19 Two Wire Interface 0 */
|
|
||||||
.pfnTWI1_Handler = (void*) TWI1_Handler, /* 20 Two Wire Interface 1 */
|
|
||||||
.pfnSPI_Handler = (void*) SPI_Handler, /* 21 Serial Peripheral Interface */
|
|
||||||
.pfnSSC_Handler = (void*) SSC_Handler, /* 22 Synchronous Serial Controller */
|
|
||||||
.pfnTC0_Handler = (void*) TC0_Handler, /* 23 Timer/Counter 0 */
|
|
||||||
.pfnTC1_Handler = (void*) TC1_Handler, /* 24 Timer/Counter 1 */
|
|
||||||
.pfnTC2_Handler = (void*) TC2_Handler, /* 25 Timer/Counter 2 */
|
|
||||||
#ifdef _SAM4S_TC1_INSTANCE_
|
|
||||||
.pfnTC3_Handler = (void*) TC3_Handler, /* 26 Timer/Counter 3 */
|
|
||||||
#else
|
|
||||||
.pvReserved26 = (void*) (0UL), /* 26 Reserved */
|
|
||||||
#endif /* _SAM4S_TC1_INSTANCE_ */
|
|
||||||
#ifdef _SAM4S_TC1_INSTANCE_
|
|
||||||
.pfnTC4_Handler = (void*) TC4_Handler, /* 27 Timer/Counter 4 */
|
|
||||||
#else
|
|
||||||
.pvReserved27 = (void*) (0UL), /* 27 Reserved */
|
|
||||||
#endif /* _SAM4S_TC1_INSTANCE_ */
|
|
||||||
#ifdef _SAM4S_TC1_INSTANCE_
|
|
||||||
.pfnTC5_Handler = (void*) TC5_Handler, /* 28 Timer/Counter 5 */
|
|
||||||
#else
|
|
||||||
.pvReserved28 = (void*) (0UL), /* 28 Reserved */
|
|
||||||
#endif /* _SAM4S_TC1_INSTANCE_ */
|
|
||||||
.pfnADC_Handler = (void*) ADC_Handler, /* 29 Analog To Digital Converter */
|
|
||||||
#ifdef _SAM4S_DACC_INSTANCE_
|
|
||||||
.pfnDACC_Handler = (void*) DACC_Handler, /* 30 Digital To Analog Converter */
|
|
||||||
#else
|
|
||||||
.pvReserved30 = (void*) (0UL), /* 30 Reserved */
|
|
||||||
#endif /* _SAM4S_DACC_INSTANCE_ */
|
|
||||||
.pfnPWM_Handler = (void*) PWM_Handler, /* 31 Pulse Width Modulation */
|
|
||||||
.pfnCRCCU_Handler = (void*) CRCCU_Handler, /* 32 CRC Calculation Unit */
|
|
||||||
.pfnACC_Handler = (void*) ACC_Handler, /* 33 Analog Comparator */
|
|
||||||
.pfnUDP_Handler = (void*) UDP_Handler /* 34 USB Device Port */
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief This is the code that gets called on processor reset.
|
|
||||||
* To initialize the device, and call the main() routine.
|
|
||||||
*/
|
|
||||||
void Reset_Handler(void)
|
|
||||||
{
|
|
||||||
uint32_t *pSrc, *pDest;
|
|
||||||
|
|
||||||
/* Initialize the relocate segment */
|
|
||||||
pSrc = &_etext;
|
|
||||||
pDest = &_srelocate;
|
|
||||||
|
|
||||||
if (pSrc != pDest) {
|
|
||||||
for (; pDest < &_erelocate;) {
|
|
||||||
*pDest++ = *pSrc++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Clear the zero segment */
|
|
||||||
for (pDest = &_szero; pDest < &_ezero;) {
|
|
||||||
*pDest++ = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Set the vector table base address */
|
|
||||||
pSrc = (uint32_t *) & _sfixed;
|
|
||||||
SCB->VTOR = ((uint32_t) pSrc & SCB_VTOR_TBLOFF_Msk);
|
|
||||||
|
|
||||||
/* Initialize the C library */
|
|
||||||
__libc_init_array();
|
|
||||||
|
|
||||||
/* Branch to main function */
|
|
||||||
main();
|
|
||||||
|
|
||||||
/* Infinite loop */
|
|
||||||
while (1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Default interrupt handler for unused IRQs.
|
|
||||||
*/
|
|
||||||
void Dummy_Handler(void)
|
|
||||||
{
|
|
||||||
while (1) {
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
diff --git a/lib/sam4s/gcc/gcc/startup_sam4s.c b/lib/sam4s/gcc/gcc/startup_sam4s.c
|
|
||||||
index 3792319e..ae19328a 100644
|
|
||||||
--- a/lib/sam4s/gcc/gcc/startup_sam4s.c
|
|
||||||
+++ b/lib/sam4s/gcc/gcc/startup_sam4s.c
|
|
||||||
@@ -111,7 +111,7 @@ void ACC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void UDP_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
|
|
||||||
/* Exception Table */
|
|
||||||
-__attribute__ ((section(".vectors")))
|
|
||||||
+__attribute__ ((section(".vectors"))) __attribute__((externally_visible))
|
|
||||||
const DeviceVectors exception_table = {
|
|
||||||
|
|
||||||
/* Configure Initial Stack Pointer, using linker-generated symbols */
|
|
|
@ -1,13 +0,0 @@
|
||||||
diff --git a/lib/samd21/samd21a/gcc/gcc/startup_samd21.c b/lib/samd21/samd21a/gcc/gcc/startup_samd21.c
|
|
||||||
index 3dce0edd..a480077f 100644
|
|
||||||
--- a/lib/samd21/samd21a/gcc/gcc/startup_samd21.c
|
|
||||||
+++ b/lib/samd21/samd21a/gcc/gcc/startup_samd21.c
|
|
||||||
@@ -105,7 +105,7 @@ void PTC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler
|
|
||||||
void I2S_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
|
|
||||||
/* Exception Table */
|
|
||||||
-__attribute__ ((section(".vectors")))
|
|
||||||
+__attribute__ ((section(".vectors"))) __attribute__((externally_visible))
|
|
||||||
const DeviceVectors exception_table = {
|
|
||||||
|
|
||||||
/* Configure Initial Stack Pointer, using linker-generated symbols */
|
|
|
@ -1,143 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal FLASH on the SAMD21E15A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00008000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00001000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x400;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > rom
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > rom
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,142 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal SRAM on the SAMD21E15A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00001000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x400;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > ram
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,143 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal FLASH on the SAMD21E16A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00010000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00002000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x800;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > rom
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > rom
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,142 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal SRAM on the SAMD21E16A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00002000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x800;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > ram
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,143 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal FLASH on the SAMD21E17A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00020000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00004000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x1000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > rom
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > rom
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,142 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal SRAM on the SAMD21E17A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00004000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x1000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > ram
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,143 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal FLASH on the SAMD21E18A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00040000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00008000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x2000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > rom
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > rom
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,142 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal SRAM on the SAMD21E18A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00008000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x2000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > ram
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,143 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal FLASH on the SAMD21G15A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00008000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00001000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x400;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > rom
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > rom
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,142 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal SRAM on the SAMD21G15A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00001000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x400;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > ram
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,143 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal FLASH on the SAMD21G16A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00010000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00002000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x800;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > rom
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > rom
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,142 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal SRAM on the SAMD21G16A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00002000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x800;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > ram
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,143 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal FLASH on the SAMD21G17A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00020000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00004000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x1000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > rom
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > rom
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,142 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal SRAM on the SAMD21G17A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00004000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x1000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > ram
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,143 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal FLASH on the SAMD21G17AU
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00020000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00004000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x1000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > rom
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > rom
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,142 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal SRAM on the SAMD21G17AU
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00004000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x1000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > ram
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,143 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal FLASH on the SAMD21G18A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00040000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00008000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x2000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > rom
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > rom
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,142 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal SRAM on the SAMD21G18A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00008000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x2000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > ram
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,143 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal FLASH on the SAMD21G18AU
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00040000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00008000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x2000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > rom
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > rom
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,142 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal SRAM on the SAMD21G18AU
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00008000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x2000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > ram
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,143 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal FLASH on the SAMD21J15A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00008000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00001000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x400;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > rom
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > rom
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,142 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal SRAM on the SAMD21J15A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00001000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x400;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > ram
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,143 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal FLASH on the SAMD21J16A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00010000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00002000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x800;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > rom
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > rom
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,142 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal SRAM on the SAMD21J16A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00002000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x800;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > ram
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,143 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal FLASH on the SAMD21J17A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00020000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00004000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x1000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > rom
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > rom
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,142 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal SRAM on the SAMD21J17A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00004000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x1000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > ram
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,143 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal FLASH on the SAMD21J18A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00040000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00008000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x2000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > rom
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > rom
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,142 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal SRAM on the SAMD21J18A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00008000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x2000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > ram
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,255 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief gcc starttup file for SAMD21
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "samd21.h"
|
|
||||||
|
|
||||||
/* Initialize segments */
|
|
||||||
extern uint32_t _sfixed;
|
|
||||||
extern uint32_t _efixed;
|
|
||||||
extern uint32_t _etext;
|
|
||||||
extern uint32_t _srelocate;
|
|
||||||
extern uint32_t _erelocate;
|
|
||||||
extern uint32_t _szero;
|
|
||||||
extern uint32_t _ezero;
|
|
||||||
extern uint32_t _sstack;
|
|
||||||
extern uint32_t _estack;
|
|
||||||
|
|
||||||
/** \cond DOXYGEN_SHOULD_SKIP_THIS */
|
|
||||||
int main(void);
|
|
||||||
/** \endcond */
|
|
||||||
|
|
||||||
void __libc_init_array(void);
|
|
||||||
|
|
||||||
/* Default empty handler */
|
|
||||||
void Dummy_Handler(void);
|
|
||||||
|
|
||||||
/* Cortex-M0+ core handlers */
|
|
||||||
void NonMaskableInt_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void HardFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void SVCall_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void PendSV_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void SysTick_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
|
|
||||||
/* Peripherals handlers */
|
|
||||||
void PM_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void SYSCTRL_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void WDT_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void RTC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void EIC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void NVMCTRL_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void DMAC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#ifdef ID_USB
|
|
||||||
void USB_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif
|
|
||||||
void EVSYS_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void SERCOM0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void SERCOM1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void SERCOM2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void SERCOM3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#ifdef ID_SERCOM4
|
|
||||||
void SERCOM4_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif
|
|
||||||
#ifdef ID_SERCOM5
|
|
||||||
void SERCOM5_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif
|
|
||||||
void TCC0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TCC1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TCC2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC4_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
void TC5_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#ifdef ID_TC6
|
|
||||||
void TC6_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif
|
|
||||||
#ifdef ID_TC7
|
|
||||||
void TC7_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif
|
|
||||||
#ifdef ID_ADC
|
|
||||||
void ADC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif
|
|
||||||
#ifdef ID_AC
|
|
||||||
void AC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif
|
|
||||||
#ifdef ID_DAC
|
|
||||||
void DAC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif
|
|
||||||
#ifdef ID_PTC
|
|
||||||
void PTC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
#endif
|
|
||||||
void I2S_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler")));
|
|
||||||
|
|
||||||
/* Exception Table */
|
|
||||||
__attribute__ ((section(".vectors"))) __attribute__((externally_visible))
|
|
||||||
const DeviceVectors exception_table = {
|
|
||||||
|
|
||||||
/* Configure Initial Stack Pointer, using linker-generated symbols */
|
|
||||||
.pvStack = (void*) (&_estack),
|
|
||||||
|
|
||||||
.pfnReset_Handler = (void*) Reset_Handler,
|
|
||||||
.pfnNonMaskableInt_Handler = (void*) NonMaskableInt_Handler,
|
|
||||||
.pfnHardFault_Handler = (void*) HardFault_Handler,
|
|
||||||
.pvReservedM12 = (void*) (0UL), /* Reserved */
|
|
||||||
.pvReservedM11 = (void*) (0UL), /* Reserved */
|
|
||||||
.pvReservedM10 = (void*) (0UL), /* Reserved */
|
|
||||||
.pvReservedM9 = (void*) (0UL), /* Reserved */
|
|
||||||
.pvReservedM8 = (void*) (0UL), /* Reserved */
|
|
||||||
.pvReservedM7 = (void*) (0UL), /* Reserved */
|
|
||||||
.pvReservedM6 = (void*) (0UL), /* Reserved */
|
|
||||||
.pfnSVCall_Handler = (void*) SVCall_Handler,
|
|
||||||
.pvReservedM4 = (void*) (0UL), /* Reserved */
|
|
||||||
.pvReservedM3 = (void*) (0UL), /* Reserved */
|
|
||||||
.pfnPendSV_Handler = (void*) PendSV_Handler,
|
|
||||||
.pfnSysTick_Handler = (void*) SysTick_Handler,
|
|
||||||
|
|
||||||
/* Configurable interrupts */
|
|
||||||
.pfnPM_Handler = (void*) PM_Handler, /* 0 Power Manager */
|
|
||||||
.pfnSYSCTRL_Handler = (void*) SYSCTRL_Handler, /* 1 System Control */
|
|
||||||
.pfnWDT_Handler = (void*) WDT_Handler, /* 2 Watchdog Timer */
|
|
||||||
.pfnRTC_Handler = (void*) RTC_Handler, /* 3 Real-Time Counter */
|
|
||||||
.pfnEIC_Handler = (void*) EIC_Handler, /* 4 External Interrupt Controller */
|
|
||||||
.pfnNVMCTRL_Handler = (void*) NVMCTRL_Handler, /* 5 Non-Volatile Memory Controller */
|
|
||||||
.pfnDMAC_Handler = (void*) DMAC_Handler, /* 6 Direct Memory Access Controller */
|
|
||||||
#ifdef ID_USB
|
|
||||||
.pfnUSB_Handler = (void*) USB_Handler, /* 7 Universal Serial Bus */
|
|
||||||
#else
|
|
||||||
.pvReserved7 = (void*) (0UL), /* 7 Reserved */
|
|
||||||
#endif
|
|
||||||
.pfnEVSYS_Handler = (void*) EVSYS_Handler, /* 8 Event System Interface */
|
|
||||||
.pfnSERCOM0_Handler = (void*) SERCOM0_Handler, /* 9 Serial Communication Interface 0 */
|
|
||||||
.pfnSERCOM1_Handler = (void*) SERCOM1_Handler, /* 10 Serial Communication Interface 1 */
|
|
||||||
.pfnSERCOM2_Handler = (void*) SERCOM2_Handler, /* 11 Serial Communication Interface 2 */
|
|
||||||
.pfnSERCOM3_Handler = (void*) SERCOM3_Handler, /* 12 Serial Communication Interface 3 */
|
|
||||||
#ifdef ID_SERCOM4
|
|
||||||
.pfnSERCOM4_Handler = (void*) SERCOM4_Handler, /* 13 Serial Communication Interface 4 */
|
|
||||||
#else
|
|
||||||
.pvReserved13 = (void*) (0UL), /* 13 Reserved */
|
|
||||||
#endif
|
|
||||||
#ifdef ID_SERCOM5
|
|
||||||
.pfnSERCOM5_Handler = (void*) SERCOM5_Handler, /* 14 Serial Communication Interface 5 */
|
|
||||||
#else
|
|
||||||
.pvReserved14 = (void*) (0UL), /* 14 Reserved */
|
|
||||||
#endif
|
|
||||||
.pfnTCC0_Handler = (void*) TCC0_Handler, /* 15 Timer Counter Control 0 */
|
|
||||||
.pfnTCC1_Handler = (void*) TCC1_Handler, /* 16 Timer Counter Control 1 */
|
|
||||||
.pfnTCC2_Handler = (void*) TCC2_Handler, /* 17 Timer Counter Control 2 */
|
|
||||||
.pfnTC3_Handler = (void*) TC3_Handler, /* 18 Basic Timer Counter 0 */
|
|
||||||
.pfnTC4_Handler = (void*) TC4_Handler, /* 19 Basic Timer Counter 1 */
|
|
||||||
.pfnTC5_Handler = (void*) TC5_Handler, /* 20 Basic Timer Counter 2 */
|
|
||||||
#ifdef ID_TC6
|
|
||||||
.pfnTC6_Handler = (void*) TC6_Handler, /* 21 Basic Timer Counter 3 */
|
|
||||||
#else
|
|
||||||
.pvReserved21 = (void*) (0UL), /* 21 Reserved */
|
|
||||||
#endif
|
|
||||||
#ifdef ID_TC7
|
|
||||||
.pfnTC7_Handler = (void*) TC7_Handler, /* 22 Basic Timer Counter 4 */
|
|
||||||
#else
|
|
||||||
.pvReserved22 = (void*) (0UL), /* 22 Reserved */
|
|
||||||
#endif
|
|
||||||
#ifdef ID_ADC
|
|
||||||
.pfnADC_Handler = (void*) ADC_Handler, /* 23 Analog Digital Converter */
|
|
||||||
#else
|
|
||||||
.pvReserved23 = (void*) (0UL), /* 23 Reserved */
|
|
||||||
#endif
|
|
||||||
#ifdef ID_AC
|
|
||||||
.pfnAC_Handler = (void*) AC_Handler, /* 24 Analog Comparators */
|
|
||||||
#else
|
|
||||||
.pvReserved24 = (void*) (0UL), /* 24 Reserved */
|
|
||||||
#endif
|
|
||||||
#ifdef ID_DAC
|
|
||||||
.pfnDAC_Handler = (void*) DAC_Handler, /* 25 Digital Analog Converter */
|
|
||||||
#else
|
|
||||||
.pvReserved25 = (void*) (0UL), /* 25 Reserved */
|
|
||||||
#endif
|
|
||||||
#ifdef ID_PTC
|
|
||||||
.pfnPTC_Handler = (void*) PTC_Handler, /* 26 Peripheral Touch Controller */
|
|
||||||
#else
|
|
||||||
.pvReserved26 = (void*) (0UL), /* 26 Reserved */
|
|
||||||
#endif
|
|
||||||
.pfnI2S_Handler = (void*) I2S_Handler, /* 27 Inter-IC Sound Interface */
|
|
||||||
.pvReserved28 = (void*) (0UL) /* 28 Reserved */
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief This is the code that gets called on processor reset.
|
|
||||||
* To initialize the device, and call the main() routine.
|
|
||||||
*/
|
|
||||||
void Reset_Handler(void)
|
|
||||||
{
|
|
||||||
uint32_t *pSrc, *pDest;
|
|
||||||
|
|
||||||
/* Initialize the relocate segment */
|
|
||||||
pSrc = &_etext;
|
|
||||||
pDest = &_srelocate;
|
|
||||||
|
|
||||||
if (pSrc != pDest) {
|
|
||||||
for (; pDest < &_erelocate;) {
|
|
||||||
*pDest++ = *pSrc++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Clear the zero segment */
|
|
||||||
for (pDest = &_szero; pDest < &_ezero;) {
|
|
||||||
*pDest++ = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Set the vector table base address */
|
|
||||||
pSrc = (uint32_t *) & _sfixed;
|
|
||||||
SCB->VTOR = ((uint32_t) pSrc & SCB_VTOR_TBLOFF_Msk);
|
|
||||||
|
|
||||||
/* Change default QOS values to have the best performance and correct USB behaviour */
|
|
||||||
SBMATRIX->SFR[SBMATRIX_SLAVE_HMCRAMC0].reg = 2;
|
|
||||||
#if defined(ID_USB)
|
|
||||||
USB->DEVICE.QOSCTRL.bit.CQOS = 2;
|
|
||||||
USB->DEVICE.QOSCTRL.bit.DQOS = 2;
|
|
||||||
#endif
|
|
||||||
DMAC->QOSCTRL.bit.DQOS = 2;
|
|
||||||
DMAC->QOSCTRL.bit.FQOS = 2;
|
|
||||||
DMAC->QOSCTRL.bit.WRBQOS = 2;
|
|
||||||
|
|
||||||
/* Overwriting the default value of the NVMCTRL.CTRLB.MANW bit (errata reference 13134) */
|
|
||||||
NVMCTRL->CTRLB.bit.MANW = 1;
|
|
||||||
|
|
||||||
/* Initialize the C library */
|
|
||||||
__libc_init_array();
|
|
||||||
|
|
||||||
/* Branch to main function */
|
|
||||||
main();
|
|
||||||
|
|
||||||
/* Infinite loop */
|
|
||||||
while (1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Default interrupt handler for unused IRQs.
|
|
||||||
*/
|
|
||||||
void Dummy_Handler(void)
|
|
||||||
{
|
|
||||||
while (1) {
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
diff --git a/lib/samd51/samd51a/gcc/gcc/startup_samd51.c b/lib/samd51/samd51a/gcc/gcc/startup_samd51.c
|
|
||||||
index d00bd7a2..42575901 100644
|
|
||||||
--- a/lib/samd51/samd51a/gcc/gcc/startup_samd51.c
|
|
||||||
+++ b/lib/samd51/samd51a/gcc/gcc/startup_samd51.c
|
|
||||||
@@ -235,7 +235,7 @@ void SDHC1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Exception Table */
|
|
||||||
-__attribute__ ((section(".vectors")))
|
|
||||||
+__attribute__ ((section(".vectors"))) __attribute__((externally_visible))
|
|
||||||
const DeviceVectors exception_table = {
|
|
||||||
|
|
||||||
/* Configure Initial Stack Pointer, using linker-generated symbols */
|
|
|
@ -1,163 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal FLASH on the SAMD51G18A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00040000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000
|
|
||||||
bkupram (rwx) : ORIGIN = 0x47000000, LENGTH = 0x00002000
|
|
||||||
qspi (rwx) : ORIGIN = 0x04000000, LENGTH = 0x01000000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x8000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > rom
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > rom
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
.bkupram (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sbkupram = .;
|
|
||||||
*(.bkupram .bkupram.*);
|
|
||||||
. = ALIGN(8);
|
|
||||||
_ebkupram = .;
|
|
||||||
} > bkupram
|
|
||||||
|
|
||||||
.qspi (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sqspi = .;
|
|
||||||
*(.qspi .qspi.*);
|
|
||||||
. = ALIGN(8);
|
|
||||||
_eqspi = .;
|
|
||||||
} > qspi
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,162 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal SRAM on the SAMD51G18A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000
|
|
||||||
bkupram (rwx) : ORIGIN = 0x47000000, LENGTH = 0x00002000
|
|
||||||
qspi (rwx) : ORIGIN = 0x04000000, LENGTH = 0x01000000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x8000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > ram
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
.bkupram (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sbkupram = .;
|
|
||||||
*(.bkupram .bkupram.*);
|
|
||||||
. = ALIGN(8);
|
|
||||||
_ebkupram = .;
|
|
||||||
} > bkupram
|
|
||||||
|
|
||||||
.qspi (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sqspi = .;
|
|
||||||
*(.qspi .qspi.*);
|
|
||||||
. = ALIGN(8);
|
|
||||||
_eqspi = .;
|
|
||||||
} > qspi
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,163 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal FLASH on the SAMD51G19A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00080000
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00030000
|
|
||||||
bkupram (rwx) : ORIGIN = 0x47000000, LENGTH = 0x00002000
|
|
||||||
qspi (rwx) : ORIGIN = 0x04000000, LENGTH = 0x01000000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0xC000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > rom
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > rom
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
.bkupram (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sbkupram = .;
|
|
||||||
*(.bkupram .bkupram.*);
|
|
||||||
. = ALIGN(8);
|
|
||||||
_ebkupram = .;
|
|
||||||
} > bkupram
|
|
||||||
|
|
||||||
.qspi (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sqspi = .;
|
|
||||||
*(.qspi .qspi.*);
|
|
||||||
. = ALIGN(8);
|
|
||||||
_eqspi = .;
|
|
||||||
} > qspi
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
|
@ -1,162 +0,0 @@
|
||||||
/**
|
|
||||||
* \file
|
|
||||||
*
|
|
||||||
* \brief Linker script for running in internal SRAM on the SAMD51G19A
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018 Microchip Technology Inc.
|
|
||||||
*
|
|
||||||
* \asf_license_start
|
|
||||||
*
|
|
||||||
* \page License
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the Licence at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*
|
|
||||||
* \asf_license_stop
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
SEARCH_DIR(.)
|
|
||||||
|
|
||||||
/* Memory Spaces Definitions */
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00030000
|
|
||||||
bkupram (rwx) : ORIGIN = 0x47000000, LENGTH = 0x00002000
|
|
||||||
qspi (rwx) : ORIGIN = 0x04000000, LENGTH = 0x01000000
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
|
||||||
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0xC000;
|
|
||||||
|
|
||||||
/* Section Definitions */
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sfixed = .;
|
|
||||||
KEEP(*(.vectors .vectors.*))
|
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.glue_7t) *(.glue_7)
|
|
||||||
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
|
||||||
and the C library. This also provides support for C++ code. */
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.init))
|
|
||||||
. = ALIGN(4);
|
|
||||||
__preinit_array_start = .;
|
|
||||||
KEEP (*(.preinit_array))
|
|
||||||
__preinit_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__init_array_start = .;
|
|
||||||
KEEP (*(SORT(.init_array.*)))
|
|
||||||
KEEP (*(.init_array))
|
|
||||||
__init_array_end = .;
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP (*crtbegin.o(.ctors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
|
||||||
KEEP (*(SORT(.ctors.*)))
|
|
||||||
KEEP (*crtend.o(.ctors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__fini_array_start = .;
|
|
||||||
KEEP (*(.fini_array))
|
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
|
||||||
__fini_array_end = .;
|
|
||||||
|
|
||||||
KEEP (*crtbegin.o(.dtors))
|
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
|
||||||
KEEP (*(SORT(.dtors.*)))
|
|
||||||
KEEP (*crtend.o(.dtors))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_efixed = .; /* End of text section */
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
|
||||||
PROVIDE_HIDDEN (__exidx_start = .);
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > ram
|
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_etext = .;
|
|
||||||
|
|
||||||
.relocate : AT (_etext)
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_srelocate = .;
|
|
||||||
*(.ramfunc .ramfunc.*);
|
|
||||||
*(.data .data.*);
|
|
||||||
. = ALIGN(4);
|
|
||||||
_erelocate = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
.bkupram (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sbkupram = .;
|
|
||||||
*(.bkupram .bkupram.*);
|
|
||||||
. = ALIGN(8);
|
|
||||||
_ebkupram = .;
|
|
||||||
} > bkupram
|
|
||||||
|
|
||||||
.qspi (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sqspi = .;
|
|
||||||
*(.qspi .qspi.*);
|
|
||||||
. = ALIGN(8);
|
|
||||||
_eqspi = .;
|
|
||||||
} > qspi
|
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
|
||||||
.bss (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
_sbss = . ;
|
|
||||||
_szero = .;
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = . ;
|
|
||||||
_ezero = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
/* stack section */
|
|
||||||
.stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
_sstack = .;
|
|
||||||
. = . + STACK_SIZE;
|
|
||||||
. = ALIGN(8);
|
|
||||||
_estack = .;
|
|
||||||
} > ram
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
_end = . ;
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue