FeatherM4CAN to TOOL1RR (linker debug)

Créé Le diff n'expire jamais
Les deux textes sont identiques
Il n'y a aucune différence entre ces deux textes
0 suppressions
188 lignes
0 ajouts
188 lignes
/**
/**
* \file
* \file
*
*
* \brief Linker script for running in internal FLASH on the SAME51N19A
* \brief Linker script for running in internal FLASH on the SAME51N19A
*
*
* Copyright (c) 2017 Microchip Technology Inc.
* Copyright (c) 2017 Microchip Technology Inc.
*
*
* \asf_license_start
* \asf_license_start
*
*
* \page License
* \page License
*
*
* SPDX-License-Identifier: Apache-2.0
* SPDX-License-Identifier: Apache-2.0
*
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* not use this file except in compliance with the License.
* You may obtain a copy of the Licence at
* You may obtain a copy of the Licence at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* See the License for the specific language governing permissions and
* limitations under the License.
* limitations under the License.
*
*
* \asf_license_stop
* \asf_license_stop
*
*
*/
*/




OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
OUTPUT_ARCH(arm)
SEARCH_DIR(.)
SEARCH_DIR(.)


/* Memory Spaces Definitions */
/* Memory Spaces Definitions */
MEMORY
MEMORY
{
{
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00080000
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00080000
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00030000
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00030000
bkupram (rwx) : ORIGIN = 0x47000000, LENGTH = 0x00002000
bkupram (rwx) : ORIGIN = 0x47000000, LENGTH = 0x00002000
qspi (rwx) : ORIGIN = 0x04000000, LENGTH = 0x01000000
qspi (rwx) : ORIGIN = 0x04000000, LENGTH = 0x01000000
}
}


/* Section Definitions */
/* Section Definitions */
SECTIONS
SECTIONS
{
{
.text :
.text :
{
{
. = ALIGN(4);
. = ALIGN(4);
_sfixed = .;
_sfixed = .;
KEEP(*(.vectors .vectors.*))
KEEP(*(.vectors .vectors.*))
*(.text .text.* .gnu.linkonce.t.*)
*(.text .text.* .gnu.linkonce.t.*)
*(.glue_7t) *(.glue_7)
*(.glue_7t) *(.glue_7)
*(.rodata .rodata* .gnu.linkonce.r.*)
*(.rodata .rodata* .gnu.linkonce.r.*)
*(.ARM.extab* .gnu.linkonce.armextab.*)
*(.ARM.extab* .gnu.linkonce.armextab.*)


/* Support C constructors, and C destructors in both user code
/* Support C constructors, and C destructors in both user code
and the C library. This also provides support for C++ code. */
and the C library. This also provides support for C++ code. */
. = ALIGN(4);
. = ALIGN(4);
KEEP(*(.init))
KEEP(*(.init))
. = ALIGN(4);
. = ALIGN(4);
__preinit_array_start = .;
__preinit_array_start = .;
KEEP (*(.preinit_array))
KEEP (*(.preinit_array))
__preinit_array_end = .;
__preinit_array_end = .;


. = ALIGN(4);
. = ALIGN(4);
__init_array_start = .;
__init_array_start = .;
KEEP (*(SORT(.init_array.*)))
KEEP (*(SORT(.init_array.*)))
KEEP (*(.init_array))
KEEP (*(.init_array))
__init_array_end = .;
__init_array_end = .;


. = ALIGN(4);
. = ALIGN(4);
KEEP (*crtbegin.o(.ctors))
KEEP (*crtbegin.o(.ctors))
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(SORT(.ctors.*)))
KEEP (*crtend.o(.ctors))
KEEP (*crtend.o(.ctors))


. = ALIGN(4);
. = ALIGN(4);
KEEP(*(.fini))
KEEP(*(.fini))


. = ALIGN(4);
. = ALIGN(4);
__fini_array_start = .;
__fini_array_start = .;
KEEP (*(.fini_array))
KEEP (*(.fini_array))
KEEP (*(SORT(.fini_array.*)))
KEEP (*(SORT(.fini_array.*)))
__fini_array_end = .;
__fini_array_end = .;


KEEP (*crtbegin.o(.dtors))
KEEP (*crtbegin.o(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(SORT(.dtors.*)))
KEEP (*crtend.o(.dtors))
KEEP (*crtend.o(.dtors))


. = ALIGN(4);
. = ALIGN(4);
_efixed = .; /* End of text section */
_efixed = .; /* End of text section */
} > rom
} > rom


/* .ARM.exidx is sorted, so has to go in its own output section. */
/* .ARM.exidx is sorted, so has to go in its own output section. */
PROVIDE_HIDDEN (__exidx_start = .);
PROVIDE_HIDDEN (__exidx_start = .);
.ARM.exidx :
.ARM.exidx :
{
{
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
*(.ARM.exidx* .gnu.linkonce.armexidx.*)