Browse Source

replace iram vector to vector copy.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1060 bbd45198-f89e-11dd-88c7-29a3b14d5316
bernard.xiong@gmail.com 14 years ago
parent
commit
019b654201
3 changed files with 53 additions and 95 deletions
  1. 46 80
      bsp/dev3210/dev3210_ram.lds
  2. 7 2
      bsp/dev3210/dw.txt
  3. 0 13
      libcpu/mips/loongson/start_gcc.S

+ 46 - 80
bsp/dev3210/dev3210_ram.lds

@@ -16,105 +16,71 @@
 OUTPUT_FORMAT("elf32-tradlittlemips", "elf32-tradlittlemips", "elf32-tradlittlemips")
 OUTPUT_FORMAT("elf32-tradlittlemips", "elf32-tradlittlemips", "elf32-tradlittlemips")
 OUTPUT_ARCH(mips)
 OUTPUT_ARCH(mips)
 
 
-MEMORY
-{
-   /* 16M SDRAM */
-   DRAM : ORIGIN = 0x80200000, LENGTH = 0x01000000
-   /* 16K SRAM  */
-   IRAM : ORIGIN = 0x80000000, LENGTH = 0x00004000
-}
-
 ENTRY(_start)
 ENTRY(_start)
 SECTIONS
 SECTIONS
 {
 {
-	. = 0x80200000 ;
+    . = 0x80200000 ;
 
 
-	.start :
+    .start :
     {
     {
         *(.start);
         *(.start);
-    } > DRAM
+    }
 
 
     . = ALIGN(4);
     . = 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);
     . = 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.*)
         *(.sbss.*)
         *(.dynsbss)
         *(.dynsbss)
-		*(.scommon)
- 	} > DRAM
+        *(.scommon)
+    }
 
 
- 	.bss :
- 	{
-		*(.bss)
+    .bss :
+    {
+        *(.bss)
         *(.bss.*)
         *(.bss.*)
         *(.dynbss)
         *(.dynbss)
-		*(COMMON)
-	__bss_end = .;
- 	} > DRAM
-	
+        *(COMMON)
+        __bss_end = .;
+    }
     _end = .;
     _end = .;
 
 
     /* Stabs debugging sections.  */
     /* Stabs debugging sections.  */

+ 7 - 2
bsp/dev3210/dw.txt

@@ -1,6 +1,11 @@
+# download script for boot loader
 ifaddr dmfe0 192.168.1.100
 ifaddr dmfe0 192.168.1.100
 load tftp://192.168.1.5/boot_3210 0x80200000
 load tftp://192.168.1.5/boot_3210 0x80200000
 
 
+# download script for RT-Thread
 ifaddr dmfe0 192.168.1.100
 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

+ 0 - 13
libcpu/mips/loongson/start_gcc.S

@@ -36,19 +36,6 @@ _start:
     li      sp, SYSTEM_STACK
     li      sp, SYSTEM_STACK
     la      gp, _gp
     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 */
     /* clear bss */
     la      t0, __bss_start
     la      t0, __bss_start
     la      t1, __bss_end
     la      t1, __bss_end