1 2 3 4 5 6 7 8 9 10 11
12
13 14 15
16
17 package ti.platforms.arp32;
18
19 /*!
20 * ======== Platform ========
21 * Generic platform support for the arp32
22 *
23 * This platform requires a memory map file called `board.xs` to be available
24 * in the same directory as the application config file. It should define
25 * values for the config parameters which are declared in this platform.
26 *
27 * @a(Examples)
28 * A sample `board.xs` file.
29 *
30 * @p(code)
31 * var boardARP32 = {
32 * CPU: {
33 * clockRate: 200.0,
34 * catalogName: "ti.catalog.arp32",
35 * deviceName: "Arctic",
36 * },
37 * externalMemoryMap: [
38 * ["ARP32VECS", {
39 * comment: "External memory for ARP32 interrupt vectors",
40 * name: "ARP32VECS",
41 * base: 0x80000000,
42 * len: 0x00000100,
43 * page: 0,
44 * space: "code/data"
45 * }],
46 *
47 * ["ARP32", {
48 * comment: "External memory for ARP32 use",
49 * name: "ARP32",
50 * base: 0x80000100,
51 * len: 0x0fffff00,
52 * page: 1,
53 * space: "code/data"
54 * }]
55 * ],
56 * codeMemory: "ARP32",
57 * dataMemory: "DMEM",
58 * stackMemory: "DMEM",
59 * };
60 * @p
61 */
62 metaonly module Platform inherits xdc.platform.IPlatform
63 {
64 config xdc.platform.IPlatform.Board BOARD;
65
66 instance:
67
68 /*!
69 * ======== CPU ========
70 * CPU Attributes necessary to create an execution context
71 *
72 * The platform requires these attributes to get the device internal
73 * memory map.
74 *
75 * @see xdc.platform.IExeContext#Cpu
76 */
77 config xdc.platform.IExeContext.Cpu CPU = {
78 id: "0",
79 clockRate: 1.0,
80 catalogName: "ti.catalog.arp32",
81 deviceName: "",
82 revision: "",
83 };
84
85 override config String codeMemory = null;
86
87 override config String dataMemory = null;
88
89 override config String stackMemory = null;
90
91 /*!
92 * ======== sectionMap ========
93 * A section name to SectionSpec mapping
94 *
95 * @see xdc.cfg.Program#sectMap
96 */
97 config Any sectionMap[string];
98
99 /*!
100 * ======== sectionsExclude ========
101 * Section to exclude from linker command file generation
102 *
103 * @see xdc.cfg.Program#sectionsExclude
104 */
105 config String sectionsExclude = null;
106
107 /*!
108 * ======== memoryExclude ========
109 * Section to exclude from linker command file generation
110 *
111 * @see xdc.cfg.Program#memoryExclude
112 */
113 config Bool memoryExclude = false;
114
115 /*!
116 * ======== sectionsTemplate ========
117 * Replace the sections portion of the generated linker command file.
118 *
119 * @see xdc.cfg.Program#sectionsTemplate
120 */
121 config String sectionsTemplate = null;
122
123 /*!
124 * ======== sectMap ========
125 * @_nodoc
126 */
127 override config String sectMap[string];
128
129 /*!
130 * ======== getCpuDataSheet ========
131 * @_nodoc
132 */
133 override function getCpuDataSheet(cpuId);
134
135 /*!
136 * ======== getExeContext ========
137 * @_nodoc
138 */
139 override function getExeContext(prog);
140
141 /*!
142 * ======== getExecCmd ========
143 * @_nodoc
144 */
145 override function getExecCmd(prog, platPath);
146
147 /*!
148 * ======== getLinkTemplate ========
149 * @_nodoc
150 */
151 override function getLinkTemplate(prog);
152 };
153 154 155
156