1import os 2 3# toolchains options 4ARCH ='armv8-a' 5CPU ='cortex-a53' 6CROSS_TOOL ='gcc' 7 8if os.getenv('RTT_ROOT'): 9 RTT_ROOT = os.getenv('RTT_ROOT') 10else: 11 RTT_ROOT = r'../../..' 12 13if os.getenv('RTT_CC'): 14 CROSS_TOOL = os.getenv('RTT_CC') 15 16PLATFORM = 'gcc' 17EXEC_PATH = r'/usr/bin' 18if os.getenv('RTT_EXEC_PATH'): 19 EXEC_PATH = os.getenv('RTT_EXEC_PATH') 20 21BUILD = 'debug' 22 23if PLATFORM == 'gcc': 24 # toolchains 25 PREFIX = 'arm-none-eabi-' 26 CC = PREFIX + 'gcc' 27 CXX = PREFIX + 'g++' 28 AS = PREFIX + 'gcc' 29 AR = PREFIX + 'ar' 30 LINK = PREFIX + 'gcc' 31 TARGET_EXT = 'elf' 32 SIZE = PREFIX + 'size' 33 OBJDUMP = PREFIX + 'objdump' 34 OBJCPY = PREFIX + 'objcopy' 35 36 DEVICE = ' -mfloat-abi=softfp -march=armv8-a -mtune=cortex-a53 -ftree-vectorize -ffast-math' 37 CFLAGS = DEVICE + ' -Wall' 38 AFLAGS = ' -c' + ' -march=armv8-a -x assembler-with-cpp -D__ASSEMBLY__' 39 LFLAGS = DEVICE + ' -nostartfiles -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,system_vectors -T link.lds' 40 CPATH = '' 41 LPATH = '' 42 43 if BUILD == 'debug': 44 CFLAGS += ' -O0 -gdwarf-2' 45 AFLAGS += ' -gdwarf-2' 46 else: 47 CFLAGS += ' -O2' 48 49 CXXFLAGS = CFLAGS 50 51DUMP_ACTION = OBJDUMP + ' -D -S $TARGET > rtt.asm\n' 52POST_ACTION = OBJCPY + ' -O binary $TARGET kernel7.img\n' + SIZE + ' $TARGET \n' 53