hitech_picc18.yml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. # rumor has it that this yaml file works for the standard edition of the
  2. # hitech PICC18 compiler, but not the pro version.
  3. #
  4. compiler:
  5. path: cd build && picc18
  6. source_path: '..\src\'
  7. unit_tests_path: &unit_tests_path 'tests\'
  8. build_path: &build_path 'build\'
  9. options:
  10. - --chip=18F87J10
  11. - --ide=hitide
  12. - --q #quiet please
  13. - --asmlist
  14. - --codeoffset=0
  15. - --emi=wordwrite # External memory interface protocol
  16. - --warn=0 # allow all normal warning messages
  17. - --errors=10 # Number of errors before aborting compile
  18. - --char=unsigned
  19. - -Bl # Large memory model
  20. - -G # generate symbol file
  21. - --cp=16 # 16-bit pointers
  22. - --double=24
  23. - -N255 # 255-char symbol names
  24. - --opt=none # Do not use any compiler optimziations
  25. - -c # compile only
  26. - -M
  27. includes:
  28. prefix: '-I'
  29. items:
  30. - 'c:/Projects/NexGen/Prototypes/CMockTest/src/'
  31. - 'c:/Projects/NexGen/Prototypes/CMockTest/mocks/'
  32. - 'c:/CMock/src/'
  33. - 'c:/CMock/examples/src/'
  34. - 'c:/CMock/vendor/unity/src/'
  35. - 'c:/CMock/vendor/unity/examples/helper/'
  36. - *unit_tests_path
  37. defines:
  38. prefix: '-D'
  39. items:
  40. - UNITY_INT_WIDTH=16
  41. - UNITY_POINTER_WIDTH=16
  42. - CMOCK_MEM_STATIC
  43. - CMOCK_MEM_SIZE=3000
  44. - UNITY_SUPPORT_TEST_CASES
  45. - _PICC18
  46. object_files:
  47. # prefix: '-O' # Hi-Tech doesn't want a prefix. They key off of filename .extensions, instead
  48. extension: '.obj'
  49. destination: *build_path
  50. linker:
  51. path: cd build && picc18
  52. options:
  53. - --chip=18F87J10
  54. - --ide=hitide
  55. - --cp=24 # 24-bit pointers. Is this needed for linker??
  56. - --double=24 # Is this needed for linker??
  57. - -Lw # Scan the pic87*w.lib in the lib/ of the compiler installation directory
  58. - --summary=mem,file # info listing
  59. - --summary=+psect
  60. - --summary=+hex
  61. - --output=+intel
  62. - --output=+mcof
  63. - --runtime=+init # Directs startup code to copy idata, ibigdata and ifardata psects from ROM to RAM.
  64. - --runtime=+clear # Directs startup code to clear bss, bigbss, rbss and farbss psects
  65. - --runtime=+clib # link in the c-runtime
  66. - --runtime=+keep # Keep the generated startup src after its obj is linked
  67. - -G # Generate src-level symbol file
  68. - -MIWasTheLastToBuild.map
  69. - --warn=0 # allow all normal warning messages
  70. - -Bl # Large memory model (probably not needed for linking)
  71. includes:
  72. prefix: '-I'
  73. object_files:
  74. path: *build_path
  75. extension: '.obj'
  76. bin_files:
  77. prefix: '-O'
  78. extension: '.hex'
  79. destination: *build_path
  80. simulator:
  81. path:
  82. pre_support:
  83. - 'java -client -jar ' # note space
  84. - ['C:\Program Files\HI-TECH Software\HI-TIDE\3.15\lib\', 'simpic18.jar']
  85. - 18F87J10
  86. post_support:
  87. :cmock:
  88. :plugins: []
  89. :includes:
  90. - Types.h
  91. :suite_teardown: |
  92. if (num_failures)
  93. _FAILED_TEST();
  94. else
  95. _PASSED_TESTS();
  96. return 0;
  97. colour: true