1import os 2 3# CPU options 4ARCH='mips' 5CPU ='gs232' 6 7# toolchains options 8CROSS_TOOL = 'gcc' 9 10if os.getenv('RTT_CC'): 11 CROSS_TOOL = os.getenv('RTT_CC') 12 13if CROSS_TOOL == 'gcc': 14 PLATFORM = 'gcc' 15 EXEC_PATH = "/opt/mips-2016.05/bin" 16# EXEC_PATH = r'D:\mgc\embedded\codebench\bin' 17else: 18 print('================ERROR===========================') 19 print('Not support %s yet!' % CROSS_TOOL) 20 print('=================================================') 21 exit(0) 22 23if os.getenv('RTT_EXEC_PATH'): 24 EXEC_PATH = os.getenv('RTT_EXEC_PATH') 25 26BUILD = 'debug' 27 28# don't use loongson company's cross-compilation tool chain to compile the RT-Thread 29# must use the cross-compilation tool chain that RT-Thread recommand 30# download: https://coding.net/u/bernard/p/rtthread_tools/git/blob/master/GCC_Toolchains.md 31PREFIX = 'mips-sde-elf-' 32CC = PREFIX + 'gcc' 33AS = PREFIX + 'gcc' 34AR = PREFIX + 'ar' 35LINK = PREFIX + 'gcc' 36TARGET_EXT = 'elf' 37SIZE = PREFIX + 'size' 38OBJDUMP = PREFIX + 'objdump' 39OBJCPY = PREFIX + 'objcopy' 40READELF = PREFIX + 'readelf' 41 42DEVICE = ' -mips32 -msoft-float -mfp32' 43CFLAGS = DEVICE + ' -std=c99 -EL -G0 -mno-abicalls -fno-pic -fno-builtin -fno-exceptions -ffunction-sections -fomit-frame-pointer' 44AFLAGS = ' -c' + DEVICE + ' -EL -fno-pic -fno-builtin -mno-abicalls -x assembler-with-cpp' 45LFLAGS = DEVICE + ' -nostartfiles -EL -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,Reset_Handler -T ls1c_ram.lds' 46 47CPATH = '' 48LPATH = '' 49 50if BUILD == 'debug': 51 CFLAGS += ' -O0 -gdwarf-2' 52 AFLAGS += ' -gdwarf-2' 53else: 54 CFLAGS += ' -O2' 55 56DUMP_ACTION = OBJDUMP + ' -D -S $TARGET > rtt.asm\n' 57READELF_ACTION = READELF + ' -a $TARGET > rtt.map\n' 58POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' 59