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     *  ======== C64P.xdc ========
    14     *
    15     */
    16    
    17    /*!
    18     *  ======== C64P ========
    19     *  TI C64P little endian target -- for ELF
    20     */
    21    metaonly module C64P inherits ITarget {
    22        override readonly config string name                 = "C64P";
    23        override readonly config string suffix               = "e64P";
    24        override readonly config string isa                  = "64P";
    25        override readonly config xdc.bld.ITarget.Model model = {
    26            endian: "little"
    27        };
    28        override readonly config xdc.bld.ITarget.Module base = ti.targets.C62;
    29    
    30        /*
    31         *  ======== compatibleSuffixes ========
    32         */
    33        override config String compatibleSuffixes[] = ["", "e64", "e62"];
    34    
    35        override readonly config string rts = "ti.targets.rts6000";
    36        override config string platform     = "ti.platforms.sim6xxx:TMS320CDM420";
    37        
    38        override readonly config ti.targets.ITarget.Command ar = {
    39            cmd: "ar6x",
    40            opts: "rq"
    41        };
    42    
    43        override readonly config ti.targets.ITarget.Command cc = {
    44            cmd: "cl6x -c",
    45            opts: "-mv64p --abi=elfabi"
    46        };
    47    
    48        override readonly config ti.targets.ITarget.Command vers = {
    49            cmd: "cl6x",
    50            opts: "-version"
    51        };
    52    
    53        override readonly config ti.targets.ITarget.Command asm = {
    54            cmd: "cl6x -c",
    55            opts: "-mv64P --abi=elfabi"
    56        };
    57    
    58        override readonly config ti.targets.ITarget.Command lnk = {
    59            cmd: "lnk6x",
    60            opts: "--abi=elfabi"
    61        };
    62        
    63        /*!
    64         *  ======== asmOpts ========
    65         *  User configurable assembler options.
    66         *
    67         *  Defaults:
    68         *  @p(dlist)
    69         *      -`-qq`
    70         *          super quiet mode
    71         */
    72        override config ti.targets.ITarget.Options asmOpts = {
    73            prefix: "-qq",
    74            suffix: ""
    75        };
    76    
    77        /*!
    78         *  ======== ccOpts ========
    79         *  User configurable compiler options.
    80         *
    81         *  Defaults:
    82         *  @p(dlist)
    83         *      -`-qq`
    84         *          super quiet mode
    85         *      -`-pdsw225`
    86         *          generate a warning for implicitly declared functions; i.e.,
    87         *          functions without prototypes
    88         */
    89        override config ti.targets.ITarget.Options ccOpts = {
    90            prefix: "-qq -pdsw225",
    91            suffix: ""
    92        };
    93    
    94        /*!
    95         *  ======== ccConfigOpts ========
    96         *  User configurable compiler options for the generated config C file.
    97         *
    98         *  -mo places all functions into subsections
    99         *  --no_compress helps with compile time with no real difference in
   100         *  code size since the generated config.c is mostly data and small
   101         *  function stubs.
   102         */
   103        override config ti.targets.ITarget.Options ccConfigOpts = {
   104            prefix: "$(ccOpts.prefix) -mo --no_compress",
   105            suffix: "$(ccOpts.suffix)"
   106        };
   107    
   108        /*!
   109         *  ======== lnkOpts ========
   110         *  User configurable linker options.
   111         *
   112         *  Defaults:
   113         *  @p(dlist)
   114         *      -`-w`
   115         *          Display linker warnings
   116         *      -`-q`
   117         *          Quite run
   118         *      -`-u`
   119         *          Place unresolved external symbol into symbol table
   120         *      -`-c`
   121         *          ROM autoinitialization model
   122         *      -`-m`
   123         *          create a map file
   124         *      -`-l`
   125         *          archive library file as linker input
   126         */
   127        override config ti.targets.ITarget.Options lnkOpts = {
   128            prefix: "-w -q -u _c_int00",
   129            suffix: "-c -m $(XDCCFGDIR)/$@.map -l $(rootDir)/lib/rts64plus_elf.lib"
   130        };
   131            
   132        override config string includeOpts = "-I$(rootDir)/include";
   133    
   134        override readonly config Int bitsPerChar = 
   135            ti.targets.C62.bitsPerChar;
   136    }
   137    /*
   138     *  @(#) ti.targets.elf; 1, 0, 0,87; 7-29-2009 16:35:09; /db/atree/library/trees/xdctargets/xdctargets-b12x/src/
   139     */
   140