1 2 3 4 5 6 7 8 9 10 11 12
13 import xdc.bld.ITarget2;
14
15 /*!
16 * ======== Qnx.xdc ========
17 * Embedded little endian ARM v7 Qnx target
18 *
19 * This module defines an embedded target for Qnx on ARM.
20 *
21 */
22 @TargetHeader("xdc/bld/stddefs.xdt")
23 metaonly module Qnx inherits xdc.bld.ITarget2 {
24 override readonly config string name = "Qnx";
25 override readonly config string os = "Qnx";
26 override readonly config string suffix = "qv7";
27 override readonly config string isa = "v7A";
28 override readonly config xdc.bld.ITarget.Model model= {
29 endian: "little"
30 };
31
32 override readonly config string rts = "qnx.targets.arm.rts";
33 override config string platform = "host.platforms.arm";
34
35 config String QNX_HOST = "";
36 config String QNX_TARGET = "";
37 config String QNX_CONFIGURATION = "";
38 config String GCCVERS = "";
39
40 override readonly config String stdInclude = "qnx/targets/arm/std.h";
41
42 override readonly config ITarget2.Command cc = {
43 cmd: "$(rootDir)/bin/qcc -Vgcc_ntoarmv7 -EL -c",
44 opts: ""
45 };
46
47 override config ITarget2.Options ccOpts = {
48
49 prefix: "",
50 suffix: "-Dfar= "
51 };
52
53 override readonly config ITarget2.Command asm = {
54 cmd: "$(rootDir)/bin/qcc -c -x assembler",
55 opts: ""
56 };
57
58 override readonly config ITarget2.Command ar = {
59 cmd: "$(rootDir)/bin/ntoarm-ar ",
60 opts: "cr"
61 };
62
63 override readonly config ITarget2.Command lnk = {
64 cmd: "$(rootDir)/bin/qcc -Vgcc_ntoarmv7 -EL ",
65 opts: ""
66 };
67
68 override config ITarget2.Options lnkOpts = {
69 prefix: "",
70 suffix: ""
71
72 };
73
74 override readonly config xdc.bld.ITarget.StdTypes stdTypes = {
75 t_IArg : { size: 4, align: 4 },
76 t_Char : { size: 1, align: 1 },
77 t_Double : { size: 8, align: 4 },
78 t_Float : { size: 4, align: 4 },
79 t_Fxn : { size: 4, align: 4 },
80 t_Int : { size: 4, align: 4 },
81 t_Int8 : { size: 1, align: 1 },
82 t_Int16 : { size: 2, align: 2 },
83 t_Int32 : { size: 4, align: 4 },
84 t_Int64 : { size: 8, align: 4 },
85 t_Long : { size: 4, align: 4 },
86 t_LDouble : { size: 8, align: 4 },
87 t_LLong : { size: 8, align: 4 },
88 t_Ptr : { size: 4, align: 4 },
89 t_Short : { size: 2, align: 2 },
90 t_Size : { size: 4, align: 4 },
91 };
92 }
93 94 95 96
97