1    /*
     2     *  Copyright (c) 2012 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.simArctic;
    18    
    19    /*!
    20     *  ======== Platform ========
    21     *  Platform support for the simArctic
    22     *
    23     *  This module implements xdc.platform.IPlatform and defines configuration
    24     *  parameters that correspond to this platform's Cpu's, Board's, etc.
    25     *
    26     *  The configuration parameters are initialized in this package's
    27     *  configuration script (package.cfg) and "bound" to the TCOM object
    28     *  model.  Once they are part of the model, these parameters are
    29     *  queried by a program's configuration script.
    30     *
    31     *  This particular platform has a single Cpu, and therefore, only
    32     *  declares a single CPU configuration object.  Multi-CPU platforms
    33     *  would declare multiple Cpu configuration parameters (one per
    34     *  platform CPU).
    35     */
    36    metaonly module Platform inherits xdc.platform.IPlatform
    37    {
    38        readonly config xdc.platform.IPlatform.Board BOARD = {      
    39            id:             "0",
    40            boardName:      "simArctic",
    41            boardFamily:    "simArctic",
    42            boardRevision:  null,
    43        };
    44    
    45        readonly config xdc.platform.IExeContext.Cpu ARP32 = {
    46            id:             "0",
    47            clockRate:      200.0,
    48            catalogName:    "ti.catalog.arp32",
    49            deviceName:     "Arctic",
    50            revision:       "",
    51        };
    52    
    53        readonly config xdc.platform.IExeContext.Cpu DSP = {        
    54            id:             "1",
    55            clockRate:      300.0,
    56            catalogName:    "ti.catalog.c6000",
    57            deviceName:     "Arctic",
    58            revision:       "",
    59        };
    60    
    61    
    62    instance:
    63    
    64        /* 
    65         *  DDR is 2GByte but we need to share it with the ARP32.
    66         */
    67        override readonly config xdc.platform.IPlatform.Memory
    68            externalMemoryMap[string] = [
    69                ["ARP32VECS", {
    70                    comment: "External memory for ARP32 interrupt vectors",
    71                    name:  "ARP32VECS",
    72                    base:  0x80000000,
    73                    len:   0x00000100,
    74                    space: "code/data"
    75                }],
    76    
    77                ["ARP32", {
    78                    comment: "External memory for ARP32 use",
    79                    name:  "ARP32",
    80                    base:  0x80000100,
    81                    len:   0x01ffff00,
    82                    space: "code/data"
    83                }],
    84                
    85                ["DSP", {
    86                    comment: "External memory for DSP use",
    87                    name:  "DSP",
    88                    base:  0x82000000,
    89                    len:   0x02000000,
    90                    space: "code/data"
    91                }],
    92    
    93                ["SHARED", {
    94                    comment: "Shared external memory",
    95                    name:  "SHARED",
    96                    base:  0x84000000,
    97                    len:   0x0C000000,
    98                    space: "code/data"
    99                }]
   100            ];
   101    
   102        /*
   103         *  ======== l1PMode ========
   104         *  Define the amount of L1P RAM used for L1 Program Cache.
   105         *
   106         *  Check the device documentation for valid values.
   107         */
   108        config String l1PMode = "32k";
   109        
   110        /*
   111         *  ======== l1DMode ========
   112         *  Define the amount of L1D RAM used for L1 Data Cache.
   113         *
   114         *  Check the device documentation for valid values.
   115         */
   116        config String l1DMode = "32k";
   117        
   118        /*
   119         *  ======== l2Mode ========
   120         *  Define the amount of L2 RAM used for L2 Cache.
   121         *
   122         *  Check the device documentation for valid values.
   123         */
   124        config String l2Mode = "0k";
   125    };
   126    /*
   127     *  @(#) ti.platforms.simArctic; 1, 0, 0,60; 8-17-2012 22:17:41; /db/ztree/library/trees/platform/platform-n27x/src/
   128     */
   129