rtconfig.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import os
  2. import sys
  3. import re
  4. # toolchains options
  5. ARCH = 'arm'
  6. CPU = 'armv6'
  7. OUTPUT_NAME = 'rtthread'
  8. CROSS_TOOL = 'gcc' # we use gcc compiler always
  9. PLATFORM = 'gcc'
  10. LD_NAME = 'link'
  11. EXEC_PATH = r'D:\arm-2013.11\bin'
  12. if os.getenv('RTT_EXEC_PATH'):
  13. EXEC_PATH = os.getenv('RTT_EXEC_PATH')
  14. BUILD = 'release'
  15. if PLATFORM == 'gcc':
  16. # toolchains
  17. PREFIX = 'arm-none-eabi-'
  18. CC = PREFIX + 'gcc'
  19. CXX = PREFIX + 'g++'
  20. AS = PREFIX + 'gcc'
  21. AR = PREFIX + 'ar'
  22. LINK = PREFIX + 'gcc'
  23. TARGET_EXT = '.elf'
  24. SIZE = PREFIX + 'size'
  25. OBJDUMP = PREFIX + 'objdump'
  26. OBJCPY = PREFIX + 'objcopy'
  27. DEVICE = ' -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=soft'
  28. CFLAGS = DEVICE + ' -mno-unaligned-access'
  29. AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp -D__ASSEMBLY__'
  30. LFLAGS = DEVICE + ' -nostartfiles -Wl,--gc-sections,-Map='+ OUTPUT_NAME +'.map,-cref,-u,_start -T' + LD_NAME +'.ld'
  31. CPATH = ''
  32. LPATH = ''
  33. if BUILD == 'debug':
  34. CFLAGS += ' -O0 -gdwarf-2 '
  35. AFLAGS += ' -gdwarf-2'
  36. else:
  37. CFLAGS += ' -O2'
  38. CXXFLAGS = CFLAGS
  39. POST_ACTION = OBJCPY + ' -O binary $TARGET '+ OUTPUT_NAME +'.bin\n' + SIZE + ' $TARGET \n'