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