text: import os
  
  # toolchains options
  ARCH = 'arm'
  CPU  = 'AT91SAM7X'
  
  CROSS_TOOL = 'gcc'
  
  if os.getenv('RTT_CC'):
  	CROSS_TOOL = os.getenv('RTT_CC')
  
  if CROSS_TOOL == 'gcc':
  	PLATFORM 	= 'gcc'
  	EXEC_PATH 	= 'C:/Program Files/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin'
  elif CROSS_TOOL == 'keil':
  	PLATFORM 	= 'armcc'
  	EXEC_PATH 	= 'C:/Keil'
  elif CROSS_TOOL == 'iar':
      print '================ERROR============================'
      print 'Not support iar yet!'
      print '================================================='
      exit(0)
  
  if os.getenv('RTT_EXEC_PATH'):
  	EXEC_PATH = os.getenv('RTT_EXEC_PATH')
  
  BUILD = 'debug'
  
  if PLATFORM == 'gcc':
      # toolchains
      PREFIX = 'arm-none-eabi-'
      CC = PREFIX + 'gcc'
      CXX = PREFIX + 'g++'
      AS = PREFIX + 'gcc'
      AR = PREFIX + 'ar'
      LINK = PREFIX + 'gcc'
      TARGET_EXT = 'axf'
      SIZE = PREFIX + 'size'
      OBJDUMP = PREFIX + 'objdump'
      OBJCPY = PREFIX + 'objcopy'
  
      DEVICE = ' -mcpu=arm7tdmi'
      CFLAGS = DEVICE
      AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp'
      LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=sam7x_rom_gcc.map,-cref,-u,_start -T sam7x_rom.ld'
      CPATH = ''
      LPATH = ''
  
      if BUILD == 'debug':
          CFLAGS += ' -O0 -gstabs+ -Wall'
          AFLAGS += ' -gstabs+'
      else:
          CFLAGS += ' -O2'
  
      POST_ACTION = OBJCPY + ' -O ihex $TARGET rtthread-sam7x.hex\n' + SIZE + ' $TARGET \n'
  
  elif PLATFORM == 'armcc':
      # toolchains
      CC = 'armcc'
      CXX = 'armcc'    
      AS = 'armasm'
      AR = 'armar'
      LINK = 'armlink'
      TARGET_EXT = 'axf'
  
      DEVICE = ' --device DARMATS'
      CFLAGS = DEVICE + ' --apcs=interwork'
      AFLAGS = DEVICE
      LFLAGS = DEVICE + ' --strict --info sizes --info totals --info unused --info veneers --list sam7x_rom_armcc.map --scatter sam7x_rom.sct'
  
      CFLAGS += ' -I"' + EXEC_PATH + '/ARM/RV31/INC"'
      LFLAGS += ' --libpath "' + EXEC_PATH + '/ARM/RV31/LIB"'
  
      EXEC_PATH += '/arm/bin40/'
  
      if BUILD == 'debug':
          CFLAGS += ' -g -O0'
          AFLAGS += ' -g'
      else:
          CFLAGS += ' -O2'
  
      POST_ACTION = 'fromelf --i32 $TARGET --output rtthread-sam7x.hex \nfromelf -z $TARGET'
  
  elif PLATFORM == 'iar':
      # toolchains
      CC = 'armcc'
      AS = 'armasm'
      AR = 'armar'
      LINK = 'armlink'
  
      CFLAGS = ''
      AFLAGS = ''
      LFLAGS = ''
  