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