Example gzboot config for the IQ80321.
This commit is contained in:
parent
b4e9977d83
commit
8345db18a3
|
@ -0,0 +1,17 @@
|
|||
# $NetBSD: Makefile,v 1.1 2002/03/28 20:44:07 thorpej Exp $
|
||||
|
||||
S= ${.CURDIR}/../../../../..
|
||||
|
||||
PLATFORM= IQ80321
|
||||
RELOC= 0xf0080000
|
||||
MAXIMAGESIZE= 2097152 # 2M
|
||||
LOADADDR= 0xa0200000
|
||||
|
||||
CPPFLAGS+= -DCONSPEED=115200
|
||||
CPPFLAGS+= -DCONADDR=0xfe800000UL
|
||||
|
||||
LDSCRIPT= ${.CURDIR}/ldscript
|
||||
|
||||
SRCS+= ns16550.c i80321_mem.c
|
||||
|
||||
.include "${S}/arch/evbarm/stand/gzboot/Makefile.gzboot"
|
|
@ -0,0 +1,82 @@
|
|||
/* $NetBSD: ldscript,v 1.1 2002/03/28 20:44:07 thorpej Exp $ */
|
||||
|
||||
OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm",
|
||||
"elf32-littlearm")
|
||||
OUTPUT_ARCH(arm)
|
||||
ENTRY(FLASH)
|
||||
MEMORY
|
||||
{
|
||||
/* We will locate the .text section in flash, and will run directly
|
||||
from there just long enough to relocate our .text and .data into
|
||||
a small chunk of SDRAM starting at (SDRAM + 1M). */
|
||||
flash : o = 0xf0080000, l = 6M
|
||||
sdram : o = 0xa0100000, l = 1M /* kernel loads at 0xa0200000 */
|
||||
}
|
||||
SECTIONS
|
||||
{
|
||||
FLASH = 0xf0080000;
|
||||
|
||||
/* Read-only sections, merged into text segment: */
|
||||
__text_store = FLASH;
|
||||
.text :
|
||||
AT (FLASH)
|
||||
{
|
||||
*(.text)
|
||||
*(.text.*)
|
||||
*(.stub)
|
||||
*(.glue_7t) *(.glue_7)
|
||||
*(.rodata) *(.rodata.*)
|
||||
} > sdram =0
|
||||
PROVIDE (__etext = .);
|
||||
PROVIDE (_etext = .);
|
||||
PROVIDE (etext = .);
|
||||
__data_store = FLASH + SIZEOF(.text);
|
||||
.data :
|
||||
AT (FLASH + SIZEOF(.text))
|
||||
{
|
||||
__data_start = . ;
|
||||
*(.data)
|
||||
*(.data.*)
|
||||
} > sdram
|
||||
.sdata :
|
||||
AT (FLASH + SIZEOF(.text) + SIZEOF(.data))
|
||||
{
|
||||
*(.sdata)
|
||||
*(.sdata.*)
|
||||
} > sdram
|
||||
_edata = .;
|
||||
PROVIDE (edata = .);
|
||||
__bss_start = .;
|
||||
__bss_start__ = .;
|
||||
.sbss :
|
||||
{
|
||||
PROVIDE (__sbss_start = .);
|
||||
PROVIDE (___sbss_start = .);
|
||||
*(.dynsbss)
|
||||
*(.sbss)
|
||||
*(.sbss.*)
|
||||
*(.scommon)
|
||||
PROVIDE (__sbss_end = .);
|
||||
PROVIDE (___sbss_end = .);
|
||||
} > sdram
|
||||
.bss :
|
||||
{
|
||||
*(.dynbss)
|
||||
*(.bss)
|
||||
*(.bss.*)
|
||||
*(COMMON)
|
||||
/* Align here to ensure that the .bss section occupies space up to
|
||||
_end. Align after .bss to ensure correct alignment even if the
|
||||
.bss section disappears because there are no input sections. */
|
||||
. = ALIGN(32 / 8);
|
||||
} > sdram
|
||||
. = ALIGN(32 / 8);
|
||||
_end = .;
|
||||
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
|
||||
PROVIDE (end = .);
|
||||
.image (FLASH + SIZEOF(.text) + SIZEOF(.data) + SIZEOF(.sdata)) :
|
||||
AT (FLASH + SIZEOF(.text) + SIZEOF(.data) + SIZEOF(.sdata))
|
||||
{
|
||||
*(.image)
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue