1import os 2# toolchains options 3ARCH = 'arm' 4CPU = 'dm36x' 5TextBase = '0x80000000' 6 7CROSS_TOOL = 'gcc' 8 9if os.getenv('RTT_CC'): 10 CROSS_TOOL = os.getenv('RTT_CC') 11 12if CROSS_TOOL == 'gcc': 13 PLATFORM = 'gcc' 14 #EXEC_PATH = '/opt/arm-2010q1/bin' 15 EXEC_PATH = r'D:\arm-2013.11\bin' 16elif CROSS_TOOL == 'keil': 17 PLATFORM = 'armcc' 18 EXEC_PATH = 'E:/Keil' 19BUILD = 'release' 20 21if PLATFORM == 'gcc': 22 # toolchains 23 PREFIX = 'arm-none-eabi-' 24 CC = PREFIX + 'gcc' 25 AS = PREFIX + 'gcc' 26 AR = PREFIX + 'ar' 27 LINK = PREFIX + 'gcc' 28 TARGET_EXT = 'elf' 29 SIZE = PREFIX + 'size' 30 OBJDUMP = PREFIX + 'objdump' 31 OBJCPY = PREFIX + 'objcopy' 32 33 DEVICE = ' -mcpu=arm926ej-s' 34 CFLAGS = DEVICE 35 AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp' + ' -DTEXT_BASE=' + TextBase 36 LFLAGS = DEVICE + ' -nostartfiles -Wl,--gc-sections,-Map=rtthread_dm365.map,-cref,-u,_start -T dm365_ram.ld' + ' -Ttext ' + TextBase 37 38 CPATH = '' 39 LPATH = '' 40 41 if BUILD == 'debug': 42 CFLAGS += ' -O0 -gdwarf-2' 43 AFLAGS += ' -gdwarf-2' 44 else: 45 CFLAGS += ' -O2' 46 47 POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' 48 49elif PLATFORM == 'armcc': 50 # toolchains 51 CC = 'armcc' 52 AS = 'armasm' 53 AR = 'armar' 54 LINK = 'armlink' 55 TARGET_EXT = 'axf' 56 57 DEVICE = ' --device DARMSS9' 58 CFLAGS = DEVICE + ' --apcs=interwork --diag_suppress=870' 59 AFLAGS = DEVICE 60 LFLAGS = DEVICE + ' --strict --info sizes --info totals --info unused --info veneers --list rtthread-mini2440.map --ro-base 0x30000000 --entry Entry_Point --first Entry_Point' 61 62 CFLAGS += ' -I"' + EXEC_PATH + '/ARM/RV31/INC"' 63 LFLAGS += ' --libpath "' + EXEC_PATH + '/ARM/RV31/LIB"' 64 65 EXEC_PATH += '/arm/bin40/' 66 67 if BUILD == 'debug': 68 CFLAGS += ' -g -O0' 69 AFLAGS += ' -g' 70 else: 71 CFLAGS += ' -O2' 72 73 POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET' 74 75elif PLATFORM == 'iccarm': 76 # toolchains 77 CC = 'armcc' 78 AS = 'armasm' 79 AR = 'armar' 80 LINK = 'armlink' 81 82 CFLAGS = '' 83 AFLAGS = '' 84 LFLAGS = '' 85