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