1
0

rtconfig.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import os
  2. # toolchains options
  3. # CPUNAME = e906/e906f/e906fd/e906p/e906fp/e906fdp
  4. # CPUNAME = e907/e907f/e907fd/e907p/e907fp/e907fdp
  5. ARCH ='risc-v'
  6. CPU ='e9xx'
  7. CPUNAME ='e906fdp'
  8. VENDOR ='t-head'
  9. CROSS_TOOL ='gcc'
  10. if os.getenv('RTT_CC'):
  11. CROSS_TOOL = os.getenv('RTT_CC')
  12. if CROSS_TOOL == 'gcc':
  13. PLATFORM = 'gcc'
  14. EXEC_PATH = r'/home/chenzx/.thead/riscv64-elf-x86_64-2.0.1/bin/'
  15. else:
  16. print ('Please make sure your toolchains is GNU GCC!')
  17. exit(0)
  18. if os.getenv('RTT_EXEC_PATH'):
  19. EXEC_PATH = os.getenv('RTT_EXEC_PATH')
  20. # BUILD = 'debug'
  21. BUILD = 'release'
  22. if PLATFORM == 'gcc':
  23. # toolchains
  24. PREFIX = 'riscv64-unknown-elf-'
  25. CC = PREFIX + 'gcc'
  26. CXX = PREFIX + 'g++'
  27. AS = PREFIX + 'gcc'
  28. AR = PREFIX + 'ar'
  29. LINK = PREFIX + 'g++'
  30. TARGET_EXT = 'elf'
  31. SIZE = PREFIX + 'size'
  32. OBJDUMP = PREFIX + 'objdump'
  33. OBJCPY = PREFIX + 'objcopy'
  34. STRIP = PREFIX + 'strip'
  35. if CPUNAME == 'e906fdp' or CPUNAME == 'e907fdp':
  36. DEVICE = ' -march=rv32imafdcpzp64_xtheade -mabi=ilp32d'
  37. if CPUNAME == 'e906fp' or CPUNAME == 'e907fp':
  38. DEVICE = ' -march=rv32imafcpzp64_xtheade -mabi=ilp32f'
  39. if CPUNAME == 'e906p' or CPUNAME == 'e907p':
  40. DEVICE = ' -march=rv32imacpzp64_xtheade -mabi=ilp32'
  41. if CPUNAME == 'e906fd' or CPUNAME == 'e907fd':
  42. DEVICE = ' -march=rv32imafdc_xtheade -mabi=ilp32d'
  43. if CPUNAME == 'e906f' or CPUNAME == 'e907f':
  44. DEVICE = ' -march=rv32imafc_xtheade -mabi=ilp32f'
  45. if CPUNAME == 'e906' or CPUNAME == 'e907':
  46. DEVICE = ' -march=rv32imac_xtheade -mabi=ilp32'
  47. CFLAGS = DEVICE + ' -c -g -ffunction-sections -fdata-sections -Wall -mcmodel=medlow'
  48. AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp'
  49. LFLAGS = DEVICE + ' -nostartfiles -Wl,--no-whole-archive -T gcc_csky.ld -lm -lc -lgcc -Wl,-gc-sections -Wl,-zmax-page-size=1024 -Wl,-Map=rtt.map'
  50. CPATH = ''
  51. LPATH = ''
  52. if BUILD == 'debug':
  53. CFLAGS += ' -O0 -gdwarf-2'
  54. AFLAGS += ' -gdwarf-2'
  55. else:
  56. CFLAGS += ' -O2 -g2'
  57. CXXFLAGS = CFLAGS
  58. DUMP_ACTION = OBJDUMP + ' -D -S $TARGET > rtt.asm\n'
  59. POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'