1 2 3 4 5 6 7 8 9 10 11
12 13 14 15
16
17 /*!
18 * ======== C64T ========
19 * TI C64T little endian target -- for ELF
20 */
21 metaonly module C64T inherits ITarget {
22 override readonly config string name = "C64T";
23 override readonly config string suffix = "e64T";
24 override readonly config string isa = "64T";
25 override readonly config xdc.bld.ITarget.Model model = {
26 endian: "little"
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
33 override readonly config ti.targets.ITarget.Command ar = {
34 cmd: "ar6x",
35 opts: "rq"
36 };
37
38 override readonly config ti.targets.ITarget.Command cc = {
39 cmd: "cl6x -c",
40 opts: "-mv=tesla --abi=elfabi"
41 };
42
43 override readonly config ti.targets.ITarget.Command vers = {
44 cmd: "cl6x",
45 opts: "-version"
46 };
47
48 override readonly config ti.targets.ITarget.Command asm = {
49 cmd: "cl6x -c",
50 opts: "-mv=tesla --abi=elfabi"
51 };
52
53 override readonly config ti.targets.ITarget.Command lnk = {
54 cmd: "lnk6x",
55 opts: "--abi=elfabi"
56 };
57
58 /*!
59 * ======== asmOpts ========
60 * User configurable assembler options.
61 *
62 * Defaults:
63 * @p(dlist)
64 * -`-qq`
65 * super quiet mode
66 */
67 override config ti.targets.ITarget.Options asmOpts = {
68 prefix: "-qq",
69 suffix: ""
70 };
71
72 /*!
73 * ======== ccOpts ========
74 * User configurable compiler options.
75 *
76 * Defaults:
77 * @p(dlist)
78 * -`-qq`
79 * super quiet mode
80 * -`-pdsw225`
81 * generate a warning for implicitly declared functions; i.e.,
82 * functions without prototypes
83 */
84 override config ti.targets.ITarget.Options ccOpts = {
85 prefix: "-qq -pdsw225",
86 suffix: ""
87 };
88
89 /*!
90 * ======== ccConfigOpts ========
91 * User configurable compiler options for the generated config C file.
92 *
93 * -mo places all functions into subsections
94 * --no_compress helps with compile time with no real difference in
95 * code size since the generated config.c is mostly data and small
96 * function stubs.
97 */
98 override config ti.targets.ITarget.Options ccConfigOpts = {
99 prefix: "$(ccOpts.prefix) -mo --no_compress",
100 suffix: "$(ccOpts.suffix)"
101 };
102
103 /*!
104 * ======== lnkOpts ========
105 * User configurable linker options.
106 *
107 * Defaults:
108 * @p(dlist)
109 * -`-w`
110 * Display linker warnings
111 * -`-q`
112 * Quite run
113 * -`-u`
114 * Place unresolved external symbol into symbol table
115 * -`-c`
116 * ROM autoinitialization model
117 * -`-m`
118 * create a map file
119 * -`-l`
120 * archive library file as linker input
121 */
122 override config ti.targets.ITarget.Options lnkOpts = {
123 prefix: "-w -q -u _c_int00",
124 suffix: "-c -m $(XDCCFGDIR)/$@.map -l $(rootDir)/lib/rtstesla_le_elf.lib"
125 };
126
127 override config string includeOpts = "-I$(rootDir)/include";
128
129 override readonly config xdc.bld.ITarget.StdTypes stdTypes =
130 ti.targets.elf.C64P.stdTypes;
131
132 override readonly config Int bitsPerChar =
133 ti.targets.C62.bitsPerChar;
134 }
135 136 137
138