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     *  ======== C55P_word.xdc ========
    14     *
    15     */
    16    
    17    /*!
    18     *  ======== C55P_word ========
    19     *  TI C55P word mode target
    20     */
    21    metaonly module C55P_word inherits ti.targets.ITarget {
    22        override readonly config string name                = "C55P_word";  
    23        override readonly config string suffix              = "55Pw";
    24        override readonly config string isa                 = "55P";        
    25        override readonly config string rts                 = "ti.targets.rts5500";
    26    
    27        override readonly config xdc.bld.ITarget.Model model = {
    28            endian: "big",
    29            dataModel: "huge"
    30        };
    31    
    32        override readonly config ITarget.Command ar = {
    33            cmd: "ar55",
    34            opts: "rq"
    35        };
    36    
    37        override readonly config ITarget.Command cc = {
    38            cmd: "cl55 -c",
    39            opts: "--memory_model=huge"
    40        };
    41    
    42        override readonly config ITarget.Command vers = {
    43            cmd: "cl55",
    44            opts: ""
    45        };
    46    
    47        override readonly config ITarget.Command asm = {
    48            cmd: "cl55 -c",
    49            opts: "--memory_model=huge"
    50        };
    51    
    52        override readonly config ITarget.Command lnk = {
    53            cmd: "lnk55",
    54            opts: ""
    55        };
    56    
    57        /*!
    58         *  ======== asmOpts ========
    59         *  User configurable assembler options.
    60         *
    61         *  Defaults:
    62         *  @p(dlist)
    63         *      -`-qq`
    64         *          super quiet mode
    65         *      -`-vcore:3.5`
    66         *          huge model ryujin is only supported on rev 3.5 cores (and
    67         *          above)
    68         */
    69        override config ITarget.Options asmOpts = {
    70            prefix: "-vcore+ -qq",
    71            suffix: ""
    72        };
    73    
    74        /*!
    75         *  ======== ccOpts ========
    76         *  User configurable compiler options.
    77         *
    78         *  Defaults:
    79         *  @p(dlist)
    80         *      -`-qq`
    81         *          super quiet mode
    82         *      -`-pdsw225`
    83         *          generate a warning for implicitly declared functions; i.e.,
    84         *          functions without prototypes
    85         *      -`-Dfar= `
    86         *          ignore keyword far; this allows one to write code that can
    87         *          be compiled in large model and small model without #ifdef's
    88         *      -`-vcore:3.5`
    89         *          huge model ryujin is only supported on rev 3.5 cores (and
    90         *          above)
    91         */
    92        override config ITarget.Options ccOpts = {
    93            prefix: "-vcore+ -qq -pdsw225 -Dfar= ",
    94            suffix: ""
    95        };
    96    
    97        /*!
    98         *  ======== lnkOpts ========
    99         *  User configurable linker options.
   100         *
   101         *  Defaults:
   102         *  @p(dlist)
   103         *      -`-w`
   104         *          Display linker warnings
   105         *      -`-q`
   106         *          Quite run
   107         *      -`-u`
   108         *          Place unresolved external symbol into symbol table
   109         *      -`-c`
   110         *          ROM autoinitialization model
   111         *      -`-m`
   112         *          create a map file
   113         *      -`-l`
   114         *          archive library file as linker input
   115         */
   116        override config ITarget.Options lnkOpts = {
   117            prefix: "-w -q -u _c_int00",
   118            suffix: "-c -m $(XDCCFGDIR)/$@.map -l $(rootDir)/lib/rts55ph.lib"
   119        };
   120    
   121        override config string includeOpts = "-I$(rootDir)/include";
   122    
   123        final override readonly config string sectMap[string] = [
   124            [".text",     "code"],
   125            [".stack",    "stack"],
   126            [".sysstack", "stack"],
   127            [".bss",      "data"],
   128            [".cinit",    "code"],
   129            [".pinit",    "code"],
   130            [".cio",      "code"],
   131            [".args",     "data"],
   132            [".const",    "data"],
   133            [".data",     "data"],
   134            [".switch",   "code"],
   135            [".sysmem",   "code"],
   136            [".far",      "data"],
   137            ["vectors",   "data" ],
   138        ];
   139    
   140        override readonly config xdc.bld.ITarget.StdTypes stdTypes =
   141            ti.targets.C55_huge.stdTypes;
   142    
   143        override readonly config Int bitsPerChar =
   144            ti.targets.C55_huge.bitsPerChar;
   145    };
   146    /*
   147     *  @(#) ti.targets; 1, 0, 3,320; 7-29-2009 16:34:45; /db/atree/library/trees/xdctargets/xdctargets-b12x/src/
   148     */
   149