1    /*
     2     *  Copyright (c) 2014 by Texas Instruments and others.
     3     *  All rights reserved. This program and the accompanying materials
     4     *  are made available under the terms of the Eclipse Public License v1.0
     5     *  which accompanies this distribution, and is available at
     6     *  http://www.eclipse.org/legal/epl-v10.html
     7     *
     8     *  Contributors:
     9     *      Texas Instruments - initial implementation
    10     *
    11     * */
    12    
    13    /*
    14     *  ======== Platform.xdc ========
    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     *  @(#) ti.platforms.c6000; 1, 0, 0,59; 3-22-2014 18:56:58; /db/ztree/library/trees/platform/platform-o48x/src/
   166     */
   167