f1c100s 源码_f1c100s.ld

OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")

OUTPUT_ARCH(arm)

ENTRY(_start)

STACK_UND_SIZE = 0x10000;

STACK_ABT_SIZE = 0x10000;

STACK_IRQ_SIZE = 0x10000;

STACK_FIQ_SIZE = 0x10000;

STACK_SRV_SIZE = 0x40000;

MEMORY

{

ram : org = 0x80000000, len = 8M

dma : org = 0x80800000, len = 8M

heap : org = 0x81000000, len = 16M

}

SECTIONS

{

.bootloader :

{

PROVIDE(__bootloader_start = .);

PROVIDE(__image_start = .);

PROVIDE(__text_start = .);

Objects\start.o (.text)

Objects\memcpy.o (.text)

Objects\memset.o (.text)

Objects\sys-uart.o (.text)

Objects\sys-clock.o (.text)

Objects\sys-dram.o (.text)

Objects\sys-mmu.o (.text)

Objects\sys-spi-flash.o (.text)

Objects\sys-copyself.o (.text)

PROVIDE(__bootloader_end = .);

} > ram

__bootloader_size = SIZEOF(.bootloader);

.text :

{

Objects\main.o (.text)

*(.text*)

*(.init.text)

*(.exit.text)

*(.glue*)

*(.note.gnu.build-id)

PROVIDE(__text_end = .);

} > ram

.initcall ALIGN(8) :

{

PROVIDE(__initcall_start = .);

KEEP(*(.initcall_0.text))

KEEP(*(.initcall_1.text))

KEEP(*(.initcall_2.text))

KEEP(*(.initcall_3.text))

KEEP(*(.initcall_4.text))

KEEP(*(.initcall_5.text))

KEEP(*(.initcall_6.text))

KEEP(*(.initcall_7.text))

KEEP(*(.initcall_8.text))

KEEP(*(.initcall_9.text))

PROVIDE(__initcall_end = .);

} > ram

.exitcall ALIGN(8) :

{

PROVIDE(__exitcall_start = .);

KEEP(*(.exitcall_9.text))

KEEP(*(.exitcall_8.text))

KEEP(*(.exitcall_7.text))

KEEP(*(.exitcall_6.text))

KEEP(*(.exitcall_5.text))

KEEP(*(.exitcall_4.text))

KEEP(*(.exitcall_3.text))

KEEP(*(.exitcall_2.text))

KEEP(*(.exitcall_1.text))

KEEP(*(.exitcall_0.text))

PROVIDE(__exitcall_end = .);

} > ram

.ksymtab ALIGN(8) :

{

PROVIDE(__ksymtab_start = .);

KEEP(*(.ksymtab.text))

PROVIDE(__ksymtab_end = .);

} > ram

.romdisk ALIGN(8) :

{

PROVIDE(__romdisk_start = .);

KEEP(*(.romdisk))

PROVIDE(__romdisk_end = .);

} > ram

.rodata ALIGN(8) :

{

PROVIDE(__rodata_start = .);

*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))

PROVIDE(__rodata_end = .);

} > ram

.data_shadow ALIGN(8) :

{

PROVIDE(__data_shadow_start = .);

PROVIDE(__data_shadow_end = (. + SIZEOF(.data)));

PROVIDE(__image_end = __data_shadow_end);

} > ram

.data : AT(ADDR(.data_shadow))

{

PROVIDE(__data_start = .);

*(.data*)

. = ALIGN(8);

PROVIDE(__data_end = .);

} > ram

.ARM.exidx ALIGN(8) :

{

PROVIDE (__exidx_start = .);

*(.ARM.exidx*)

PROVIDE (__exidx_end = .);

} > ram

.ARM.extab ALIGN(8) :

{

PROVIDE (__extab_start = .);

*(.ARM.extab*)

PROVIDE (__extab_end = .);

} > ram

.bss ALIGN(8) (NOLOAD) :

{

PROVIDE(__bss_start = .);

*(.bss*)

*(.sbss*)

*(COMMON)

. = ALIGN(8);

PROVIDE(__bss_end = .);

} > ram

.stack ALIGN(8) (NOLOAD) :

{

PROVIDE(__stack_start = .);

PROVIDE(__stack_und_start = .);

. += STACK_UND_SIZE;

PROVIDE(__stack_und_end = .);

. = ALIGN(8);

PROVIDE(__stack_abt_start = .);

. += STACK_ABT_SIZE;

PROVIDE(__stack_abt_end = .);

. = ALIGN(8);

PROVIDE(__stack_irq_start = .);

. += STACK_IRQ_SIZE;

PROVIDE(__stack_irq_end = .);

. = ALIGN(8);

PROVIDE(__stack_fiq_start = .);

. += STACK_FIQ_SIZE;

PROVIDE(__stack_fiq_end = .);

. = ALIGN(8);

PROVIDE(__stack_srv_start = .);

. += STACK_SRV_SIZE;

PROVIDE(__stack_srv_end = .);

. = ALIGN(8);

PROVIDE(__stack_end = .);

} > ram

.dma ALIGN(8) (NOLOAD) :

{

PROVIDE(__dma_start = ORIGIN(dma));

PROVIDE(__dma_end = ORIGIN(dma) + LENGTH(dma));

} > dma

.heap ALIGN(8) (NOLOAD) :

{

PROVIDE(__heap_start = ORIGIN(heap));

PROVIDE(__heap_end = ORIGIN(heap) + LENGTH(heap));

} > heap

.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) }

.debug_abbrev 0 : { *(.debug_abbrev) }

.debug_info 0 : { *(.debug_info) }

.debug_line 0 : { *(.debug_line) }

.debug_pubnames 0 : { *(.debug_pubnames) }

.debug_aranges 0 : { *(.debug_aranges) }

}

一键复制

编辑

Web IDE

原始数据

按行查看

历史

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值