Browse Source

update lpc2148 bsp

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1148 bbd45198-f89e-11dd-88c7-29a3b14d5316
wuyangyong 14 years ago
parent
commit
1e5518ee84

+ 15 - 0
bsp/lpc2148/SConscript

@@ -0,0 +1,15 @@
+import rtconfig
+Import('RTT_ROOT')
+from building import *
+
+src_bsp = ['application.c', 'startup.c', 'board.c']
+src_drv = []
+
+
+
+src = src_bsp + src_drv
+CPPPATH = [RTT_ROOT + '/bsp/lpc2148']
+CPPDEFINES = []
+group = DefineGroup('Startup', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES)
+
+Return('group')

+ 28 - 0
bsp/lpc2148/SConstruct

@@ -0,0 +1,28 @@
+import os
+import sys
+import rtconfig
+
+RTT_ROOT = os.path.normpath(os.getcwd() + '/../..')
+sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
+from building import *
+
+TARGET = 'rtthread-lpc2148.' + rtconfig.TARGET_EXT
+
+env = Environment(tools = ['mingw'],
+	AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
+	CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS,
+	AR = rtconfig.AR, ARFLAGS = '-rc',
+	LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
+env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
+
+Export('RTT_ROOT')
+Export('rtconfig')
+
+# prepare building environment
+objs = PrepareBuilding(env, RTT_ROOT)
+
+# build program 
+env.Program(TARGET, objs)
+
+# end building 
+EndBuilding(TARGET)

+ 47 - 44
bsp/lpc2148/project.Opt

@@ -10,65 +10,68 @@
  CppX (*.cpp)
  DaveTm { 0,0,0,0,0,0,0,0 }
 
-Target (RT-Thread-LPC2148), 0x0004 // Tools: 'ARM-ADS'
-GRPOPT 1,(Startup),1,0,0
+Target (RT-thread_LPC2148), 0x0004 // Tools: 'ARM-ADS'
+GRPOPT 1,(Startup),0,0,0
 GRPOPT 2,(Kernel),0,0,0
-GRPOPT 3,(LPC214x),0,0,0
+GRPOPT 3,(LPC214X),0,0,0
 GRPOPT 4,(finsh),0,0,0
 
-OPTFFF 1,1,1,637534208,0,119,136,0,<.\application.c><application.c> { 44,0,0,0,0,0,0,0,1,0,0,0,255,255,255,255,255,255,255,255,252,255,255,255,226,255,255,255,110,0,0,0,145,0,0,0,100,4,0,0,240,1,0,0 }
-OPTFFF 1,2,1,0,0,0,0,0,<.\board.c><board.c> 
-OPTFFF 1,3,1,33554434,0,2,18,0,<.\startup.c><startup.c> { 44,0,0,0,2,0,0,0,3,0,0,0,255,255,255,255,255,255,255,255,252,255,255,255,226,255,255,255,44,0,0,0,58,0,0,0,46,4,0,0,112,1,0,0 }
-OPTFFF 1,4,5,0,0,0,0,0,<.\rtconfig.h><rtconfig.h> 
-OPTFFF 2,5,1,0,0,0,0,0,<..\..\src\clock.c><clock.c> 
-OPTFFF 2,6,1,150994944,0,0,0,0,<..\..\src\device.c><device.c> 
+OPTFFF 1,1,1,0,0,0,0,0,<.\application.c><application.c> 
+OPTFFF 1,2,1,2,0,130,133,0,<.\startup.c><startup.c> { 44,0,0,0,2,0,0,0,3,0,0,0,255,255,255,255,255,255,255,255,252,255,255,255,226,255,255,255,0,0,0,0,0,0,0,0,117,3,0,0,254,0,0,0 }
+OPTFFF 1,3,1,0,0,0,0,0,<.\board.c><board.c> 
+OPTFFF 2,4,1,0,0,0,0,0,<..\..\src\clock.c><clock.c> 
+OPTFFF 2,5,1,0,0,0,0,0,<..\..\src\device.c><device.c> 
+OPTFFF 2,6,1,0,0,0,0,0,<..\..\src\idle.c><idle.c> 
 OPTFFF 2,7,1,0,0,0,0,0,<..\..\src\ipc.c><ipc.c> 
-OPTFFF 2,8,1,0,0,0,0,0,<..\..\src\mempool.c><mempool.c> 
-OPTFFF 2,9,1,0,0,0,0,0,<..\..\src\object.c><object.c> 
-OPTFFF 2,10,1,0,0,0,0,0,<..\..\src\timer.c><timer.c> 
-OPTFFF 2,11,1,553648128,0,0,0,0,<..\..\src\idle.c><idle.c> 
-OPTFFF 2,12,1,0,0,0,0,0,<..\..\src\irq.c><irq.c> 
-OPTFFF 2,13,1,0,0,0,0,0,<..\..\src\mem.c><mem.c> 
-OPTFFF 2,14,1,0,0,0,0,0,<..\..\src\scheduler.c><scheduler.c> 
-OPTFFF 2,15,1,0,0,0,0,0,<..\..\src\slab.c><slab.c> 
-OPTFFF 2,16,1,0,0,0,0,0,<..\..\src\thread.c><thread.c> 
-OPTFFF 2,17,1,0,0,0,0,0,<..\..\src\kservice.c><kservice.c> 
-OPTFFF 3,18,1,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\serial.c><serial.c> 
-OPTFFF 3,19,1,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\interrupt.c><interrupt.c> 
-OPTFFF 3,20,1,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\cpu.c><cpu.c> 
-OPTFFF 3,21,1,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\trap.c><trap.c> 
+OPTFFF 2,8,1,0,0,0,0,0,<..\..\src\irq.c><irq.c> 
+OPTFFF 2,9,1,0,0,0,0,0,<..\..\src\kservice.c><kservice.c> 
+OPTFFF 2,10,1,0,0,0,0,0,<..\..\src\mem.c><mem.c> 
+OPTFFF 2,11,1,0,0,0,0,0,<..\..\src\mempool.c><mempool.c> 
+OPTFFF 2,12,1,0,0,0,0,0,<..\..\src\module.c><module.c> 
+OPTFFF 2,13,1,0,0,0,0,0,<..\..\src\object.c><object.c> 
+OPTFFF 2,14,1,0,0,0,0,0,<..\..\src\rtm.c><rtm.c> 
+OPTFFF 2,15,1,0,0,0,0,0,<..\..\src\scheduler.c><scheduler.c> 
+OPTFFF 2,16,1,0,0,0,0,0,<..\..\src\slab.c><slab.c> 
+OPTFFF 2,17,1,0,0,0,0,0,<..\..\src\thread.c><thread.c> 
+OPTFFF 2,18,1,0,0,0,0,0,<..\..\src\timer.c><timer.c> 
+OPTFFF 3,19,1,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\cpu.c><cpu.c> 
+OPTFFF 3,20,1,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\interrupt.c><interrupt.c> 
+OPTFFF 3,21,1,486539264,0,339,343,0,<..\..\libcpu\arm\lpc214x\serial.c><serial.c> { 44,0,0,0,0,0,0,0,1,0,0,0,255,255,255,255,255,255,255,255,252,255,255,255,226,255,255,255,66,0,0,0,87,0,0,0,9,4,0,0,83,1,0,0 }
 OPTFFF 3,22,1,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\stack.c><stack.c> 
-OPTFFF 3,23,2,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\start_rvds.s><start_rvds.s> 
-OPTFFF 3,24,2,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\context_rvds.s><context_rvds.s> 
-OPTFFF 4,25,1,0,0,0,0,0,<..\..\finsh\finsh_compiler.c><finsh_compiler.c> 
-OPTFFF 4,26,1,0,0,0,0,0,<..\..\finsh\finsh_error.c><finsh_error.c> 
-OPTFFF 4,27,1,0,0,0,0,0,<..\..\finsh\finsh_heap.c><finsh_heap.c> 
-OPTFFF 4,28,1,0,0,0,0,0,<..\..\finsh\finsh_init.c><finsh_init.c> 
-OPTFFF 4,29,1,0,0,0,0,0,<..\..\finsh\finsh_node.c><finsh_node.c> 
-OPTFFF 4,30,1,0,0,0,0,0,<..\..\finsh\finsh_ops.c><finsh_ops.c> 
-OPTFFF 4,31,1,0,0,0,0,0,<..\..\finsh\finsh_token.c><finsh_token.c> 
-OPTFFF 4,32,1,0,0,0,0,0,<..\..\finsh\finsh_var.c><finsh_var.c> 
-OPTFFF 4,33,1,0,0,0,0,0,<..\..\finsh\finsh_vm.c><finsh_vm.c> 
-OPTFFF 4,34,1,0,0,0,0,0,<..\..\finsh\shell.c><shell.c> 
-OPTFFF 4,35,1,0,0,0,0,0,<..\..\finsh\symbol.c><symbol.c> 
-OPTFFF 4,36,1,0,0,0,0,0,<..\..\finsh\cmd.c><cmd.c> 
-OPTFFF 4,37,1,0,0,0,0,0,<..\..\finsh\finsh_parser.c><finsh_parser.c> 
+OPTFFF 3,23,1,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\trap.c><trap.c> 
+OPTFFF 3,24,2,285212672,0,0,0,0,<..\..\libcpu\arm\lpc214x\context_rvds.S><context_rvds.S> 
+OPTFFF 3,25,2,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\start_rvds.S><start_rvds.S> 
+OPTFFF 3,26,1,0,0,0,0,0,<..\..\libcpu\arm\common\backtrace.c><backtrace.c> 
+OPTFFF 3,27,1,0,0,0,0,0,<..\..\libcpu\arm\common\div0.c><div0.c> 
+OPTFFF 3,28,1,234881024,0,0,0,0,<..\..\libcpu\arm\common\showmem.c><showmem.c> 
+OPTFFF 4,29,1,0,0,0,0,0,<..\..\components\finsh\cmd.c><cmd.c> 
+OPTFFF 4,30,1,0,0,0,0,0,<..\..\components\finsh\finsh_compiler.c><finsh_compiler.c> 
+OPTFFF 4,31,1,0,0,0,0,0,<..\..\components\finsh\finsh_error.c><finsh_error.c> 
+OPTFFF 4,32,1,0,0,0,0,0,<..\..\components\finsh\finsh_heap.c><finsh_heap.c> 
+OPTFFF 4,33,1,0,0,0,0,0,<..\..\components\finsh\finsh_init.c><finsh_init.c> 
+OPTFFF 4,34,1,0,0,0,0,0,<..\..\components\finsh\finsh_node.c><finsh_node.c> 
+OPTFFF 4,35,1,0,0,0,0,0,<..\..\components\finsh\finsh_ops.c><finsh_ops.c> 
+OPTFFF 4,36,1,0,0,0,0,0,<..\..\components\finsh\finsh_parser.c><finsh_parser.c> 
+OPTFFF 4,37,1,0,0,0,0,0,<..\..\components\finsh\finsh_token.c><finsh_token.c> 
+OPTFFF 4,38,1,0,0,0,0,0,<..\..\components\finsh\finsh_var.c><finsh_var.c> 
+OPTFFF 4,39,1,0,0,0,0,0,<..\..\components\finsh\finsh_vm.c><finsh_vm.c> 
+OPTFFF 4,40,1,0,0,0,0,0,<..\..\components\finsh\shell.c><shell.c> 
+OPTFFF 4,41,1,0,0,0,0,0,<..\..\components\finsh\symbol.c><symbol.c> 
 
+ExtF <E:\work\mcu\rt-thread\rt-thread\trunk\components\finsh\shell.h> 43,43,0,{ 44,0,0,0,0,0,0,0,1,0,0,0,255,255,255,255,255,255,255,255,252,255,255,255,226,255,255,255,44,0,0,0,58,0,0,0,247,3,0,0,55,1,0,0 }
 
-TARGOPT 1, (RT-Thread-LPC2148)
+TARGOPT 1, (RT-thread_LPC2148)
  ADSCLK=12000000
-  OPTTT 1,1,1,0
+  OPTTT 0,1,1,0
   OPTHX 1,65535,0,0,0
-  OPTLX 79,66,8,<.\objs\>
+  OPTLX 79,66,8,<.\obj\>
   OPTOX 16
   OPTLT 1,1,1,0,1,1,0,1,0,0,0,0
   OPTXL 1,1,1,1,1,1,1,0,0
   OPTFL 1,0,1
   OPTAX 0
   OPTDL (SARM.DLL)(-cLPC2100)(DARMP.DLL)(-pLPC2148)(SARM.DLL)()(TARMP.DLL)(-pLPC2148)
-  OPTDBG 48125,6,()()()()()()()()()() (Segger\JLTAgdi.dll)()()()
-  OPTKEY 0,(DLGDARM)((134=-1,-1,-1,-1,0)(135=-1,-1,-1,-1,0)(153=-1,-1,-1,-1,0)(154=-1,-1,-1,-1,0)(108=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(105=-1,-1,-1,-1,0)(145=-1,-1,-1,-1,0)(147=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(104=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(101=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(113=556,103,931,655,0)(112=-1,-1,-1,-1,0)(137=-1,-1,-1,-1,0)(138=-1,-1,-1,-1,0)(117=-1,-1,-1,-1,0)(146=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(114=-1,-1,-1,-1,0)(141=-1,-1,-1,-1,0)(142=-1,-1,-1,-1,0)(143=-1,-1,-1,-1,0)(144=-1,-1,-1,-1,0)(115=-1,-1,-1,-1,0)(116=-1,-1,-1,-1,0))
-  OPTKEY 0,(ARMDBGFLAGS)(-T5F)
+  OPTDBG 48125,0,()()()()()()()()()() (BIN\UL2ARM.DLL)()()()
   OPTDF 0x90
   OPTLE <>
   OPTLC <>

+ 47 - 41
bsp/lpc2148/project.Uv2

@@ -1,53 +1,59 @@
 ### uVision2 Project, (C) Keil Software
 ### Do not modify !
 
-Target (RT-Thread-LPC2148), 0x0004 // Tools: 'ARM-ADS'
+Target (RT-thread_LPC2148), 0x0004 // Tools: 'ARM-ADS'
 
 Group (Startup)
 Group (Kernel)
-Group (LPC214x)
+Group (LPC214X)
 Group (finsh)
 
 File 1,1,<.\application.c><application.c>
-File 1,1,<.\board.c><board.c>
 File 1,1,<.\startup.c><startup.c>
-File 1,5,<.\rtconfig.h><rtconfig.h>
+File 1,1,<.\board.c><board.c>
 File 2,1,<..\..\src\clock.c><clock.c>
 File 2,1,<..\..\src\device.c><device.c>
-File 2,1,<..\..\src\ipc.c><ipc.c>
-File 2,1,<..\..\src\mempool.c><mempool.c>
-File 2,1,<..\..\src\object.c><object.c>
-File 2,1,<..\..\src\timer.c><timer.c>
 File 2,1,<..\..\src\idle.c><idle.c>
+File 2,1,<..\..\src\ipc.c><ipc.c>
 File 2,1,<..\..\src\irq.c><irq.c>
+File 2,1,<..\..\src\kservice.c><kservice.c>
 File 2,1,<..\..\src\mem.c><mem.c>
+File 2,1,<..\..\src\mempool.c><mempool.c>
+File 2,1,<..\..\src\module.c><module.c>
+File 2,1,<..\..\src\object.c><object.c>
+File 2,1,<..\..\src\rtm.c><rtm.c>
 File 2,1,<..\..\src\scheduler.c><scheduler.c>
 File 2,1,<..\..\src\slab.c><slab.c>
 File 2,1,<..\..\src\thread.c><thread.c>
-File 2,1,<..\..\src\kservice.c><kservice.c>
-File 3,1,<..\..\libcpu\arm\lpc214x\serial.c><serial.c>
-File 3,1,<..\..\libcpu\arm\lpc214x\interrupt.c><interrupt.c>
+File 2,1,<..\..\src\timer.c><timer.c>
 File 3,1,<..\..\libcpu\arm\lpc214x\cpu.c><cpu.c>
-File 3,1,<..\..\libcpu\arm\lpc214x\trap.c><trap.c>
+File 3,1,<..\..\libcpu\arm\lpc214x\interrupt.c><interrupt.c>
+File 3,1,<..\..\libcpu\arm\lpc214x\serial.c><serial.c>
 File 3,1,<..\..\libcpu\arm\lpc214x\stack.c><stack.c>
-File 3,2,<..\..\libcpu\arm\lpc214x\start_rvds.s><start_rvds.s>
-File 3,2,<..\..\libcpu\arm\lpc214x\context_rvds.s><context_rvds.s>
-File 4,1,<..\..\finsh\finsh_compiler.c><finsh_compiler.c>
-File 4,1,<..\..\finsh\finsh_error.c><finsh_error.c>
-File 4,1,<..\..\finsh\finsh_heap.c><finsh_heap.c>
-File 4,1,<..\..\finsh\finsh_init.c><finsh_init.c>
-File 4,1,<..\..\finsh\finsh_node.c><finsh_node.c>
-File 4,1,<..\..\finsh\finsh_ops.c><finsh_ops.c>
-File 4,1,<..\..\finsh\finsh_token.c><finsh_token.c>
-File 4,1,<..\..\finsh\finsh_var.c><finsh_var.c>
-File 4,1,<..\..\finsh\finsh_vm.c><finsh_vm.c>
-File 4,1,<..\..\finsh\shell.c><shell.c>
-File 4,1,<..\..\finsh\symbol.c><symbol.c>
-File 4,1,<..\..\finsh\cmd.c><cmd.c>
-File 4,1,<..\..\finsh\finsh_parser.c><finsh_parser.c>
+File 3,1,<..\..\libcpu\arm\lpc214x\trap.c><trap.c>
+File 3,2,<..\..\libcpu\arm\lpc214x\context_rvds.S><context_rvds.S>
+File 3,2,<..\..\libcpu\arm\lpc214x\start_rvds.S><start_rvds.S>
+File 3,1,<..\..\libcpu\arm\common\backtrace.c><backtrace.c>
+File 3,1,<..\..\libcpu\arm\common\div0.c><div0.c>
+File 3,1,<..\..\libcpu\arm\common\showmem.c><showmem.c>
+File 4,1,<..\..\components\finsh\cmd.c><cmd.c>
+File 4,1,<..\..\components\finsh\finsh_compiler.c><finsh_compiler.c>
+File 4,1,<..\..\components\finsh\finsh_error.c><finsh_error.c>
+File 4,1,<..\..\components\finsh\finsh_heap.c><finsh_heap.c>
+File 4,1,<..\..\components\finsh\finsh_init.c><finsh_init.c>
+File 4,1,<..\..\components\finsh\finsh_node.c><finsh_node.c>
+File 4,1,<..\..\components\finsh\finsh_ops.c><finsh_ops.c>
+File 4,1,<..\..\components\finsh\finsh_parser.c><finsh_parser.c>
+File 4,1,<..\..\components\finsh\finsh_token.c><finsh_token.c>
+File 4,1,<..\..\components\finsh\finsh_var.c><finsh_var.c>
+File 4,1,<..\..\components\finsh\finsh_vm.c><finsh_vm.c>
+File 4,1,<..\..\components\finsh\shell.c><shell.c>
+File 4,1,<..\..\components\finsh\symbol.c><symbol.c>
+
+
 
 
-Options 1,0,0  // Target 'RT-Thread-LPC2148'
+Options 1,0,0  // Target 'RT-thread_LPC2148'
  Device (LPC2148)
  Vendor (NXP (founded by Philips))
  Cpu (IRAM(0x40000000-0x40007FFF) IROM(0-0x7FFFF) CLOCK(12000000) CPUTYPE(ARM7TDMI))
@@ -69,17 +75,17 @@ Options 1,0,0  // Target 'RT-Thread-LPC2148'
  EnvBin ()
  EnvInc ()
  EnvLib ()
- EnvReg (ÿPhilips\)
- OrgReg (ÿPhilips\)
+ EnvReg (Philips\)
+ OrgReg (Philips\)
  TgStat=16
- OutDir (.\objs\)
- OutName (rtthread-lpc2148)
+ OutDir (.\obj\)
+ OutName (RT-thread_LPC2148)
  GenApp=1
  GenLib=0
  GenHex=0
  Debug=1
  Browse=1
- LstDir (.\objs\)
+ LstDir (.\obj\)
  HexSel=1
  MG32K=0
  TGMORE=0
@@ -94,18 +100,18 @@ Options 1,0,0  // Target 'RT-Thread-LPC2148'
  ADSFLGA { 243,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
  ACPUTYP (ARM7TDMI)
  RVDEV ()
- ADSTFLGA { 0,12,0,2,99,0,1,66,0,0,0,0,0,0,0,0,0,0,0,0 }
+ ADSTFLGA { 0,12,0,2,99,0,0,66,0,0,0,0,0,0,0,0,0,0,0,0 }
  OCMADSOCM { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
  OCMADSIRAM { 0,0,0,0,64,0,128,0,0 }
  OCMADSIROM { 1,0,0,0,0,0,0,8,0 }
  OCMADSXRAM { 0,0,0,0,0,0,0,0,0 }
  OCR_RVCT { 1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,8,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,128,0,0,0,0,0,0,0,0,0,0,0 }
  RV_STAVEC ()
- ADSCCFLG { 5,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
+ ADSCCFLG { 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
  ADSCMISC ()
  ADSCDEFN ()
  ADSCUDEF ()
- ADSCINCD (.;..\..\include;..\..\libcpu\arm\lpc214x;..\..\finsh;..\..\net\lwip\src;..\..\net\lwip\src\include;..\..\net\lwip\src\arch\include;..\..\net\lwip\src\include\ipv4;..\..\filesystem\dfs;..\..\filesystem\dfs\include;..\..\filesystem\dfs\filesystems\efsl\src\include;..\..\filesystem\dfs\filesystems\efsl\src\base\include;..\..\filesystem\dfs\filesystems\efsl\src\fs\vfat\include)
+ ADSCINCD (..\..\include;..\..\libcpu\arm\lpc214x;..\..\libcpu\arm\common;..\..\components\finsh;.)
  ADSASFLG { 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
  ADSAMISC ()
  ADSADEFN ()
@@ -123,16 +129,16 @@ Options 1,0,0  // Target 'RT-Thread-LPC2148'
  ADSLDFG { 17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
  ADSLDTA (0x00000000)
  ADSLDDA (0x40000000)
- ADSLDSC (.\rtthread-lpc2148.sct)
+ ADSLDSC ()
  ADSLDIB ()
  ADSLDIC ()
- ADSLDMC (--keep __fsym_* --keep __vsym_*)
+ ADSLDMC ( --keep __fsym_* --keep __vsym_*)
  ADSLDIF ()
  ADSLDDW ()
   OPTDL (SARM.DLL)(-cLPC2100)(DARMP.DLL)(-pLPC2148)(SARM.DLL)()(TARMP.DLL)(-pLPC2148)
-  OPTDBG 48125,6,()()()()()()()()()() (Segger\JLTAgdi.dll)()()()
- FLASH1 { 2,0,0,0,1,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0 }
- FLASH2 (BIN\UL2ARM.DLL)
+  OPTDBG 48125,0,()()()()()()()()()() (BIN\UL2ARM.DLL)()()()
+ FLASH1 { 1,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0 }
+ FLASH2 ()
  FLASH3 ("LPC210x_ISP.EXE" ("#H" ^X $D COM1: 38400 1))
  FLASH4 ()
 EndOpt

+ 84 - 0
bsp/lpc2148/rtconfig.py

@@ -0,0 +1,84 @@
+# toolchains options
+ARCH='arm'
+CPU='lpc214x'
+CROSS_TOOL='keil'
+
+if  CROSS_TOOL == 'gcc':
+	PLATFORM 	= 'gcc'
+	EXEC_PATH 	= 'D:/SourceryGCC/bin'
+elif CROSS_TOOL == 'keil':
+	PLATFORM 	= 'armcc'
+	EXEC_PATH 	= 'G:\Keil_MDK_380'
+
+BUILD = 'debug'
+
+if PLATFORM == 'gcc':
+    # toolchains
+    PREFIX = 'arm-none-eabi-'
+    CC = PREFIX + 'gcc'
+    AS = PREFIX + 'gcc'
+    AR = PREFIX + 'ar'
+    LINK = PREFIX + 'gcc'
+    TARGET_EXT = 'axf'
+    SIZE = PREFIX + 'size'
+    OBJDUMP = PREFIX + 'objdump'
+    OBJCPY = PREFIX + 'objcopy'
+
+    DEVICE = ' -mcpu=arm7tdmi-s -mthumb'
+    CFLAGS = DEVICE + ' -DRT_USING_MINILIBC'
+    AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp'
+    LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread-lpc2148.map,-cref,-u,Reset_Handler -T lpc2148_rom.ld'
+
+    CPATH = ''
+    LPATH = ''
+
+    if BUILD == 'debug':
+        CFLAGS += ' -O0 -gdwarf-2'
+        AFLAGS += ' -gdwarf-2'
+    else:
+        CFLAGS += ' -O2'
+
+    POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'
+
+elif PLATFORM == 'armcc':
+    # toolchains
+    CC = 'armcc'
+    AS = 'armasm'
+    AR = 'armar'
+    LINK = 'armlink'
+    TARGET_EXT = 'axf'
+
+    DEVICE = ' --device DARMSTM'
+    CFLAGS = DEVICE + ' --apcs=interwork'
+    AFLAGS = DEVICE
+    LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers --list rtthread-lpc2148.map --scatter lpc2148_rom.sct'
+
+    CFLAGS += ' -I' + EXEC_PATH + '/ARM/RV31/INC'
+    LFLAGS += ' --libpath ' + EXEC_PATH + '/ARM/RV31/LIB'
+
+    EXEC_PATH += '/arm/bin40/'
+
+    if BUILD == 'debug':
+        CFLAGS += ' -g -O0'
+        AFLAGS += ' -g'
+    else:
+        CFLAGS += ' -O2'
+
+    POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
+
+elif PLATFORM == 'iar':
+    # toolchains
+    CC = 'iccarm'
+    AS = 'iasmarm'
+    AR = 'iarchive'
+    LINK = 'ilinkarm'
+    TARGET_EXT = 'out'
+
+    DEVICE = ' --cpu DARMSTM --thumb'
+
+    CFLAGS = ''
+    AFLAGS = ''
+    LFLAGS = ' --config lpc214x_flash.icf'
+
+    EXEC_PATH += '/arm/bin/'
+    POST_ACTION = ''

+ 98 - 0
bsp/lpc2148/template.Uv2

@@ -0,0 +1,98 @@
+### uVision2 Project, (C) Keil Software
+### Do not modify !
+
+Target (RT-thread_LPC2148), 0x0004 // Tools: 'ARM-ADS'
+
+
+
+
+Options 1,0,0  // Target 'RT-thread_LPC2148'
+ Device (LPC2148)
+ Vendor (NXP (founded by Philips))
+ Cpu (IRAM(0x40000000-0x40007FFF) IROM(0-0x7FFFF) CLOCK(12000000) CPUTYPE(ARM7TDMI))
+ FlashUt (LPC210x_ISP.EXE ("#H" ^X $D COM1: 38400 1))
+ StupF ("STARTUP\Philips\Startup.s" ("Philips LPC2100 Startup Code"))
+ FlashDR (UL2ARM(-U268761108 -O7 -C0 -FO15 -FD40000000 -FC800 -FN1 -FF0LPC_IAP2_512 -FS00 -FL07D000))
+ DevID (3880)
+ Rgf (LPC214X.H)
+ Mem ()
+ C ()
+ A ()
+ RL ()
+ OH ()
+ DBC_IFX ()
+ DBC_CMS ()
+ DBC_AMS ()
+ DBC_LMS ()
+ UseEnv=0
+ EnvBin ()
+ EnvInc ()
+ EnvLib ()
+ EnvReg (Philips\)
+ OrgReg (Philips\)
+ TgStat=16
+ OutDir (.\obj\)
+ OutName (RT-thread_LPC2148)
+ GenApp=1
+ GenLib=0
+ GenHex=0
+ Debug=1
+ Browse=1
+ LstDir (.\obj\)
+ HexSel=1
+ MG32K=0
+ TGMORE=0
+ RunUsr 0 0 <>
+ RunUsr 1 0 <>
+ BrunUsr 0 0 <>
+ BrunUsr 1 0 <>
+ CrunUsr 0 0 <>
+ CrunUsr 1 0 <>
+ SVCSID <>
+ GLFLAGS=1790
+ ADSFLGA { 243,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
+ ACPUTYP (ARM7TDMI)
+ RVDEV ()
+ ADSTFLGA { 0,12,0,2,99,0,0,66,0,0,0,0,0,0,0,0,0,0,0,0 }
+ OCMADSOCM { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
+ OCMADSIRAM { 0,0,0,0,64,0,128,0,0 }
+ OCMADSIROM { 1,0,0,0,0,0,0,8,0 }
+ OCMADSXRAM { 0,0,0,0,0,0,0,0,0 }
+ OCR_RVCT { 1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,8,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,128,0,0,0,0,0,0,0,0,0,0,0 }
+ RV_STAVEC ()
+ ADSCCFLG { 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
+ ADSCMISC ()
+ ADSCDEFN ()
+ ADSCUDEF ()
+ ADSCINCD ()
+ ADSASFLG { 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
+ ADSAMISC ()
+ ADSADEFN ()
+ ADSAUDEF ()
+ ADSAINCD ()
+ PropFld { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
+ IncBld=1
+ AlwaysBuild=0
+ GenAsm=0
+ AsmAsm=0
+ PublicsOnly=0
+ StopCode=3
+ CustArgs ()
+ LibMods ()
+ ADSLDFG { 17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
+ ADSLDTA (0x00000000)
+ ADSLDDA (0x40000000)
+ ADSLDSC ()
+ ADSLDIB ()
+ ADSLDIC ()
+ ADSLDMC ()
+ ADSLDIF ()
+ ADSLDDW ()
+  OPTDL (SARM.DLL)(-cLPC2100)(DARMP.DLL)(-pLPC2148)(SARM.DLL)()(TARMP.DLL)(-pLPC2148)
+  OPTDBG 48125,0,()()()()()()()()()() (BIN\UL2ARM.DLL)()()()
+ FLASH1 { 1,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0 }
+ FLASH2 ()
+ FLASH3 ("LPC210x_ISP.EXE" ("#H" ^X $D COM1: 38400 1))
+ FLASH4 ()
+EndOpt
+

+ 1 - 1
libcpu/arm/lpc214x/serial.c

@@ -340,7 +340,7 @@ void rt_hw_serial_init(void)
 	lpc_serial->parent.read 	= rt_serial_read;
 	lpc_serial->parent.write    = rt_serial_write;
 	lpc_serial->parent.control  = rt_serial_control;
-	lpc_serial->parent.private  = RT_NULL;
+	lpc_serial->parent.user_data  = RT_NULL;
 
 	rt_device_register(&lpc_serial->parent, 
 		"uart1", RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX);