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