• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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#
4compiler:
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
51linker:
52  path: cd build && picc18
53  options:
54    - --chip=18F87J10
55    - --ide=hitide
56    - --cp=24 # 24-bit pointers. Is this needed for linker??
57    - --double=24 # Is this needed for linker??
58    - -Lw # Scan the pic87*w.lib in the lib/ of the compiler installation directory
59    - --summary=mem,file # info listing
60    - --summary=+psect
61    - --summary=+hex
62    - --output=+intel
63    - --output=+mcof
64    - --runtime=+init # Directs startup code to copy idata, ibigdata and ifardata psects from ROM to RAM.
65    - --runtime=+clear # Directs startup code to clear bss, bigbss, rbss and farbss psects
66    - --runtime=+clib # link in the c-runtime
67    - --runtime=+keep # Keep the generated startup src after its obj is linked
68    - -G # Generate src-level symbol file
69    - -MIWasTheLastToBuild.map
70    - --warn=0 # allow all normal warning messages
71    - -Bl # Large memory model (probably not needed for linking)
72  includes:
73    prefix: '-I'
74    object_files:
75      path: *build_path
76      extension: '.obj'
77    bin_files:
78      prefix: '-O'
79      extension: '.hex'
80      destination: *build_path
81
82simulator:
83  path:
84  pre_support:
85    - 'java -client -jar ' # note space
86    - ['C:\Program Files\HI-TECH Software\HI-TIDE\3.15\lib\', 'simpic18.jar']
87    - 18F87J10
88  post_support:
89
90:cmock:
91  :plugins: []
92  :includes:
93    - Types.h
94  :suite_teardown: |
95    if (num_failures)
96      _FAILED_TEST();
97    else
98      _PASSED_TESTS();
99    return 0;
100
101colour: true
102