summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bsp/dev3210/dev3210_ram.lds126
-rw-r--r--bsp/dev3210/dw.txt9
-rw-r--r--libcpu/mips/loongson/start_gcc.S13
3 files changed, 53 insertions, 95 deletions
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