1 2 3 4 5 6 7 8 9 10 11
12 import xdc.bld.ITarget2;
13
14 /*!
15 * ======== GCArmv5T.xdc ========
16 * This module defines an embedded target for Linux on Arm. The target
17 * generates code compatible with the "v5TE" architecture.
18 *
19 */
20 metaonly module GCArmv5T inherits gnu.targets.ITarget {
21 override readonly config string name = "GCArmv5T";
22 override readonly config string os = "Linux";
23 override readonly config string suffix = "470MV";
24 override readonly config string isa = "v5T";
25 override readonly config xdc.bld.ITarget.Model model= {
26 endian: "little"
27 };
28
29 override readonly config string rts = "gnu.targets.codesourcery.rtsv5T";
30 override config string platform = "ti.platforms.evm2530";
31
32 override config string LONGNAME = "/bin/arm-none-linux-gnueabi-gcc";
33
34 override readonly config Bool CYGWIN = true;
35
36 override readonly config String stdInclude = "gnu/targets/codesourcery/std.h";
37
38 override config ITarget2.Options ccOpts = {
39 prefix: "-fPIC -Wunused",
40 suffix: "-Dfar= "
41 };
42
43 override config ITarget2.Options lnkOpts = {
44 prefix: "",
45 suffix: "-lstdc++ -L$(rootDir)/$(GCCTARG)/lib"
46 };
47
48
49 50 51
52 override config String compatibleSuffixes[] = ["v5T", "v5t"];
53
54 override readonly config xdc.bld.ITarget.StdTypes stdTypes = {
55 t_IArg : { size: 4, align: 4 },
56 t_Char : { size: 1, align: 1 },
57 t_Double : { size: 8, align: 4 },
58 t_Float : { size: 4, align: 4 },
59 t_Fxn : { size: 4, align: 4 },
60 t_Int : { size: 4, align: 4 },
61 t_Int8 : { size: 1, align: 1 },
62 t_Int16 : { size: 2, align: 2 },
63 t_Int32 : { size: 4, align: 4 },
64 t_Int64 : { size: 8, align: 4 },
65 t_Long : { size: 4, align: 4 },
66 t_LDouble : { size: 8, align: 4 },
67 t_LLong : { size: 8, align: 4 },
68 t_Ptr : { size: 4, align: 4 },
69 t_Short : { size: 2, align: 2 },
70 };
71 }
72 73 74
75