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