1    /* 
     2     *  Copyright (c) 2008 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     *  ======== C64T_big_endian.xdc ========
    15     *
    16     */
    17    
    18    import xdc.bld.ITarget2;
    19    
    20    /*!
    21     *  ======== C64T_big_endian ========
    22     *  TI C64T big endian
    23     */
    24    metaonly module C64T_big_endian inherits ti.targets.ITarget {
    25        override readonly config string name                 = "C64T_big_endian";
    26        override readonly config string suffix               = "64Te";
    27        override readonly config string isa                  = "64T";
    28        override readonly config xdc.bld.ITarget.Model model = {
    29            endian: "big"
    30        };
    31        override readonly config xdc.bld.ITarget.Module base = ti.targets.C62;
    32    
    33        override readonly config string rts = "ti.targets.rts6000";
    34        override config string platform     = "ti.platforms.sdp4430";
    35        override readonly config string stdInclude = "ti/targets/std.h";
    36        
    37        override readonly config ITarget2.Command ar = {
    38            cmd: "ar6x",
    39            opts: "rq"
    40        };
    41    
    42        override readonly config ITarget2.Command cc = {
    43            cmd: "cl6x -c",
    44            opts: "-me -mv=tesla --abi=coffabi"
    45        };
    46    
    47        override readonly config ITarget2.Command vers = {
    48            cmd: "cl6x",
    49            opts: "--compiler_revision"
    50        };
    51    
    52        override readonly config ITarget2.Command asm = {
    53            cmd: "cl6x -c",
    54            opts: "-me -mv=tesla --abi=coffabi"
    55        };
    56    
    57        override readonly config ITarget2.Command lnk = {
    58            cmd: "lnk6x",
    59            opts: "--abi=coffabi"
    60        };
    61        
    62        override config xdc.bld.ITarget.OptionSet profiles[string] = [
    63            ["debug", {
    64                compileOpts: {
    65                    copts: "--symdebug:dwarf",
    66                    defs:  "-D_DEBUG_=1",
    67                }
    68            }],
    69            ["release", {
    70                compileOpts: {
    71                    copts: "-O2",
    72                },
    73            }],
    74            ["profile", {
    75                compileOpts: {
    76                    copts: "--gen_profile_info",
    77                },
    78            }],
    79            ["coverage", {
    80                compileOpts: {
    81                    copts: "--gen_profile_info",
    82                },
    83            }],
    84            ["whole_program", {
    85                compileOpts: {
    86                    copts: "-oe -O2 -mo",
    87                },
    88            }],
    89            ["whole_program_debug", {
    90                compileOpts: {
    91                    copts: "-oe --symdebug:dwarf -mo",
    92                },
    93            }],
    94        ];
    95    
    96        /*!
    97         *  ======== asmOpts ========
    98         *  User configurable assembler options.
    99         *
   100         *  Defaults:
   101         *  @p(dlist)
   102         *      -`-qq`
   103         *          super quiet mode
   104         */
   105        override config ITarget2.Options asmOpts = {
   106            prefix: "-qq",
   107            suffix: ""
   108        };
   109    
   110        /*!
   111         *  ======== ccOpts ========
   112         *  User configurable compiler options.
   113         *
   114         *  Defaults:
   115         *  @p(dlist)
   116         *      -`-qq`
   117         *          super quiet mode
   118         *      -`-pdsw225`
   119         *          generate a warning for implicitly declared functions; i.e.,
   120         *          functions without prototypes
   121         */
   122        override config ITarget2.Options ccOpts = {
   123            prefix: "-qq -pdsw225",
   124            suffix: ""
   125        };
   126    
   127        /*!
   128         *  ======== ccConfigOpts ========
   129         *  User configurable compiler options for the generated config C file.
   130         *
   131         *  -mo places all functions into subsections
   132         *  --no_compress helps with compile time with no real difference in
   133         *  code size since the generated config.c is mostly data and small
   134         *  function stubs.
   135         */
   136        override config ITarget2.Options ccConfigOpts = {
   137            prefix: "$(ccOpts.prefix) -mo --no_compress",
   138            suffix: "$(ccOpts.suffix)"
   139        };
   140    
   141        /*!
   142         *  ======== lnkOpts ========
   143         *  User configurable linker options.
   144         *
   145         *  Defaults:
   146         *  @p(dlist)
   147         *      -`-w`
   148         *          Display linker warnings
   149         *      -`-q`
   150         *          Quite run
   151         *      -`-u`
   152         *          Place unresolved external symbol into symbol table
   153         *      -`-c`
   154         *          ROM autoinitialization model
   155         *      -`-m`
   156         *          create a map file
   157         *      -`-l`
   158         *          archive library file as linker input
   159         */
   160        override config ITarget2.Options lnkOpts = {
   161            prefix: "-w -q -u _c_int00",
   162            suffix: "-c -m $(XDCCFGDIR)/$@.map -l $(rootDir)/lib/rtstesla_be_coff.lib"
   163        };
   164            
   165        override config string includeOpts = "-I$(rootDir)/include";
   166    
   167        final override readonly config string sectMap[string] =
   168            ti.targets.C62.sectMap;
   169    
   170        override readonly config xdc.bld.ITarget.StdTypes stdTypes = 
   171            ti.targets.C62.stdTypes;
   172        
   173        override readonly config Int bitsPerChar = 
   174            ti.targets.C62.bitsPerChar;
   175    }
   176    /*
   177     *  @(#) ti.targets; 1, 0, 3,399; 8-4-2010 16:21:18; /db/ztree/library/trees/xdctargets/xdctargets-c27x/src/
   178     */
   179