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.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 override readonly config xdc.bld.ITarget.StdTypes stdTypes = {
69 t_IArg : { size: 4, align: 4 },
70 t_Char : { size: 1, align: 1 },
71 t_Double : { size: 8, align: 4 },
72 t_Float : { size: 4, align: 4 },
73 t_Fxn : { size: 4, align: 4 },
74 t_Int : { size: 4, align: 4 },
75 t_Int8 : { size: 1, align: 1 },
76 t_Int16 : { size: 2, align: 2 },
77 t_Int32 : { size: 4, align: 4 },
78 t_Int64 : { size: 8, align: 4 },
79 t_Long : { size: 4, align: 4 },
80 t_LDouble : { size: 8, align: 4 },
81 t_LLong : { size: 8, align: 4 },
82 t_Ptr : { size: 4, align: 4 },
83 t_Short : { size: 2, align: 2 },
84 };
85 }
86 87 88 89
90