mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-12-10 18:24:11 +01:00
29ec2f198b
This change is made up of a number of tightly coupled changes: - Deprecate the use of the USE_BOOTLOADER command-line option. It is now hard-coded in each Makefile. Overriding it on the command line is not allowed. - Split apart the memory declaration and the section declaration in all linker files (*_memory.ld and *_sections.ld). - Describe the split between bootloader and app sections of flash in each board's _memory.ld file. - Change program target to selectively erase flash so that the installed bootloader is preserved across even JTAG programming operations. - All elf files are built with debug symbols and are not stripped. This should help debugging with gdb. The images programmed on the boards are all .bin files now which do not include symbols.
98 lines
2.7 KiB
Plaintext
98 lines
2.7 KiB
Plaintext
/* Stub out these functions since we don't use them anyway */
|
|
PROVIDE ( vPortSVCHandler = 0 ) ;
|
|
PROVIDE ( xPortPendSVHandler = 0 ) ;
|
|
PROVIDE ( xPortSysTickHandler = 0 ) ;
|
|
|
|
_estack = 0x20004FF0;
|
|
|
|
/* Section Definitions */
|
|
SECTIONS
|
|
{
|
|
.text :
|
|
{
|
|
KEEP(*(.isr_vector .isr_vector.*))
|
|
*(.text .text.* .gnu.linkonce.t.*)
|
|
*(.glue_7t) *(.glue_7)
|
|
*(.rodata .rodata* .gnu.linkonce.r.*)
|
|
} > FLASH
|
|
|
|
/* init sections */
|
|
.initcalluavobj.init :
|
|
{
|
|
. = ALIGN(4);
|
|
__uavobj_initcall_start = .;
|
|
KEEP(*(.initcalluavobj.init))
|
|
. = ALIGN(4);
|
|
__uavobj_initcall_end = .;
|
|
} >FLASH
|
|
|
|
.ARM.extab :
|
|
{
|
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
} > FLASH
|
|
|
|
.ARM.exidx :
|
|
{
|
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
} > FLASH
|
|
|
|
. = ALIGN(4);
|
|
_etext = .;
|
|
_sidata = .;
|
|
|
|
.data : AT (_etext)
|
|
{
|
|
_sdata = .;
|
|
*(.data .data.*)
|
|
. = ALIGN(4);
|
|
_edata = . ;
|
|
} > SRAM
|
|
|
|
/* .bss section which is used for uninitialized data */
|
|
.bss (NOLOAD) :
|
|
{
|
|
_sbss = . ;
|
|
*(.bss .bss.*)
|
|
*(COMMON)
|
|
. = ALIGN(4);
|
|
_ebss = . ;
|
|
} > SRAM
|
|
|
|
. = ALIGN(4);
|
|
_end = . ;
|
|
|
|
/* Stabs debugging sections. */
|
|
.stab 0 : { *(.stab) }
|
|
.stabstr 0 : { *(.stabstr) }
|
|
.stab.excl 0 : { *(.stab.excl) }
|
|
.stab.exclstr 0 : { *(.stab.exclstr) }
|
|
.stab.index 0 : { *(.stab.index) }
|
|
.stab.indexstr 0 : { *(.stab.indexstr) }
|
|
.comment 0 : { *(.comment) }
|
|
/* DWARF debug sections.
|
|
Symbols in the DWARF debugging sections are relative to the beginning
|
|
of the section so we begin them at 0. */
|
|
/* DWARF 1 */
|
|
.debug 0 : { *(.debug) }
|
|
.line 0 : { *(.line) }
|
|
/* GNU DWARF 1 extensions */
|
|
.debug_srcinfo 0 : { *(.debug_srcinfo) }
|
|
.debug_sfnames 0 : { *(.debug_sfnames) }
|
|
/* DWARF 1.1 and DWARF 2 */
|
|
.debug_aranges 0 : { *(.debug_aranges) }
|
|
.debug_pubnames 0 : { *(.debug_pubnames) }
|
|
/* DWARF 2 */
|
|
.debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
|
|
.debug_abbrev 0 : { *(.debug_abbrev) }
|
|
.debug_line 0 : { *(.debug_line) }
|
|
.debug_frame 0 : { *(.debug_frame) }
|
|
.debug_str 0 : { *(.debug_str) }
|
|
.debug_loc 0 : { *(.debug_loc) }
|
|
.debug_macinfo 0 : { *(.debug_macinfo) }
|
|
/* SGI/MIPS DWARF 2 extensions */
|
|
.debug_weaknames 0 : { *(.debug_weaknames) }
|
|
.debug_funcnames 0 : { *(.debug_funcnames) }
|
|
.debug_typenames 0 : { *(.debug_typenames) }
|
|
.debug_varnames 0 : { *(.debug_varnames) }
|
|
}
|