1 2 3 4
5
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
37
38 /*!
39 * ======== M33.xdc ========
40 * Cortex M33 without floating point unit, little endian thumb2 (ELF)
41 */
42 metaonly module M33 inherits ti.targets.arm.elf.IArm {
43 override readonly config string name = "M33";
44 override readonly config string suffix = "m33";
45 override readonly config string isa = "v8M";
46 override readonly config string rts = "ti.targets.arm.rtsarm";
47 override config string platform = "ti.platforms.cortexM:MTL1_VSOC:1";
48 override config String stdInclude = "ti/targets/arm/clang/std.h";
49
50 override readonly config xdc.bld.ITarget.Model model = {
51 endian: "little",
52 codeModel: "thumb2",
53 shortEnums: true
54 };
55
56 override readonly config xdc.bld.ITarget2.Command cc = {
57 cmd: "tiarmclang -c",
58 opts: "-mcpu=cortex-m33 -msoft-float -mfpu=none"
59 };
60
61 override readonly config xdc.bld.ITarget2.Command asm = {
62 cmd: "tiarmclang -c -x assembler-with-cpp",
63 opts: "-mcpu=cortex-m33 -msoft-float -mfpu=none"
64 };
65
66 override readonly config xdc.bld.ITarget2.Command lnk = {
67 cmd: "tiarmclang",
68 opts: "-mcpu=cortex-m33 -msoft-float -mfpu=none"
69 };
70
71 override readonly config xdc.bld.ITarget2.Command ar = {
72 cmd: "tiarmar -c",
73 opts: "-q"
74 };
75
76 /*!
77 * ======== ccOpts ========
78 * User configurable compiler options.
79 */
80 override config xdc.bld.ITarget2.Options ccOpts = {
81 prefix: "",
82 suffix: ""
83 };
84
85 /*!
86 * ======== ccConfigOpts ========
87 * User configurable compiler options for the generated config C file.
88 */
89 override config xdc.bld.ITarget2.Options ccConfigOpts = {
90 prefix: "$(ccOpts.prefix)",
91 suffix: "$(ccOpts.suffix)"
92 };
93
94 /*!
95 * ======== asmOpts ========
96 * User configurable assembler options.
97 */
98 override config xdc.bld.ITarget2.Options asmOpts = {
99 prefix: "",
100 suffix: ""
101 };
102
103 /*!
104 * ======== lnkOpts ========
105 * Linker options
106 */
107 override config xdc.bld.ITarget2.Options lnkOpts = {
108 prefix: "-Wl,-q -Wl,-u,_c_int00",
109 suffix: "-Wl,-w -Wl,-c -Wl,-m,$(XDCCFGDIR)/$@.map -l $(rootDir)/lib/generic/libc.a"
110 };
111
112 override readonly config xdc.bld.ITarget2.Command vers = {
113 cmd: "tiarmclang",
114 opts: "--version"
115 };
116
117 override config string includeOpts = "";
118
119 120 121
122 123 124 125 126
127 override config xdc.bld.ITarget.OptionSet profiles[string] = [
128 ["debug", {
129 compileOpts: {
130 copts: "-gdwarf-3",
131 defs: "-D_DEBUG_=1",
132 },
133 linkOpts: "-gdwarf-3",
134 }],
135
136 ["release", {
137 compileOpts: {
138 copts: " -O2 ",
139 },
140 linkOpts: " ",
141 }],
142 ];
143 }
144 145 146 147
148