1 2 3 4 5 6 7 8 9 10 11
12 13 14 15
16
17 /*!
18 * ======== C55_large ========
19 * TI C55 large model target
20 */
21 metaonly module C55_large inherits ti.targets.ITarget {
22 override readonly config string name = "C55_large";
23 override readonly config string suffix = "55L";
24 override readonly config string isa = "55";
25 override readonly config xdc.bld.ITarget.Model model= {
26 endian: "big",
27 dataModel: "large"
28 };
29 override readonly config string rts = "ti.targets.rts5500";
30
31 override readonly config xdc.bld.ITarget.Module base= ti.targets.C55;
32
33 override readonly config ITarget.Command ar = {
34 cmd: "ar55",
35 opts: "rq"
36 };
37
38 override readonly config ITarget.Command cc = {
39 cmd: "cl55 -c",
40 opts: "-ml"
41 };
42
43 override readonly config ITarget.Command vers = {
44 cmd: "cl55",
45 opts: ""
46 };
47
48 override readonly config ITarget.Command asm = {
49 cmd: "cl55 -c",
50 opts: "-ml"
51 };
52
53 override readonly config ITarget.Command lnk = {
54 cmd: "lnk55",
55 opts: ""
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 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 * -`-Dfar= `
84 * ignore keyword far; this allows one to write code that can
85 * be compiled in large model and small model without #ifdef's
86 */
87 override config ITarget.Options ccOpts = {
88 prefix: "-qq -pdsw225 -Dfar= ",
89 suffix: ""
90 };
91
92 /*!
93 * ======== lnkOpts ========
94 * User configurable linker options.
95 *
96 * Defaults:
97 * @p(dlist)
98 * -`-w`
99 * Display linker warnings
100 * -`-q`
101 * Quite run
102 * -`-u`
103 * Place unresolved external symbol into symbol table
104 * -`-c`
105 * ROM autoinitialization model
106 * -`-m`
107 * create a map file
108 * -`-l`
109 * archive library file as linker input
110 */
111 override config ITarget.Options lnkOpts = {
112 prefix: "-w -q -u _c_int00",
113 suffix: "-c -m $(XDCCFGDIR)/$@.map -l $(rootDir)/lib/rts55x.lib"
114 };
115
116 override config string includeOpts = "-I$(rootDir)/include";
117
118 final override readonly config string sectMap[string] =
119 ti.targets.C55.sectMap;
120
121 override readonly config xdc.bld.ITarget.StdTypes stdTypes = {
122 t_IArg : { size: 2, align: 2 },
123 t_Char : { size: 1, align: 1 },
124 t_Double : { size: 2, align: 2 },
125 t_Float : { size: 2, align: 2 },
126 t_Fxn : { size: 2, align: 2 },
127 t_Int : { size: 1, align: 1 },
128 t_Int8 : { size: 1, align: 1 },
129 t_Int16 : { size: 1, align: 1 },
130 t_Int32 : { size: 2, align: 2 },
131 t_Int40 : { size: 4, align: 2 },
132 t_Long : { size: 2, align: 2 },
133 t_LDouble : { size: 2, align: 2 },
134 t_LLong : { size: 4, align: 2 },
135 t_Ptr : { size: 2, align: 2 },
136 t_Short : { size: 1, align: 1 },
137 };
138
139 override readonly config Int bitsPerChar = 16;
140 }
141 142 143
144