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     *  ======== ITarget.xdc ========
    14     *
    15     */
    16    
    17    /*!
    18     *  ======== ITarget ========
    19     *  An ELF extension to the `ti.targets.ITarget` interface.
    20     */
    21    metaonly interface ITarget inherits ti.targets.ITarget {
    22    
    23        /*!
    24         *  ======== ccConfigOpts ========
    25         *  User configurable compiler options for the generated config C file.
    26         */
    27        override config ti.targets.ITarget.Options ccConfigOpts = {
    28            prefix: "$(ccOpts.prefix) -ms",
    29            suffix: "$(ccOpts.suffix)"
    30        };
    31    
    32        final override readonly config string sectMap[string] = [
    33            [".text: { *<copy*>(.text) }", "code"],
    34            [".text", "code"],
    35            [".stack", "stack"],
    36            [".bss", "data"],
    37            [".cinit", "data"],
    38            [".pinit", "data"],
    39            [".const", "data"],
    40            [".data", "data"],
    41            [".rodata", "data"],
    42            [".neardata", "data"],
    43            [".fardata", "data"],
    44            [".switch", "data"],
    45            [".sysmem", "data"],
    46            [".far", "data"],
    47            [".args", "data"],
    48            [".cio", "data"],
    49            ["__TI_handler_table", "data"],
    50        ];
    51    
    52        override readonly config xdc.bld.ITarget.StdTypes stdTypes = {
    53            t_IArg          : { size: 4, align: 4 },
    54            t_Char          : { size: 1, align: 1 },
    55            t_Double        : { size: 8, align: 8 },
    56            t_Float         : { size: 4, align: 4 },
    57            t_Fxn           : { size: 4, align: 4 },
    58            t_Int           : { size: 4, align: 4 },
    59            t_Int8          : { size: 1, align: 1 },
    60            t_Int16         : { size: 2, align: 2 },
    61            t_Int32         : { size: 4, align: 4 },
    62            t_Int64         : { size: 8, align: 8 },
    63            t_Long          : { size: 4, align: 4 },
    64            t_LDouble       : { size: 8, align: 8 },
    65            t_LLong         : { size: 8, align: 8 },
    66            t_Ptr           : { size: 4, align: 4 },
    67            t_Short         : { size: 2, align: 2 },
    68        };
    69    
    70        override config String stdInclude = "ti/targets/arm/elf/std.h";
    71    }
    72    /*
    73     *  @(#) ti.targets.arm.elf; 1, 0, 0,58; 6-10-2009 11:24:37; /db/atree/library/trees/xdctargets/xdctargets-b08x/src/
    74     */
    75