1 2 3 4 5 6 7 8 9 10 11
12
13 14 15 16
17
18 import xdc.bld.ITarget2;
19
20 /*!
21 * ======== C64T_big_endian ========
22 * TI C64T big endian
23 */
24 metaonly module C64T_big_endian inherits ti.targets.ITarget {
25 override readonly config string name = "C64T_big_endian";
26 override readonly config string suffix = "64Te";
27 override readonly config string isa = "64T";
28 override readonly config xdc.bld.ITarget.Model model = {
29 endian: "big"
30 };
31 override readonly config xdc.bld.ITarget.Module base = ti.targets.C62;
32
33 override readonly config string rts = "ti.targets.rts6000";
34 override config string platform = "ti.platforms.sdp4430";
35 override readonly config string stdInclude = "ti/targets/std.h";
36
37 override readonly config ITarget2.Command ar = {
38 cmd: "ar6x",
39 opts: "rq"
40 };
41
42 override readonly config ITarget2.Command cc = {
43 cmd: "cl6x -c",
44 opts: "-me -mv=tesla --abi=coffabi"
45 };
46
47 override readonly config ITarget2.Command vers = {
48 cmd: "cl6x",
49 opts: "--compiler_revision"
50 };
51
52 override readonly config ITarget2.Command asm = {
53 cmd: "cl6x -c",
54 opts: "-me -mv=tesla --abi=coffabi"
55 };
56
57 override readonly config ITarget2.Command lnk = {
58 cmd: "lnk6x",
59 opts: "--abi=coffabi"
60 };
61
62 override config xdc.bld.ITarget.OptionSet profiles[string] = [
63 ["debug", {
64 compileOpts: {
65 copts: "--symdebug:dwarf",
66 defs: "-D_DEBUG_=1",
67 }
68 }],
69 ["release", {
70 compileOpts: {
71 copts: "-O2",
72 },
73 }],
74 ["profile", {
75 compileOpts: {
76 copts: "--gen_profile_info",
77 },
78 }],
79 ["coverage", {
80 compileOpts: {
81 copts: "--gen_profile_info",
82 },
83 }],
84 ["whole_program", {
85 compileOpts: {
86 copts: "-oe -O2 -mo",
87 },
88 }],
89 ["whole_program_debug", {
90 compileOpts: {
91 copts: "-oe --symdebug:dwarf -mo",
92 },
93 }],
94 ];
95
96 /*!
97 * ======== asmOpts ========
98 * User configurable assembler options.
99 *
100 * Defaults:
101 * @p(dlist)
102 * -`-qq`
103 * super quiet mode
104 */
105 override config ITarget2.Options asmOpts = {
106 prefix: "-qq",
107 suffix: ""
108 };
109
110 /*!
111 * ======== ccOpts ========
112 * User configurable compiler options.
113 *
114 * Defaults:
115 * @p(dlist)
116 * -`-qq`
117 * super quiet mode
118 * -`-pdsw225`
119 * generate a warning for implicitly declared functions; i.e.,
120 * functions without prototypes
121 */
122 override config ITarget2.Options ccOpts = {
123 prefix: "-qq -pdsw225",
124 suffix: ""
125 };
126
127 /*!
128 * ======== ccConfigOpts ========
129 * User configurable compiler options for the generated config C file.
130 *
131 * -mo places all functions into subsections
132 * --no_compress helps with compile time with no real difference in
133 * code size since the generated config.c is mostly data and small
134 * function stubs.
135 */
136 override config ITarget2.Options ccConfigOpts = {
137 prefix: "$(ccOpts.prefix) -mo --no_compress",
138 suffix: "$(ccOpts.suffix)"
139 };
140
141 /*!
142 * ======== lnkOpts ========
143 * User configurable linker options.
144 *
145 * Defaults:
146 * @p(dlist)
147 * -`-w`
148 * Display linker warnings
149 * -`-q`
150 * Quite run
151 * -`-u`
152 * Place unresolved external symbol into symbol table
153 * -`-c`
154 * ROM autoinitialization model
155 * -`-m`
156 * create a map file
157 * -`-l`
158 * archive library file as linker input
159 */
160 override config ITarget2.Options lnkOpts = {
161 prefix: "-w -q -u _c_int00",
162 suffix: "-c -m $(XDCCFGDIR)/$@.map -l $(rootDir)/lib/rtstesla_be_coff.lib"
163 };
164
165 override config string includeOpts = "-I$(rootDir)/include";
166
167 final override readonly config string sectMap[string] =
168 ti.targets.C62.sectMap;
169
170 override readonly config xdc.bld.ITarget.StdTypes stdTypes =
171 ti.targets.C62.stdTypes;
172
173 override readonly config Int bitsPerChar =
174 ti.targets.C62.bitsPerChar;
175 }
176 177 178 179
180