rtconfig.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import os
  2. # toolchains options
  3. ARCH='ppc'
  4. CPU='ppc405'
  5. CROSS_TOOL='gcc'
  6. TextBase = '0x00000000'
  7. PLATFORM = 'gcc'
  8. EXEC_PATH = 'C:/Program Files/CodeSourcery/Sourcery G++ Lite/bin'
  9. BUILD = 'debug'
  10. if os.getenv('RTT_EXEC_PATH'):
  11. EXEC_PATH = os.getenv('RTT_EXEC_PATH')
  12. if PLATFORM == 'gcc':
  13. # toolchains
  14. PREFIX = 'powerpc-eabi-'
  15. CC = PREFIX + 'gcc'
  16. CXX = PREFIX + 'g++'
  17. AS = PREFIX + 'gcc'
  18. AR = PREFIX + 'ar'
  19. LINK = PREFIX + 'gcc'
  20. TARGET_EXT = 'elf'
  21. SIZE = PREFIX + 'size'
  22. OBJDUMP = PREFIX + 'objdump'
  23. OBJCPY = PREFIX + 'objcopy'
  24. DEVICE = ' -mcpu=405 -mno-multiple -mno-string -mno-update -fno-exceptions -fno-builtin -msoft-float'
  25. CFLAGS = DEVICE + ' -D__KERNEL__'
  26. AFLAGS = '-D__ASSEMBLY__ -fno-exceptions -fno-builtin -mregnames -c -Wall -Xassembler -m405 -msoft-float -ffunction-sections'
  27. LFLAGS = DEVICE + ' -Wl,--gc-sections,--cref,-Map=rtthread.map -T taihu.lds' + ' -Ttext=' + TextBase
  28. CPATH = ''
  29. LPATH = ''
  30. if BUILD == 'debug':
  31. CFLAGS += ' -O0 -gdwarf-2'
  32. AFLAGS += ' -gdwarf-2'
  33. else:
  34. CFLAGS += ' -O2'
  35. DASM_ACTION = OBJDUMP + ' -d rtthread-taihu.elf > rtt.asm\n'
  36. POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' # + DASM_ACTION