1import os 2 3ARCH = 'risc-v' 4CPU = 'e310' 5VENDOR = 'sifive' 6# toolchains options 7CROSS_TOOL = 'gcc' 8 9#------- toolchains path ------------------------------------------------------- 10if os.getenv('RTT_CC'): 11 CROSS_TOOL = os.getenv('RTT_CC') 12 13if CROSS_TOOL == 'gcc': 14 PLATFORM = 'gcc' 15 EXEC_PATH = r'/opt/FreedomStudio/SiFive/riscv64-unknown-elf-gcc-8.3.0-2019.08.0/bin/' 16else: 17 print('Please make sure your toolchains is GNU GCC!') 18 exit(0) 19 20if os.getenv('RTT_EXEC_PATH'): 21 EXEC_PATH = os.getenv('RTT_EXEC_PATH') 22 23BUILD = 'debug' 24#BUILD = 'release' 25 26CORE = 'risc-v' 27MAP_FILE = 'rtthread.map' 28LINK_FILE = './freedom-e-sdk/bsp/env/freedom-e300-hifive1/flash.lds' 29TARGET_NAME = 'rtthread.bin' 30TARGET_NAME_HEX = 'rtthread.hex' 31 32#------- GCC settings ---------------------------------------------------------- 33if PLATFORM == 'gcc': 34 # toolchains 35 PREFIX = 'riscv64-unknown-elf-' 36 CC = PREFIX + 'gcc' 37 CXX= PREFIX + 'g++' 38 AS = PREFIX + 'gcc' 39 AR = PREFIX + 'ar' 40 LINK = PREFIX + 'gcc' 41 TARGET_EXT = 'elf' 42 SIZE = PREFIX + 'size' 43 OBJDUMP = PREFIX + 'objdump' 44 OBJCPY = PREFIX + 'objcopy' 45 46 DEVICE = ' -march=rv32imac -mabi=ilp32 -DUSE_PLIC -DUSE_M_TIME -DNO_INIT -mcmodel=medany -msmall-data-limit=8 -L. -nostartfiles -lc ' 47 CFLAGS = DEVICE 48 CFLAGS += ' -save-temps=obj' 49 AFLAGS = '-c'+ DEVICE + ' -x assembler-with-cpp' 50 AFLAGS += ' -Iplatform -Ifreedom-e-sdk/bsp/include -Ifreedom-e-sdk/bsp/env' 51 LFLAGS = DEVICE 52 LFLAGS += ' -Wl,--gc-sections,-cref,-Map=' + MAP_FILE 53 LFLAGS += ' -T ' + LINK_FILE 54 LFLAGS += ' -Wl,-wrap=memset' 55 56 CPATH = '' 57 LPATH = '' 58 59 if BUILD == 'debug': 60 CFLAGS += ' -O0 -g3' 61 AFLAGS += ' -g3' 62 else: 63 CFLAGS += ' -O2' 64 65 CXXFLAGS = CFLAGS 66 67 POST_ACTION = OBJCPY + ' -O binary $TARGET ' + TARGET_NAME + '\n' 68 POST_ACTION += OBJCPY + ' -O ihex $TARGET ' + TARGET_NAME_HEX + '\n' 69 #POST_ACTION += OBJCPY + ' -I binary -O ihex ' + TARGET_NAME + ' ' + TARGET_NAME_HEX + '\n' 70 POST_ACTION += SIZE + ' $TARGET\n' 71