1 2 3 4 5 6 7 8 9 10 11
12
13 14 15
16
17 package ti.platforms.c6000;
18
19 /*!
20 * ======== Platform ========
21 * Generic platform support for the c6000
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 board6748 = {
32 * BOARD: {
33 * boardName: "board6748",
34 * boardFamily: "board6xxx",
35 * },
36 * CPU: {
37 * clockRate: 300.0,
38 * catalogName: "ti.catalog.c6000",
39 * deviceName: "TMS320C6748",
40 * },
41 * externalMemoryMap: [
42 * ["EXTRAM", {
43 * name: "DDR", base: 0xC0000000, len: 0x08000000,
44 * }]
45 * ],
46 * codeMemory: "DDR",
47 * dataMemory: "DDR",
48 * stackMemory: "DDR",
49 * l1PMode: "32k",
50 * l1DMode: "32k",
51 * l2Mode: "0k",
52 * };
53 * @p
54 */
55 metaonly module Platform inherits xdc.platform.IPlatform
56 {
57 config xdc.platform.IPlatform.Board BOARD;
58
59 instance:
60
61 /*!
62 * ======== CPU ========
63 * CPU Attributes necessary to create an execution context
64 *
65 * The platform requires these attributes to get the device internal
66 * memory map.
67 *
68 * @see xdc.platform.IExeContext#Cpu
69 */
70 config xdc.platform.IExeContext.Cpu CPU = {
71 id: "0",
72 clockRate: 1.0,
73 catalogName: "ti.catalog.c6000",
74 deviceName: "",
75 revision: "",
76 };
77
78 override config String codeMemory = null;
79
80 override config String dataMemory = null;
81
82 override config String stackMemory = null;
83
84 /*!
85 * ======== sectionMap ========
86 * A section name to SectionSpec mapping
87 *
88 * @see xdc.cfg.Program#sectMap
89 */
90 config Any sectionMap[string];
91
92 /*!
93 * ======== sectionsExclude ========
94 * Section to exclude from linker command file generation
95 *
96 * @see xdc.cfg.Program#sectionsExclude
97 */
98 config String sectionsExclude = null;
99
100 /*!
101 * ======== memoryExclude ========
102 * Section to exclude from linker command file generation
103 *
104 * @see xdc.cfg.Program#memoryExclude
105 */
106 config Bool memoryExclude = false;
107
108 /*!
109 * ======== sectionsTemplate ========
110 * Replace the sections portion of the generated linker command file.
111 *
112 * @see xdc.cfg.Program#sectionsTemplate
113 */
114 config String sectionsTemplate = null;
115
116 /*!
117 * ======== l1PMode ========
118 * Define the amount of L1P RAM used for L1 Program Cache.
119 */
120 config String l1PMode = null;
121
122 /*!
123 * ======== l1DMode ========
124 * Define the amount of L1D RAM used for L1 Data Cache.
125 */
126 config String l1DMode = null;
127
128 /*!
129 * ======== l2Mode ========
130 * Define the amount of L2 RAM used for L2 Cache.
131 */
132 config String l2Mode = null;
133
134 /*!
135 * ======== sectMap ========
136 * @_nodoc
137 */
138 override config String sectMap[string];
139
140 /*!
141 * ======== getCpuDataSheet ========
142 * @_nodoc
143 */
144 override function getCpuDataSheet(cpuId);
145
146 /*!
147 * ======== getExeContext ========
148 * @_nodoc
149 */
150 override function getExeContext(prog);
151
152 /*!
153 * ======== getExecCmd ========
154 * @_nodoc
155 */
156 override function getExecCmd(prog, platPath);
157
158 /*!
159 * ======== getLinkTemplate ========
160 * @_nodoc
161 */
162 override function getLinkTemplate(prog);
163 };
164 165 166
167