From 1e5518ee84fa3704cd16fd8aa909302f2833012d Mon Sep 17 00:00:00 2001 From: wuyangyong Date: Mon, 29 Nov 2010 18:20:11 +0000 Subject: [PATCH] update lpc2148 bsp git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1148 bbd45198-f89e-11dd-88c7-29a3b14d5316 --- bsp/lpc2148/SConscript | 15 ++++++ bsp/lpc2148/SConstruct | 28 +++++++++++ bsp/lpc2148/project.Opt | 91 +++++++++++++++++----------------- bsp/lpc2148/project.Uv2 | 88 +++++++++++++++++---------------- bsp/lpc2148/rtconfig.py | 84 +++++++++++++++++++++++++++++++ bsp/lpc2148/template.Uv2 | 98 +++++++++++++++++++++++++++++++++++++ libcpu/arm/lpc214x/serial.c | 2 +- 7 files changed, 320 insertions(+), 86 deletions(-) create mode 100644 bsp/lpc2148/SConscript create mode 100644 bsp/lpc2148/SConstruct create mode 100644 bsp/lpc2148/rtconfig.py create mode 100644 bsp/lpc2148/template.Uv2 diff --git a/bsp/lpc2148/SConscript b/bsp/lpc2148/SConscript new file mode 100644 index 0000000000..ab4ba59510 --- /dev/null +++ b/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') diff --git a/bsp/lpc2148/SConstruct b/bsp/lpc2148/SConstruct new file mode 100644 index 0000000000..64b819cd89 --- /dev/null +++ b/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) diff --git a/bsp/lpc2148/project.Opt b/bsp/lpc2148/project.Opt index d8e0936042..66a68ca274 100644 --- a/bsp/lpc2148/project.Opt +++ b/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> { 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> -OPTFFF 1,3,1,33554434,0,2,18,0,<.\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> -OPTFFF 2,5,1,0,0,0,0,0,<..\..\src\clock.c> -OPTFFF 2,6,1,150994944,0,0,0,0,<..\..\src\device.c> +OPTFFF 1,1,1,0,0,0,0,0,<.\application.c> +OPTFFF 1,2,1,2,0,130,133,0,<.\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> +OPTFFF 2,4,1,0,0,0,0,0,<..\..\src\clock.c> +OPTFFF 2,5,1,0,0,0,0,0,<..\..\src\device.c> +OPTFFF 2,6,1,0,0,0,0,0,<..\..\src\idle.c> OPTFFF 2,7,1,0,0,0,0,0,<..\..\src\ipc.c> -OPTFFF 2,8,1,0,0,0,0,0,<..\..\src\mempool.c> -OPTFFF 2,9,1,0,0,0,0,0,<..\..\src\object.c> -OPTFFF 2,10,1,0,0,0,0,0,<..\..\src\timer.c> -OPTFFF 2,11,1,553648128,0,0,0,0,<..\..\src\idle.c> -OPTFFF 2,12,1,0,0,0,0,0,<..\..\src\irq.c> -OPTFFF 2,13,1,0,0,0,0,0,<..\..\src\mem.c> -OPTFFF 2,14,1,0,0,0,0,0,<..\..\src\scheduler.c> -OPTFFF 2,15,1,0,0,0,0,0,<..\..\src\slab.c> -OPTFFF 2,16,1,0,0,0,0,0,<..\..\src\thread.c> -OPTFFF 2,17,1,0,0,0,0,0,<..\..\src\kservice.c> -OPTFFF 3,18,1,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\serial.c> -OPTFFF 3,19,1,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\interrupt.c> -OPTFFF 3,20,1,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\cpu.c> -OPTFFF 3,21,1,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\trap.c> +OPTFFF 2,8,1,0,0,0,0,0,<..\..\src\irq.c> +OPTFFF 2,9,1,0,0,0,0,0,<..\..\src\kservice.c> +OPTFFF 2,10,1,0,0,0,0,0,<..\..\src\mem.c> +OPTFFF 2,11,1,0,0,0,0,0,<..\..\src\mempool.c> +OPTFFF 2,12,1,0,0,0,0,0,<..\..\src\module.c> +OPTFFF 2,13,1,0,0,0,0,0,<..\..\src\object.c> +OPTFFF 2,14,1,0,0,0,0,0,<..\..\src\rtm.c> +OPTFFF 2,15,1,0,0,0,0,0,<..\..\src\scheduler.c> +OPTFFF 2,16,1,0,0,0,0,0,<..\..\src\slab.c> +OPTFFF 2,17,1,0,0,0,0,0,<..\..\src\thread.c> +OPTFFF 2,18,1,0,0,0,0,0,<..\..\src\timer.c> +OPTFFF 3,19,1,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\cpu.c> +OPTFFF 3,20,1,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\interrupt.c> +OPTFFF 3,21,1,486539264,0,339,343,0,<..\..\libcpu\arm\lpc214x\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> -OPTFFF 3,23,2,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\start_rvds.s> -OPTFFF 3,24,2,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\context_rvds.s> -OPTFFF 4,25,1,0,0,0,0,0,<..\..\finsh\finsh_compiler.c> -OPTFFF 4,26,1,0,0,0,0,0,<..\..\finsh\finsh_error.c> -OPTFFF 4,27,1,0,0,0,0,0,<..\..\finsh\finsh_heap.c> -OPTFFF 4,28,1,0,0,0,0,0,<..\..\finsh\finsh_init.c> -OPTFFF 4,29,1,0,0,0,0,0,<..\..\finsh\finsh_node.c> -OPTFFF 4,30,1,0,0,0,0,0,<..\..\finsh\finsh_ops.c> -OPTFFF 4,31,1,0,0,0,0,0,<..\..\finsh\finsh_token.c> -OPTFFF 4,32,1,0,0,0,0,0,<..\..\finsh\finsh_var.c> -OPTFFF 4,33,1,0,0,0,0,0,<..\..\finsh\finsh_vm.c> -OPTFFF 4,34,1,0,0,0,0,0,<..\..\finsh\shell.c> -OPTFFF 4,35,1,0,0,0,0,0,<..\..\finsh\symbol.c> -OPTFFF 4,36,1,0,0,0,0,0,<..\..\finsh\cmd.c> -OPTFFF 4,37,1,0,0,0,0,0,<..\..\finsh\finsh_parser.c> +OPTFFF 3,23,1,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\trap.c> +OPTFFF 3,24,2,285212672,0,0,0,0,<..\..\libcpu\arm\lpc214x\context_rvds.S> +OPTFFF 3,25,2,0,0,0,0,0,<..\..\libcpu\arm\lpc214x\start_rvds.S> +OPTFFF 3,26,1,0,0,0,0,0,<..\..\libcpu\arm\common\backtrace.c> +OPTFFF 3,27,1,0,0,0,0,0,<..\..\libcpu\arm\common\div0.c> +OPTFFF 3,28,1,234881024,0,0,0,0,<..\..\libcpu\arm\common\showmem.c> +OPTFFF 4,29,1,0,0,0,0,0,<..\..\components\finsh\cmd.c> +OPTFFF 4,30,1,0,0,0,0,0,<..\..\components\finsh\finsh_compiler.c> +OPTFFF 4,31,1,0,0,0,0,0,<..\..\components\finsh\finsh_error.c> +OPTFFF 4,32,1,0,0,0,0,0,<..\..\components\finsh\finsh_heap.c> +OPTFFF 4,33,1,0,0,0,0,0,<..\..\components\finsh\finsh_init.c> +OPTFFF 4,34,1,0,0,0,0,0,<..\..\components\finsh\finsh_node.c> +OPTFFF 4,35,1,0,0,0,0,0,<..\..\components\finsh\finsh_ops.c> +OPTFFF 4,36,1,0,0,0,0,0,<..\..\components\finsh\finsh_parser.c> +OPTFFF 4,37,1,0,0,0,0,0,<..\..\components\finsh\finsh_token.c> +OPTFFF 4,38,1,0,0,0,0,0,<..\..\components\finsh\finsh_var.c> +OPTFFF 4,39,1,0,0,0,0,0,<..\..\components\finsh\finsh_vm.c> +OPTFFF 4,40,1,0,0,0,0,0,<..\..\components\finsh\shell.c> +OPTFFF 4,41,1,0,0,0,0,0,<..\..\components\finsh\symbol.c> +ExtF 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 <> diff --git a/bsp/lpc2148/project.Uv2 b/bsp/lpc2148/project.Uv2 index bd601a0a6a..1e073203d6 100644 --- a/bsp/lpc2148/project.Uv2 +++ b/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> -File 1,1,<.\board.c> File 1,1,<.\startup.c> -File 1,5,<.\rtconfig.h> +File 1,1,<.\board.c> File 2,1,<..\..\src\clock.c> File 2,1,<..\..\src\device.c> -File 2,1,<..\..\src\ipc.c> -File 2,1,<..\..\src\mempool.c> -File 2,1,<..\..\src\object.c> -File 2,1,<..\..\src\timer.c> File 2,1,<..\..\src\idle.c> +File 2,1,<..\..\src\ipc.c> File 2,1,<..\..\src\irq.c> +File 2,1,<..\..\src\kservice.c> File 2,1,<..\..\src\mem.c> +File 2,1,<..\..\src\mempool.c> +File 2,1,<..\..\src\module.c> +File 2,1,<..\..\src\object.c> +File 2,1,<..\..\src\rtm.c> File 2,1,<..\..\src\scheduler.c> File 2,1,<..\..\src\slab.c> File 2,1,<..\..\src\thread.c> -File 2,1,<..\..\src\kservice.c> -File 3,1,<..\..\libcpu\arm\lpc214x\serial.c> -File 3,1,<..\..\libcpu\arm\lpc214x\interrupt.c> +File 2,1,<..\..\src\timer.c> File 3,1,<..\..\libcpu\arm\lpc214x\cpu.c> -File 3,1,<..\..\libcpu\arm\lpc214x\trap.c> +File 3,1,<..\..\libcpu\arm\lpc214x\interrupt.c> +File 3,1,<..\..\libcpu\arm\lpc214x\serial.c> File 3,1,<..\..\libcpu\arm\lpc214x\stack.c> -File 3,2,<..\..\libcpu\arm\lpc214x\start_rvds.s> -File 3,2,<..\..\libcpu\arm\lpc214x\context_rvds.s> -File 4,1,<..\..\finsh\finsh_compiler.c> -File 4,1,<..\..\finsh\finsh_error.c> -File 4,1,<..\..\finsh\finsh_heap.c> -File 4,1,<..\..\finsh\finsh_init.c> -File 4,1,<..\..\finsh\finsh_node.c> -File 4,1,<..\..\finsh\finsh_ops.c> -File 4,1,<..\..\finsh\finsh_token.c> -File 4,1,<..\..\finsh\finsh_var.c> -File 4,1,<..\..\finsh\finsh_vm.c> -File 4,1,<..\..\finsh\shell.c> -File 4,1,<..\..\finsh\symbol.c> -File 4,1,<..\..\finsh\cmd.c> -File 4,1,<..\..\finsh\finsh_parser.c> +File 3,1,<..\..\libcpu\arm\lpc214x\trap.c> +File 3,2,<..\..\libcpu\arm\lpc214x\context_rvds.S> +File 3,2,<..\..\libcpu\arm\lpc214x\start_rvds.S> +File 3,1,<..\..\libcpu\arm\common\backtrace.c> +File 3,1,<..\..\libcpu\arm\common\div0.c> +File 3,1,<..\..\libcpu\arm\common\showmem.c> +File 4,1,<..\..\components\finsh\cmd.c> +File 4,1,<..\..\components\finsh\finsh_compiler.c> +File 4,1,<..\..\components\finsh\finsh_error.c> +File 4,1,<..\..\components\finsh\finsh_heap.c> +File 4,1,<..\..\components\finsh\finsh_init.c> +File 4,1,<..\..\components\finsh\finsh_node.c> +File 4,1,<..\..\components\finsh\finsh_ops.c> +File 4,1,<..\..\components\finsh\finsh_parser.c> +File 4,1,<..\..\components\finsh\finsh_token.c> +File 4,1,<..\..\components\finsh\finsh_var.c> +File 4,1,<..\..\components\finsh\finsh_vm.c> +File 4,1,<..\..\components\finsh\shell.c> +File 4,1,<..\..\components\finsh\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 diff --git a/bsp/lpc2148/rtconfig.py b/bsp/lpc2148/rtconfig.py new file mode 100644 index 0000000000..0c00e8584e --- /dev/null +++ b/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 = '' diff --git a/bsp/lpc2148/template.Uv2 b/bsp/lpc2148/template.Uv2 new file mode 100644 index 0000000000..818cc2e82b --- /dev/null +++ b/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 + diff --git a/libcpu/arm/lpc214x/serial.c b/libcpu/arm/lpc214x/serial.c index d616fad8b4..e8f7a49cb4 100644 --- a/libcpu/arm/lpc214x/serial.c +++ b/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); -- GitLab