replace iram vector to vector copy.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1060 bbd45198-f89e-11dd-88c7-29a3b14d5316
This commit is contained in:
bernard.xiong@gmail.com 2010-11-17 23:48:18 +00:00
parent 643fea758b
commit 019b654201
3 changed files with 53 additions and 95 deletions

View File

@ -16,105 +16,71 @@
OUTPUT_FORMAT("elf32-tradlittlemips", "elf32-tradlittlemips", "elf32-tradlittlemips")
OUTPUT_ARCH(mips)
MEMORY
{
/* 16M SDRAM */
DRAM : ORIGIN = 0x80200000, LENGTH = 0x01000000
/* 16K SRAM */
IRAM : ORIGIN = 0x80000000, LENGTH = 0x00004000
}
ENTRY(_start)
SECTIONS
{
. = 0x80200000 ;
. = 0x80200000 ;
.start :
.start :
{
*(.start);
} > DRAM
}
. = ALIGN(4);
.text :
.text :
{
*(.text)
*(.text.*)
*(.rodata)
*(.rodata.*)
*(.rodata1)
*(.rodata1.*)
/* section information for finsh shell */
. = ALIGN(4);
__fsymtab_start = .;
KEEP(*(FSymTab))
__fsymtab_end = .;
. = ALIGN(4);
__vsymtab_start = .;
KEEP(*(VSymTab))
__vsymtab_end = .;
. = ALIGN(4);
} > DRAM
*(.text)
*(.text.*)
*(.rodata)
*(.rodata.*)
*(.rodata1)
*(.rodata1.*)
/* section information for finsh shell */
. = ALIGN(4);
__fsymtab_start = .;
KEEP(*(FSymTab))
__fsymtab_end = .;
. = ALIGN(4);
__vsymtab_start = .;
KEEP(*(VSymTab))
__vsymtab_end = .;
. = ALIGN(4);
}
. = ALIGN(4);
.data :
.data :
{
*(.data)
*(.data.*)
*(.data1)
*(.data1.*)
. = ALIGN(8);
_gp = ABSOLUTE(.); /* Base of small data */
*(.sdata)
*(.sdata.*)
} > DRAM
*(.data)
*(.data.*)
*(.data1)
*(.data1.*)
. = ALIGN(8);
_gp = ABSOLUTE(.); /* Base of small data */
*(.sdata)
*(.sdata.*)
}
. = ALIGN(4);
_iramat = .;
.iram : AT(_iramat)
.sbss :
{
_iramstart = .;
*(.vectors.1);
. = 0x100;
*(.vectors.2);
. = 0x180;
*(.vectors.3);
. = 0x200;
*(.vectors.4);
*(.vectors);
*(.icode);
*(.irodata);
*(.idata);
KEEP(*(.vectors*))
_iramend = .;
} > IRAM
_iramcopy = LOADADDR(.iram);
.sbss :
{
__bss_start = .;
*(.sbss)
__bss_start = .;
*(.sbss)
*(.sbss.*)
*(.dynsbss)
*(.scommon)
} > DRAM
*(.scommon)
}
.bss :
{
*(.bss)
.bss :
{
*(.bss)
*(.bss.*)
*(.dynbss)
*(COMMON)
__bss_end = .;
} > DRAM
*(COMMON)
__bss_end = .;
}
_end = .;
/* Stabs debugging sections. */

View File

@ -1,6 +1,11 @@
# download script for boot loader
ifaddr dmfe0 192.168.1.100
load tftp://192.168.1.5/boot_3210 0x80200000
# download script for RT-Thread
ifaddr dmfe0 192.168.1.100
load tftp://192.168.1.5/rtthread.elf 0x80200000
oload tftp://192.168.1.5/rtthread.bin 0x80200000
load tftp://192.168.1.5/rtthread.elf
# burn script for RT-Thread
ifaddr dmfe0 192.168.1.100
devcp tftp://192.168.1.5/rtthread.elf /dev/mtd0

View File

@ -36,19 +36,6 @@ _start:
li sp, SYSTEM_STACK
la gp, _gp
#if 0
/* copy IRAM section */
la t0, _iramcopy
la t1, _iramstart
la t2, _iramend
_iram_loop:
lw t3, 0(t0)
sw t3, 0(t1)
addiu t1, 4
bne t1, t2, _iram_loop
addiu t0, 4
#endif
/* clear bss */
la t0, __bss_start
la t1, __bss_end