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