Diff
checker
Texte
Texte
Images
Documents
Excel
Dossiers
Legal
Enterprise
Application de bureau
Prix
Se connecter
Télécharger Diffchecker Desktop
Comparer le texte
Trouver la différence entre deux fichiers texte
Outils
Historique
Éditeur live
Masquer les espaces
Cacher identiques
Sans retour à la ligne
Vue
Divisé
Unifié
Niveau de précision
Intelligent
Mot
Caractère
Styles de texte
Modifier l’apparence
Coloration syntaxique
Choisir la syntaxe
Ignorer
Transformer le texte
Aller au premier écart
Modifier l'entrée
Diffchecker Desktop
La façon la plus sécurisée d'utiliser Diffchecker. Obtenez l'application Diffchecker Desktop : vos diffs ne quittent jamais votre ordinateur !
Obtenir Desktop
FeatherM4CAN to TOOL1RR (linker debug)
Créé
l’année dernière
Le diff n'expire jamais
Effacer
Exporter
Partager
Les deux textes sont identiques
Il n'y a aucune différence entre ces deux textes
0 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
188 lignes
Copier tout
0 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
188 lignes
Copier tout
/**
/**
* \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.*)
} > rom
} > rom
PROVIDE_HIDDEN (__exidx_end = .);
PROVIDE_HIDDEN (__exidx_end = .);
. = ALIGN(4);
. = ALIGN(4);
_etext = .;
_etext = .;
/* CAN message buffers must be in the first 64K of RAM */
/* CAN message buffers must be in the first 64K of RAM */
.canMessage (NOLOAD) :
.canMessage (NOLOAD) :
{
{
. = ALIGN(4);
. = ALIGN(4);
_sCanMessage = . ;
_sCanMessage = . ;
*(.CanMessage .CanMessage.*)
*(.CanMessage .CanMessage.*)
. = ALIGN(4);
. = ALIGN(4);
_eCanMessage = . ;
_eCanMessage = . ;
} > ram
} > ram
/* DMA programming and write-back memory, here because they are volatile so we must't CRC them when we check for data corruption */
/* DMA programming and write-back memory, here because they are volatile so we must't CRC them when we check for data corruption */
.dmaBuffers (NOLOAD) :
.dmaBuffers (NOLOAD) :
{
{
. = ALIGN(16);
. = ALIGN(16);
_sDmaBuffers = . ;
_sDmaBuffers = . ;
*(.DmaBuffers .DmaBuffers.*)
*(.DmaBuffers .DmaBuffers.*)
. = ALIGN(4);
. = ALIGN(4);
_eDmaBuffers = . ;
_eDmaBuffers = . ;
} > ram
} > ram
.relocate : AT (_etext)
.relocate : AT (_etext)
{
{
. = ALIGN(4);
. = ALIGN(4);
_srelocate = .;
_srelocate = .;
*(.ramfunc .ramfunc.*);
*(.ramfunc .ramfunc.*);
*(.data .data.*);
*(.data .data.*);
. = ALIGN(4);
. = ALIGN(4);
_erelocate = .;
_erelocate = .;
} > ram
} > ram
_firmware_crc = _etext + (_erelocate - _srelocate); /* We append the CRC32 to the binary file. This is its offset in memory. */
_firmware_crc = _etext + (_erelocate - _srelocate); /* We append the CRC32 to the binary file. This is its offset in memory. */
.bkupram (NOLOAD):
.bkupram (NOLOAD):
{
{
. = ALIGN(8);
. = ALIGN(8);
_sbkupram = .;
_sbkupram = .;
*(.bkupram .bkupram.*);
*(.bkupram .bkupram.*);
. = ALIGN(8);
. = ALIGN(8);
_ebkupram = .;
_ebkupram = .;
} > bkupram
} > bkupram
.qspi (NOLOAD):
.qspi (NOLOAD):
{
{
. = ALIGN(8);
. = ALIGN(8);
_sqspi = .;
_sqspi = .;
*(.qspi .qspi.*);
*(.qspi .qspi.*);
. = ALIGN(8);
. = ALIGN(8);
_eqspi = .;
_eqspi = .;
} > qspi
} > qspi
/* .bss section which is used for uninitialized data */
/* .bss section which is used for uninitialized data */
.bss (NOLOAD) :
.bss (NOLOAD) :
{
{
. = ALIGN(4);
. = ALIGN(4);
_sbss = . ;
_sbss = . ;
_szero = .;
_szero = .;
*(.bss .bss.*)
*(.bss .bss.*)
*(COMMON)
*(COMMON)
. = ALIGN(4);
. = ALIGN(4);
_ebss = . ;
_ebss = . ;
_ezero = .;
_ezero = .;
} > ram
} > ram
. = ALIGN(4);
. = ALIGN(4);
_end = . ;
_end = . ;
/* .stack_dummy section doesn't contains any symbols. It is only
/* .stack_dummy section doesn't contains any symbols. It is only
used for linker to calculate size of stack sections, and assign
used for linker to calculate size of stack sections, and assign
values to stack symbols later */
values to stack symbols later */
.stack_dummy :
.stack_dummy :
{
{
*(.stack*)
*(.stack*)
} > ram
} > ram
/* Set stack top to end of ram, and stack limit move down by
/* Set stack top to end of ram, and stack limit move down by
* size of stack_dummy section */
* size of stack_dummy section */
__StackTop = ORIGIN(ram) + LENGTH(ram);
__StackTop = ORIGIN(ram) + LENGTH(ram);
__StackLimit = __StackTop - SIZEOF(.stack_dummy);
__StackLimit = __StackTop - SIZEOF(.stack_dummy);
PROVIDE(_sstack = __StackLimit);
PROVIDE(_sstack = __StackLimit);
PROVIDE(_estack = __StackTop);
PROVIDE(_estack = __StackTop);
}
}
Différences enregistrées
Texte d'origine
Ouvrir un fichier
/** * \file * * \brief Linker script for running in internal FLASH on the SAME51N19A * * Copyright (c) 2017 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 } /* 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 = .; /* CAN message buffers must be in the first 64K of RAM */ .canMessage (NOLOAD) : { . = ALIGN(4); _sCanMessage = . ; *(.CanMessage .CanMessage.*) . = ALIGN(4); _eCanMessage = . ; } > ram /* DMA programming and write-back memory, here because they are volatile so we must't CRC them when we check for data corruption */ .dmaBuffers (NOLOAD) : { . = ALIGN(16); _sDmaBuffers = . ; *(.DmaBuffers .DmaBuffers.*) . = ALIGN(4); _eDmaBuffers = . ; } > ram .relocate : AT (_etext) { . = ALIGN(4); _srelocate = .; *(.ramfunc .ramfunc.*); *(.data .data.*); . = ALIGN(4); _erelocate = .; } > ram _firmware_crc = _etext + (_erelocate - _srelocate); /* We append the CRC32 to the binary file. This is its offset in memory. */ .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 . = ALIGN(4); _end = . ; /* .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(_sstack = __StackLimit); PROVIDE(_estack = __StackTop); }
Texte modifié
Ouvrir un fichier
/** * \file * * \brief Linker script for running in internal FLASH on the SAME51N19A * * Copyright (c) 2017 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 } /* 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 = .; /* CAN message buffers must be in the first 64K of RAM */ .canMessage (NOLOAD) : { . = ALIGN(4); _sCanMessage = . ; *(.CanMessage .CanMessage.*) . = ALIGN(4); _eCanMessage = . ; } > ram /* DMA programming and write-back memory, here because they are volatile so we must't CRC them when we check for data corruption */ .dmaBuffers (NOLOAD) : { . = ALIGN(16); _sDmaBuffers = . ; *(.DmaBuffers .DmaBuffers.*) . = ALIGN(4); _eDmaBuffers = . ; } > ram .relocate : AT (_etext) { . = ALIGN(4); _srelocate = .; *(.ramfunc .ramfunc.*); *(.data .data.*); . = ALIGN(4); _erelocate = .; } > ram _firmware_crc = _etext + (_erelocate - _srelocate); /* We append the CRC32 to the binary file. This is its offset in memory. */ .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 . = ALIGN(4); _end = . ; /* .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(_sstack = __StackLimit); PROVIDE(_estack = __StackTop); }
Trouver la différence