1 2 3 4 5 6 7 8 9 10 11
12 /*!
13 * ======== UCArm9.xdc ========
14 * uClibc Arm9 little endian embedded Linux target
15 *
16 * Arm nomenclature:
17 * @p(blist)
18 * Arm7* devices contain v4 Cores
19 * Arm9* devices contain v5 Cores
20 * Arm11* devices contain v6 thumb2 Cores
21 * @p
22 */
23 metaonly module UCArm9 inherits gnu.targets.ITarget {
24 override readonly config string name = "UCArm9";
25 override readonly config string os = "Linux";
26 override readonly config string suffix = "470uC";
27 override readonly config string isa = "v5T";
28 override readonly config xdc.bld.ITarget.Model model= {
29 endian: "little"
30 };
31
32 override readonly config string rts = "gnu.targets.rts470uC";
33 override config string platform = "ti.platforms.evmDM6446";
34
35 override config string LONGNAME = "/bin/arm-linux-gcc";
36
37 override config ITarget.Options ccOpts = {
38 prefix: "-Wunused",
39 suffix: "-Dfar= "
40 };
41
42 override config ITarget.Options lnkOpts = {
43 prefix: "-static",
44 suffix: "-L$(rootDir)/lib"
45 };
46
47 48 49
50 override config xdc.bld.ITarget.OptionSet profiles[string] = [
51 ["debug", {
52 compileOpts: {
53 copts: "-g",
54 defs: "-D_DEBUG_=1",
55 },
56 linkOpts: "-g",
57 }],
58
59 ["release", {
60 compileOpts: {
61 copts: "-O2",
62 },
63 linkOpts: "",
64 }],
65
66 ["profile", {
67 compileOpts: {
68 copts: "-g -pg",
69 },
70 linkOpts: "-pg"
71 }],
72
73 ["coverage", {
74 compileOpts: {
75 copts: "-fprofile-arcs -ftest-coverage",
76 },
77 linkOpts: "",
78 }],
79 ];
80
81 /*!
82 * ======== versionMap ========
83 * This map translates version string information from the compiler
84 * into a compatibility key. The compatibilty key is used to
85 * validate consistency among a collection of packages used in
86 * a configuration.
87 *
88 * The compiler version string is "gcc<ver>", where <ver> is
89 * GCCVERS.
90 *
91 * If a compiler version is not found in this map the default is
92 * "1,0,<ver>", where <ver> is the compiler version number. Thus,
93 * the user only needs to extend this table when a significant
94 * incompatibility occurs or when two versions of the compiler should
95 * be treated as 100% compatible.
96 */
97 override config string versionMap[string] = [
98 ["gcc3.2", "1,0,3.2,0"],
99 ];
100
101 override readonly config xdc.bld.ITarget.StdTypes stdTypes = {
102 t_IArg : { size: 4, align: 4 },
103 t_Char : { size: 1, align: 1 },
104 t_Double : { size: 8, align: 4 },
105 t_Float : { size: 4, align: 4 },
106 t_Fxn : { size: 4, align: 4 },
107 t_Int : { size: 4, align: 4 },
108 t_Int8 : { size: 1, align: 1 },
109 t_Int16 : { size: 2, align: 2 },
110 t_Int32 : { size: 4, align: 4 },
111 t_Int64 : { size: 8, align: 4 },
112 t_Long : { size: 4, align: 4 },
113 t_LDouble : { size: 8, align: 4 },
114 t_LLong : { size: 8, align: 4 },
115 t_Ptr : { size: 4, align: 4 },
116 t_Short : { size: 2, align: 2 },
117 };
118 }
119 120 121
122