Bläddra i källkod

update armcc device parameter in LPC2478.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1121 bbd45198-f89e-11dd-88c7-29a3b14d5316
bernard.xiong 14 år sedan
förälder
incheckning
e262eed0e8
3 ändrade filer med 45 tillägg och 12 borttagningar
  1. 16 2
      bsp/lpc2478/lpc2478_rom.lds
  2. 15 0
      bsp/lpc2478/lpc2478_rom.sct
  3. 14 10
      bsp/lpc2478/rtconfig.py

+ 16 - 2
bsp/lpc2478/lpc2478_rom.lds

@@ -16,10 +16,24 @@ SECTIONS
   __text_end = .;
   
   __rodata_start = .;
-  .rodata   : { *(.rodata) *(.rodata.*)}
+  .rodata   :
+  {
+    *(.rodata)
+    *(.rodata.*)
+    /* section information for finsh shell */
+    . = ALIGN(4);
+    __fsymtab_start = .;
+    KEEP(*(FSymTab))
+    __fsymtab_end = .;
+    . = ALIGN(4);
+    __vsymtab_start = .;
+    KEEP(*(VSymTab))
+    __vsymtab_end = .;
+    . = ALIGN(4);	
+  }
   __rodata_end = .;
   	
-	. = 0x40000000;		/*Data in SRAM*/
+  . = 0x40000000;		/*Data in SRAM*/
 	
   __data_start = .;
   . = ALIGN(4);

+ 15 - 0
bsp/lpc2478/lpc2478_rom.sct

@@ -0,0 +1,15 @@
+; *************************************************************
+; *** Scatter-Loading Description File generated by uVision ***
+; *************************************************************
+
+LR_IROM1 0x00000000 0x00080000  {    ; load region size_region
+  ER_IROM1 0x00000000 0x00080000  {  ; load address = execution address
+   *.o (RESET, +First)
+   *(InRoot$$Sections)
+   .ANY (+RO)
+  }
+  RW_IRAM1 0x40000000 0x00010000  {  ; RW data
+   .ANY (+RW +ZI)
+  }
+}
+

+ 14 - 10
bsp/lpc2478/rtconfig.py

@@ -1,18 +1,22 @@
 # toolchains options
 ARCH='arm'
-CPU='lpc2478'
-CROSS_TOOL='keil'
+CPU='lpc24xx'
+CROSS_TOOL='gcc'
 
 if  CROSS_TOOL == 'gcc':
 	PLATFORM 	= 'gcc'
-	EXEC_PATH 	= 'D:/SourceryGCC/bin'
+	EXEC_PATH 	= 'E:/Program Files/CodeSourcery/Sourcery G++ Lite/bin'
 elif CROSS_TOOL == 'keil':
 	PLATFORM 	= 'armcc'
-	EXEC_PATH 	= 'd:/Keil'
-
+	EXEC_PATH 	= 'E:/Keil'
 BUILD = 'debug'
 
 if PLATFORM == 'gcc':
+    print "========================="
+    print "Can not support GNU GCC!!"
+    print "========================="
+    exit (0)
+
     # toolchains
     PREFIX = 'arm-none-eabi-'
     CC = PREFIX + 'gcc'
@@ -24,10 +28,10 @@ if PLATFORM == 'gcc':
     OBJDUMP = PREFIX + 'objdump'
     OBJCPY = PREFIX + 'objcopy'
 
-    DEVICE = ' -mcpu=ARM7TDMI'
-    CFLAGS = DEVICE + ' -DRT_USING_MINILIBC'
+    DEVICE = ' -mcpu=arm7tdmi'
+    CFLAGS = DEVICE
     AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp'
-    LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread-lpc2478.map,-cref,-u,Reset_Handler -T lpc2478_rom.ld'
+    LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread-lpc2478.map,-cref,-u,Reset_Handler -T lpc2478_rom.lds'
 
     CPATH = ''
     LPATH = ''
@@ -48,7 +52,7 @@ elif PLATFORM == 'armcc':
     LINK = 'armlink'
     TARGET_EXT = 'axf'
 
-    DEVICE = ' --device DARMSTM'
+    DEVICE = ' --device DARMP'
     CFLAGS = DEVICE + ' --apcs=interwork'
     AFLAGS = DEVICE
     LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers --list rtthread-lpc2478.map --scatter lpc2478_rom.sct'
@@ -74,7 +78,7 @@ elif PLATFORM == 'iar':
     LINK = 'ilinkarm'
     TARGET_EXT = 'out'
 
-    DEVICE = ' --cpu DARMSTM --thumb'
+    DEVICE = ' --cpu DARMP'
 
     CFLAGS = ''
     AFLAGS = ''