1import os 2 3# toolchains options 4ARCH ='arm' 5CPU ='cortex-a' 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' 18 19BUILD = 'debug' 20 21if os.getenv('RTT_EXEC_PATH'): 22 EXEC_PATH = os.getenv('RTT_EXEC_PATH') 23 24if PLATFORM == 'gcc': 25 # toolchains 26 # PREFIX = 'arm-none-eabi-' 27 PREFIX = os.getenv('RTT_CC_PREFIX') or 'arm-none-eabi-' 28 CC = PREFIX + 'gcc' 29 CXX = PREFIX + 'g++' 30 AS = PREFIX + 'gcc' 31 AR = PREFIX + 'ar' 32 LINK = PREFIX + 'gcc' 33 TARGET_EXT = 'elf' 34 SIZE = PREFIX + 'size' 35 OBJDUMP = PREFIX + 'objdump' 36 OBJCPY = PREFIX + 'objcopy' 37 38 DEVICE = ' -march=armv8-a -mtune=cortex-a72' 39 CFLAGS = DEVICE + ' -Wall -Wno-cpp' 40 AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp -D__ASSEMBLY__' 41 LFLAGS = DEVICE + ' -nostartfiles -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,system_vectors -T link.lds' 42 CPATH = '' 43 LPATH = '' 44 45 if BUILD == 'debug': 46 CFLAGS += ' -O0 -gdwarf-2' 47 AFLAGS += ' -gdwarf-2' 48 else: 49 CFLAGS += ' -O2' 50 51 CXXFLAGS = CFLAGS 52 53DUMP_ACTION = OBJDUMP + ' -D -S $TARGET > rtt.asm\n' 54POST_ACTION = OBJCPY + ' -O binary $TARGET kernel7.img\n' + SIZE + ' $TARGET \n' 55