From 63d6608b857b3c9891666178f83854165efb5b92 Mon Sep 17 00:00:00 2001 From: "lijin.unix" Date: Tue, 29 Dec 2009 09:12:53 +0000 Subject: [PATCH] scons config file git-svn-id: https://rt-thread.googlecode.com/svn/trunk@261 bbd45198-f89e-11dd-88c7-29a3b14d5316 --- bsp/lpc2478/SConstruct | 56 ++++++++++++++++++++++++ bsp/lpc2478/rtconfig.py | 97 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 153 insertions(+) create mode 100644 bsp/lpc2478/SConstruct create mode 100644 bsp/lpc2478/rtconfig.py diff --git a/bsp/lpc2478/SConstruct b/bsp/lpc2478/SConstruct new file mode 100644 index 0000000000..31320af88d --- /dev/null +++ b/bsp/lpc2478/SConstruct @@ -0,0 +1,56 @@ +import os +import rtconfig + +RTT_ROOT = os.path.normpath(os.getcwd() + '/../..') +target = 'rtthread-lpc2478' + +# search path for C compiler +bsp_path = RTT_ROOT + '/bsp/lpc2478' + +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) +env.AppendUnique(CPPPATH = bsp_path) +env.AppendUnique(CCFLAGS = ' -DUSE_STDPERIPH_DRIVER -DSTM32F10X_HD') + +Export('env') +Export('RTT_ROOT') +Export('rtconfig') + +objs = SConscript(RTT_ROOT + '/src/SConscript', variant_dir='build/src', duplicate=0) +objs = objs + SConscript(RTT_ROOT + '/libcpu/SConscript', variant_dir='build/libcpu', duplicate=0) + +if rtconfig.RT_USING_MINILIBC: + objs = objs + SConscript(RTT_ROOT + '/libc/minilibc/SConscript', variant_dir='build/minilibc', duplicate=0) + +if rtconfig.RT_USING_FINSH: + objs = objs + SConscript(RTT_ROOT + '/finsh/SConscript', variant_dir='build/finsh', duplicate=0) + +if rtconfig.RT_USING_DFS: + objs = objs + SConscript(RTT_ROOT + '/filesystem/dfs/SConscript', variant_dir='build/filesystem', duplicate=0) + +if rtconfig.RT_USING_LWIP: + objs = objs + SConscript(RTT_ROOT + '/net/lwip/SConscript', variant_dir='build/net/lwip', duplicate=0) + +if rtconfig.RT_USING_RTGUI: + objs = objs + SConscript(RTT_ROOT + '/rtgui/SConscript', variant_dir='build/rtgui', duplicate=0) + +src_bsp = ['application.c', 'startup.c', 'board.c' ] + +if rtconfig.RT_USING_DFS: + src_drv += ['sdcard.c'] + +if rtconfig.RT_USING_LWIP: + src_drv += ['dm9000.c'] + +if rtconfig.RT_USING_RTGUI: + src_drv += ['touch.c'] + +objs = objs + env.Object(src_bsp ) + +TARGET = target + '.' + rtconfig.TARGET_EXT +env.Program(TARGET, objs) +env.AddPostAction(TARGET, rtconfig.POST_ACTION) diff --git a/bsp/lpc2478/rtconfig.py b/bsp/lpc2478/rtconfig.py new file mode 100644 index 0000000000..2436877433 --- /dev/null +++ b/bsp/lpc2478/rtconfig.py @@ -0,0 +1,97 @@ +# component options + +# finsh shell option +RT_USING_FINSH = True + +# device file system options +RT_USING_DFS = False +RT_USING_DFS_EFSL = False +RT_USING_DFS_ELMFAT = False +RT_USING_DFS_YAFFS2 = False + +# lwip options +RT_USING_LWIP = False + +# rtgui options +RT_USING_RTGUI = False + +# toolchains options +ARCH='arm' +CPU='lpc24xx' +TextBase='0x30000000' + +#PLATFORM = 'gcc' +#EXEC_PATH = 'd:/SourceryGCC/bin' +PLATFORM = 'armcc' +EXEC_PATH = 'd:/Keil' +BUILD = 'debug' + +if PLATFORM == 'gcc': + # toolchains + PREFIX = 'arm-none-eabi-' + CC = PREFIX + 'gcc' + AS = PREFIX + 'gcc' + AR = PREFIX + 'ar' + LINK = PREFIX + 'gcc' + TARGET_EXT = 'elf' + SIZE = PREFIX + 'size' + OBJDUMP = PREFIX + 'objdump' + OBJCPY = PREFIX + 'objcopy' + + DEVICE = ' -mcpu=arm920t' + CFLAGS = DEVICE + ' -DRT_USING_MINILIBC' + AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp' + LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=main.elf.map,-cref,-u,Reset_Handler -T mini2440_rom.ld' + + CPATH = '' + LPATH = '' + + if BUILD == 'debug': + CFLAGS += ' -O0 -gdwarf-2' + AFLAGS += ' -gdwarf-2' + else: + CFLAGS += ' -O2' + + RT_USING_MINILIBC = True + 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 DARMP' + CFLAGS = DEVICE + ' --apcs=interwork' + AFLAGS = DEVICE + LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers --list rtt-lpc2478.map --strict --scatter ".\objs\lpc2478.sct"t' + + CFLAGS += ' -I"' + EXEC_PATH + '/ARM/RV31/INC"' + CFLAGS += ' -I"' + EXEC_PATH + '/ARM/INC/Philips"' + LFLAGS += ' --libpath "' + EXEC_PATH + '/ARM/RV31/LIB"' + + EXEC_PATH += '/arm/bin40/' + + if BUILD == 'debug': + CFLAGS += ' -g -O0' + AFLAGS += ' -g' + else: + CFLAGS += ' -O2' + + RT_USING_MINILIBC = False + if RT_USING_FINSH: + LFLAGS += ' --keep __fsym_* --keep __vsym_*' + POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET' + +elif PLATFORM == 'iar': + # toolchains + CC = 'armcc' + AS = 'armasm' + AR = 'armar' + LINK = 'armlink' + + CFLAGS = '' + AFLAGS = '' + LFLAGS = '' -- GitLab