1    /*
     2     *  ======== Boot.xdc ========
     3     *
     4     *! Revision History
     5     *! ================
     6     *! 17-Nov-2009 sg     Added WDT address and configureDCO flag.
     7     *! 20-Oct-2009 sg     Initial.
     8     */
     9    
    10    package ti.catalog.msp430.init;
    11    
    12    import xdc.rov.ViewInfo;
    13    
    14    @Template("./Boot.xdt")
    15    
    16    metaonly module Boot
    17    {
    18        metaonly struct ModuleView {
    19            Bool         disableWatchdog;
    20            UInt         watchdogAddress;
    21            Bool         configureDCO;
    22        }
    23    
    24        @Facet
    25        metaonly config ViewInfo.Instance rovViewInfo = 
    26            ViewInfo.create({
    27                viewMap: [
    28                [
    29                    'Module',
    30                    {
    31                        type: ViewInfo.MODULE,
    32                        viewInitFxn: 'viewInitModule',
    33                        structName: 'ModuleView'
    34                    }
    35                ],
    36                ]
    37            });
    38        
    39        /*! 
    40         *  Watchdog disable flag; default is true.
    41         *
    42         *  Set to false to not automatically disable the watchdog timer.
    43         */
    44        config Bool disableWatchdog = true;
    45    
    46        /*! 
    47         *  Watchdog control register address; default for MSP430F54xx and
    48         *  MSP430F552x.
    49         *
    50         *  Change for other devices.
    51         */
    52        config UInt watchdogAddress = 0x15c;
    53    
    54        /*! 
    55         *  Configure DCO flag; default is false.
    56         *
    57         *  Set to true to initialize DCO at boot.
    58         */
    59        config Bool configureDCO = false;
    60    
    61        /*! 
    62         *  Code section that Boot module code is in.
    63         *
    64         *  To place this section into a memory segment yourself, add the 
    65         *  following to your configuration file: 
    66         *
    67         *  @p(code)
    68         *  Program.sectMap[Boot.bootCodeSection] = new Program.SectionSpec();
    69         *  Program.sectMap[Boot.bootCodeSection].loadSegment = "yourBootCodeMemorySegment";
    70         *  @p
    71         *
    72         *  or to place the code at a specific address: 
    73         *
    74         *  @p(code)
    75         *  Program.sectMap[Boot.bootCodeSection] = new Program.SectionSpec();
    76         *  Program.sectMap[Boot.bootCodeSection].loadAdress = yourBootCodeAddress;
    77         *  @p
    78         *
    79         */
    80        readonly config String bootCodeSection = ".bootCodeSection";
    81        
    82    };