rtconfig.py 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. # toolchains options
  2. ARCH = 'm16c'
  3. CPU = 'm16c62p'
  4. CROSS_TOOL = 'iar'
  5. if CROSS_TOOL == 'gcc':
  6. PLATFORM = 'gcc'
  7. EXEC_PATH = 'E:/Program Files/CodeSourcery/Sourcery G++ Lite/bin'
  8. elif CROSS_TOOL == 'iar':
  9. PLATFORM = 'iar'
  10. IAR_PATH = 'C:/Program Files/IAR Systems/Embedded Workbench Evaluation 6.0'
  11. # EXEC_PATH = 'C:/Program Files/IAR Systems/Embedded Workbench Evaluation 6.0'
  12. BUILD = 'debug'
  13. if PLATFORM == 'gcc':
  14. # toolchains
  15. PREFIX = 'arm-none-eabi-'
  16. CC = PREFIX + 'gcc'
  17. AS = PREFIX + 'gcc'
  18. AR = PREFIX + 'ar'
  19. LINK = PREFIX + 'gcc'
  20. TARGET_EXT = 'axf'
  21. SIZE = PREFIX + 'size'
  22. OBJDUMP = PREFIX + 'objdump'
  23. OBJCPY = PREFIX + 'objcopy'
  24. DEVICE = ' -mcpu=arm920t'
  25. CFLAGS = DEVICE
  26. AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp' + ' -DTEXT_BASE=' + TextBase
  27. LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread_mini2440.map,-cref,-u,_start -T mini2440_ram.ld' + ' -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. POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'
  36. elif PLATFORM == 'iar':
  37. # toolchains
  38. CC = 'iccm16c'
  39. AS = 'am16c'
  40. AR = 'xar'
  41. LINK = 'xlink'
  42. TARGET_EXT = 'mot'
  43. DEVICE = '--cpu M16C'
  44. EXEC_PATH = IAR_PATH + '/m16c/bin'
  45. AFLAGS = '-s+'
  46. # AFLAGS += ' -M<>'
  47. AFLAGS += ' -w+'
  48. AFLAGS += ' -r'
  49. AFLAGS += ' -I"' + IAR_PATH + '/m16c/INC"'
  50. LFLAGS = '-xms'
  51. LFLAGS += ' -I"' + IAR_PATH + '/m16c/LIB"'
  52. LFLAGS += ' -rt'
  53. LFLAGS += ' -s __program_start'
  54. LFLAGS += ' -D_CSTACK_SIZE=80'
  55. LFLAGS += ' -D_ISTACK_SIZE=40'
  56. LFLAGS += ' -D_DATA16_HEAP_SIZE=1000'
  57. LFLAGS += ' -D_FAR_HEAP_SIZE=400'
  58. LFLAGS += ' -D_DATA20_HEAP_SIZE=400'
  59. LFLAGS += ' "' + IAR_PATH + '/m16c/LIB/CLIB/clm16cfnffwc.r34"'
  60. LFLAGS += ' -e_small_write=_formatted_write'
  61. LFLAGS += ' -e_medium_read=_formatted_read'
  62. CFLAGS = DEVICE
  63. CFLAGS += ' --data_model=far'
  64. CFLAGS += ' --calling_convention=normal'
  65. CFLAGS += ' --variable_data=near'
  66. CFLAGS += ' --constant_data=far'
  67. CFLAGS += ' --code_segment=CODE'
  68. CFLAGS += ' --debug'
  69. CFLAGS += ' -e'
  70. CFLAGS += ' --align_func 1'
  71. CFLAGS += ' -I"' + IAR_PATH + '/m16c/INC"'
  72. CFLAGS += ' -I"' + IAR_PATH + '/m16c/INC/CLIB"'
  73. CFLAGS += ' -Ol'
  74. CFLAGS += ' --no_cse'
  75. CFLAGS += ' --no_unroll'
  76. CFLAGS += ' --no_inline'
  77. CFLAGS += ' --no_code_motion'
  78. CFLAGS += ' --no_tbaa'
  79. POST_ACTION = ''