1 /*
2 * Copyright 2009 by Texas Instruments Incorporated.
3 *
4 * All rights reserved. Property of Texas Instruments Incorporated.
5 * Restricted rights to use, duplicate or disclose this code are
6 * granted through contract.
7 *
8 */
9
10 requires xdc.platform [1,0,1];
11
12 /*!
13 * ======== xdc.platform.generic ========
14 * Platform package for the generic platform.
15 *
16 * This package implements the interfaces (xdc.platform.IPlatform)
17 * necessary to build and run executables on a "generic" platform; a
18 * platform specified by:
19 * @p(blist) 20 * - device name; e.g., "TMS320C2812"
21 * - catalog name; the name of a package containing the device named above
22 * - clock rate; the clock rate in MHz of the CPU
23 * - external memory map; an array of memory blocks external to the device
24 * @p 25 * For a complate list of parameters that can be specified when creating a
26 * platform instance see the instance configuration parameters specified
27 * by `{@link xdc.platform.generic.Platform}`. This list, of course,
28 * includes all the instance config parameters specified by the
29 * `{@link xdc.platform.IPlatform}` interface.
30 *
31 * @a(Throws) 32 * `XDCException` exceptions are thrown for fatal errors. The following error
33 * codes are reported in the exception message:
34 * @p(dlist) 35 * - `xdc.platform.generic.LINK_TEMPLATE_ERROR`
36 * This error is raised when this platform cannot found the default
37 * linker command template `linkcmd.xdt` in the build target's
38 * package. When a target does not contain this file, the config
39 * parameter `{@link xdc.cfg.Program#linkTemplate}` must be set.
40 * @p 41 *
42 * @a(EXAMPLES) 43 * Example 1: Suppose you need to create an application for a HW platform
44 * that uses the TMS320C2812 running at 150 MHz. You can use this package
45 * (in lieu of one specifically created for the HW platform) by defining a
46 * named instance of this package's Platform module. Add the following
47 * statements to your `config.bld` file to add the platform instance named
48 * "xdc.platform.generic:C28".
49 * @p(code) 50 * Build.platformTable["xdc.platform.generic:C28"] = {
51 * clockRate: 150,
52 * catalogName: "ti.catalog.c2800",
53 * deviceName: "TMS320C2812"
54 * };
55 * @p 56 * With this name defined, it is now possible to configure an application
57 * using the platform instance name "xdc.platform.generic:C28". For example,
58 * if you are using `{@link xdc.tools.configuro}` to configure your
59 * application, the string "xdc.platform.generic:C28" can now be used to
60 * identify your platform:
61 * @p(code) 62 * xs xdc.tools.configuro -b config.bld -p xdc.platform.generic:C28 ...
63 * @p 64 *
65 * @p(html) 66 * <hr/>
67 * @p 68 *
69 * Example 2: The following example illustrates how to specify a platform
70 * instance with memory regions external to the specified device. In this
71 * case, we define a platform using a TMS320C6416 running at 600 MHz on a
72 * board with two external SDRAM memory blocks.
73 * @p(code) 74 * Build.platformTable["xdc.platform.generic:C64"] = {
75 * clockRate: 600,
76 * catalogName: "ti.catalog.c6000",
77 * deviceName: "TMS320C6416",
78 * externalMemoryMap : [
79 * ["SDRAM1", {
80 * name: "SDRAM1",
81 * base: 0x80000000, len: 0x1000000, space: "code/data"
82 * }],
83 * ["SDRAM2", {
84 * name: "SDRAM2",
85 * base: 0x90000000, len: 0x1000000, space: "code/data"
86 * }],
87 * ]
88 * }
89 * @p 90 *
91 * The `externalMemoryMap` attribute is a map of string names to
92 * `{@link xdc.platform.IPlatform#Memory}` structures.
93 *
94 * @see xdc.platform.generic.Platform
95 * @see xdc.bld.BuildEnvironment#platformTable
96 * @see xdc.platform.IPlatform
97 */
98 package xdc.platform.generic [1,0,0] {
99 module Platform;
100 }
101 /*
102 * @(#) xdc.platform.generic; 1, 0, 0,16; 6-9-2009 20:08:51; /db/ztree/library/trees/xdc-t50x/src/packages/
103 */
104