diff --git a/bsp/dev3210/dev3210_ram.lds b/bsp/dev3210/dev3210_ram.lds index d3e177d02b..55911e458f 100644 --- a/bsp/dev3210/dev3210_ram.lds +++ b/bsp/dev3210/dev3210_ram.lds @@ -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. */ diff --git a/bsp/dev3210/dw.txt b/bsp/dev3210/dw.txt index e58da7fea4..bc67d4633b 100644 --- a/bsp/dev3210/dw.txt +++ b/bsp/dev3210/dw.txt @@ -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 diff --git a/libcpu/mips/loongson/start_gcc.S b/libcpu/mips/loongson/start_gcc.S index 200e98d04a..f558622df6 100644 --- a/libcpu/mips/loongson/start_gcc.S +++ b/libcpu/mips/loongson/start_gcc.S @@ -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