1    /* --COPYRIGHT--,EPL
     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     * --/COPYRIGHT--*/
    12    
    13    /*
    14     *  ======== IMSP430F54xx.xdc ========
    15     *  Common definitions for MSP430F54xx devices
    16     *
    17     *  This device can load code for different MSP430 ISAs - `MSP430` and
    18     *  `MSP430X`. The parameter `{@link #isa}` is set to a JavaScript regular
    19     *  expression that covers different MSP430 ISAs.
    20     *
    21     *! Revision History
    22     *! ================
    23     *! 31-Oct-2009 sg      Created.
    24     */
    25    
    26    metaonly interface IMSP430F54xx inherits IMSP430
    27    {
    28    
    29    instance:
    30    
    31        override config string   cpuCore        = "MSP430X";
    32        override config string   isa            = "430|430X";
    33    
    34        config ti.catalog.msp430.peripherals.special_function.IE1.Instance 
    35            interruptEnableRegister1;
    36        config ti.catalog.msp430.peripherals.timer.Timer_A5.Instance TA0;
    37        config ti.catalog.msp430.peripherals.timer.Timer_A3.Instance TA1;
    38        config ti.catalog.msp430.peripherals.timer.Timer_B7.Instance TB0;
    39        config ti.catalog.msp430.peripherals.watchdog.WDTPlus.Instance wdtPlus;
    40        config ti.catalog.msp430.peripherals.interrupt.Interrupt_Controller.Instance
    41            interruptController;
    42    
    43        /*!
    44         *  ======== commonMap ========
    45         *  Memory map elements shared by all MSP430F54xx devices
    46         */
    47        config xdc.platform.IPlatform.Memory commonMap[string] = [
    48    
    49            ["PERIPHERALS", {
    50                comment:    "Memory mapped peripherals",
    51                name:       "PERIPHERALS",
    52                base:       0x0,
    53                len:        0x1000,
    54                space:      "io",
    55                access:     "RW"
    56            }],
    57    
    58            ["BSL", {
    59                comment:    "Bootstrap loader (flash)",
    60                name:       "BSL",
    61                base:       0x1000,
    62                len:        0x800,
    63                space:      "code",
    64                access:     "RW"
    65            }],
    66    
    67            ["INFO", {
    68                comment:    "Information memory (flash)",
    69                name:       "INFO",
    70                base:       0x1800,
    71                len:        0x200,
    72                space:      "data",
    73                access:     "RW"
    74            }],
    75    
    76            ["INT00", {
    77                comment: "Reserved Vector",
    78                name: "INT00",
    79                base: 0xFF80,
    80                len: 0x2,
    81                space: "data"
    82            }],
    83    
    84            ["INT01", {
    85                comment: "Reserved Vector",
    86                name: "INT01",
    87                base: 0xFF82,
    88                len: 0x2,
    89                space: "data"
    90            }],
    91    
    92            ["INT02", {
    93                comment: "Reserved Vector",
    94                name: "INT02",
    95                base: 0xFF84,
    96                len: 0x2,
    97                space: "data"
    98            }],
    99    
   100            ["INT03", {
   101                comment: "Reserved Vector",
   102                name: "INT03",
   103                base: 0xFF86,
   104                len: 0x2,
   105                space: "data"
   106            }],
   107    
   108            ["INT04", {
   109                comment: "Reserved Vector",
   110                name: "INT04",
   111                base: 0xFF88,
   112                len: 0x2,
   113                space: "data"
   114            }],
   115    
   116            ["INT05", {
   117                comment: "Reserved Vector",
   118                name: "INT05",
   119                base: 0xFF8A,
   120                len: 0x2,
   121                space: "data"
   122            }],
   123    
   124            ["INT06", {
   125                comment: "Reserved Vector",
   126                name: "INT06",
   127                base: 0xFF8C,
   128                len: 0x2,
   129                space: "data"
   130            }],
   131    
   132            ["INT07", {
   133                comment: "Reserved Vector",
   134                name: "INT07",
   135                base: 0xFF8E,
   136                len: 0x2,
   137                space: "data"
   138            }],
   139    
   140            ["INT08", {
   141                comment: "Reserved Vector",
   142                name: "INT08",
   143                base: 0xFF90,
   144                len: 0x2,
   145                space: "data"
   146            }],
   147    
   148            ["INT09", {
   149                comment: "Reserved Vector",
   150                name: "INT09",
   151                base: 0xFF92,
   152                len: 0x2,
   153                space: "data"
   154            }],
   155    
   156            ["INT10", {
   157                comment: "Reserved Vector",
   158                name: "INT10",
   159                base: 0xFF94,
   160                len: 0x2,
   161                space: "data"
   162            }],
   163    
   164            ["INT11", {
   165                comment: "Reserved Vector",
   166                name: "INT11",
   167                base: 0xFF96,
   168                len: 0x2,
   169                space: "data"
   170            }],
   171    
   172            ["INT12", {
   173                comment: "Reserved Vector",
   174                name: "INT12",
   175                base: 0xFF98,
   176                len: 0x2,
   177                space: "data"
   178            }],
   179    
   180            ["INT13", {
   181                comment: "Reserved Vector",
   182                name: "INT13",
   183                base: 0xFF9A,
   184                len: 0x2,
   185                space: "data"
   186            }],
   187    
   188            ["INT14", {
   189                comment: "Reserved Vector",
   190                name: "INT14",
   191                base: 0xFF9C,
   192                len: 0x2,
   193                space: "data"
   194            }],
   195    
   196            ["INT15", {
   197                comment: "Reserved Vector",
   198                name: "INT15",
   199                base: 0xFF9E,
   200                len: 0x2,
   201                space: "data"
   202            }],
   203    
   204            ["INT16", {
   205                comment: "Reserved Vector",
   206                name: "INT16",
   207                base: 0xFFA0,
   208                len: 0x2,
   209                space: "data"
   210            }],
   211    
   212            ["INT17", {
   213                comment: "Reserved Vector",
   214                name: "INT17",
   215                base: 0xFFA2,
   216                len: 0x2,
   217                space: "data"
   218            }],
   219    
   220            ["INT18", {
   221                comment: "Reserved Vector",
   222                name: "INT18",
   223                base: 0xFFA4,
   224                len: 0x2,
   225                space: "data"
   226            }],
   227    
   228            ["INT19", {
   229                comment: "Reserved Vector",
   230                name: "INT19",
   231                base: 0xFFA6,
   232                len: 0x2,
   233                space: "data"
   234            }],
   235    
   236            ["INT20", {
   237                comment: "Reserved Vector",
   238                name: "INT20",
   239                base: 0xFFA8,
   240                len: 0x2,
   241                space: "data"
   242            }],
   243    
   244            ["INT21", {
   245                comment: "Reserved Vector",
   246                name: "INT21",
   247                base: 0xFFAA,
   248                len: 0x2,
   249                space: "data"
   250            }],
   251    
   252            ["INT22", {
   253                comment: "Reserved Vector",
   254                name: "INT22",
   255                base: 0xFFAC,
   256                len: 0x2,
   257                space: "data"
   258            }],
   259    
   260            ["INT23", {
   261                comment: "Reserved Vector",
   262                name: "INT23",
   263                base: 0xFFAE,
   264                len: 0x2,
   265                space: "data"
   266            }],
   267    
   268            ["INT24", {
   269                comment: "Reserved Vector",
   270                name: "INT24",
   271                base: 0xFFB0,
   272                len: 0x2,
   273                space: "data"
   274            }],
   275    
   276            ["INT25", {
   277                comment: "Reserved Vector",
   278                name: "INT25",
   279                base: 0xFFB2,
   280                len: 0x2,
   281                space: "data"
   282            }],
   283    
   284            ["INT26", {
   285                comment: "Reserved Vector",
   286                name: "INT26",
   287                base: 0xFFB4,
   288                len: 0x2,
   289                space: "data"
   290            }],
   291    
   292            ["INT27", {
   293                comment: "Reserved Vector",
   294                name: "INT27",
   295                base: 0xFFB6,
   296                len: 0x2,
   297                space: "data"
   298            }],
   299    
   300            ["INT28", {
   301                comment: "Reserved Vector",
   302                name: "INT28",
   303                base: 0xFFB8,
   304                len: 0x2,
   305                space: "data"
   306            }],
   307    
   308            ["INT29", {
   309                comment: "Reserved Vector",
   310                name: "INT29",
   311                base: 0xFFBA,
   312                len: 0x2,
   313                space: "data"
   314            }],
   315    
   316            ["INT30", {
   317                comment: "Reserved Vector",
   318                name: "INT30",
   319                base: 0xFFBC,
   320                len: 0x2,
   321                space: "data"
   322            }],
   323    
   324            ["INT31", {
   325                comment: "Reserved Vector",
   326                name: "INT31",
   327                base: 0xFFBE,
   328                len: 0x2,
   329                space: "data"
   330            }],
   331    
   332            ["INT32", {
   333                comment: "Reserved Vector",
   334                name: "INT32",
   335                base: 0xFFC0,
   336                len: 0x2,
   337                space: "data"
   338            }],
   339    
   340            ["INT33", {
   341                comment: "Reserved Vector",
   342                name: "INT33",
   343                base: 0xFFC2,
   344                len: 0x2,
   345                space: "data"
   346            }],
   347    
   348            ["INT34", {
   349                comment: "Reserved Vector",
   350                name: "INT34",
   351                base: 0xFFC4,
   352                len: 0x2,
   353                space: "data"
   354            }],
   355    
   356            ["INT35", {
   357                comment: "Reserved Vector",
   358                name: "INT35",
   359                base: 0xFFC6,
   360                len: 0x2,
   361                space: "data"
   362            }],
   363    
   364            ["INT36", {
   365                comment: "Reserved Vector",
   366                name: "INT36",
   367                base: 0xFFC8,
   368                len: 0x2,
   369                space: "data"
   370            }],
   371    
   372            ["INT37", {
   373                comment: "Reserved Vector",
   374                name: "INT37",
   375                base: 0xFFCA,
   376                len: 0x2,
   377                space: "data"
   378            }],
   379    
   380            ["INT38", {
   381                comment: "Reserved Vector",
   382                name: "INT38",
   383                base: 0xFFCC,
   384                len: 0x2,
   385                space: "data"
   386            }],
   387    
   388            ["INT39", {
   389                comment: "Reserved Vector",
   390                name: "INT39",
   391                base: 0xFFCE,
   392                len: 0x2,
   393                space: "data"
   394            }],
   395    
   396            ["INT40", {
   397                comment: "Reserved Vector",
   398                name: "INT40",
   399                base: 0xFFD0,
   400                len: 0x2,
   401                space: "data"
   402            }],
   403    
   404            ["INT41", {
   405                comment: "RTC_A Vector",
   406                name: "INT41",
   407                base: 0xFFD2,
   408                len: 0x2,
   409                space: "data"
   410            }],
   411    
   412            ["INT42", {
   413                comment: "I/O Port P2 Vector",
   414                name: "INT42",
   415                base: 0xFFD4,
   416                len: 0x2,
   417                space: "data"
   418            }],
   419    
   420            ["INT43", {
   421                comment: "USCI_B3 Receive/Transmit Vector",
   422                name: "INT43",
   423                base: 0xFFD6,
   424                len: 0x2,
   425                space: "data"
   426            }],
   427    
   428            ["INT44", {
   429                comment: "USCI_A3 Receive/Transmit Vector",
   430                name: "INT44",
   431                base: 0xFFD8,
   432                len: 0x2,
   433                space: "data"
   434            }],
   435    
   436            ["INT45", {
   437                comment: "USCI_B1 Receive/Transmit Vector",
   438                name: "INT45",
   439                base: 0xFFDA,
   440                len: 0x2,
   441                space: "data"
   442            }],
   443    
   444            ["INT46", {
   445                comment: "USCI_A1 Receive/Transmit Vector",
   446                name: "INT46",
   447                base: 0xFFDC,
   448                len: 0x2,
   449                space: "data"
   450            }],
   451    
   452            ["INT47", {
   453                comment: "I/O Port P1 Vector",
   454                name: "INT47",
   455                base: 0xFFDE,
   456                len: 0x2,
   457                space: "data"
   458            }],
   459    
   460            ["INT48", {
   461                comment: "TA1 CCR1-CCR2 Vector",
   462                name: "INT48",
   463                base: 0xFFE0,
   464                len: 0x2,
   465                space: "data"
   466            }],
   467    
   468            ["INT49", {
   469                comment: "TA1 CCR0 Vector",
   470                name: "INT49",
   471                base: 0xFFE2,
   472                len: 0x2,
   473                space: "data"
   474            }],
   475    
   476            ["INT50", {
   477                comment: "DMA Vector",
   478                name: "INT50",
   479                base: 0xFFE4,
   480                len: 0x2,
   481                space: "data"
   482            }],
   483    
   484            ["INT51", {
   485                comment: "USCI_B2 Receive/Transmit Vector",
   486                name: "INT51",
   487                base: 0xFFE6,
   488                len: 0x2,
   489                space: "data"
   490            }],
   491    
   492            ["INT52", {
   493                comment: "USCI_A2 Receive/Transmit Vector",
   494                name: "INT52",
   495                base: 0xFFE8,
   496                len: 0x2,
   497                space: "data"
   498            }],
   499    
   500            ["INT53", {
   501                comment: "TA0 CCR1-CCR4 Vector",
   502                name: "INT53",
   503                base: 0xFFEA,
   504                len: 0x2,
   505                space: "data"
   506            }],
   507    
   508            ["INT54", {
   509                comment: "TA0 CCR0 Vector",
   510                name: "INT54",
   511                base: 0xFFEC,
   512                len: 0x2,
   513                space: "data"
   514            }],
   515    
   516            ["INT55", {
   517                comment: "ADC12_A Vector",
   518                name: "INT55",
   519                base: 0xFFEE,
   520                len: 0x2,
   521                space: "data"
   522            }],
   523    
   524            ["INT56", {
   525                comment: "USCI_B0 Receive/Transmit Vector",
   526                name: "INT56",
   527                base: 0xFFF0,
   528                len: 0x2,
   529                space: "data"
   530            }],
   531    
   532            ["INT57", {
   533                comment: "USCI_A0 Receive/Transmit Vector",
   534                name: "INT57",
   535                base: 0xFFF2,
   536                len: 0x2,
   537                space: "data"
   538            }],
   539    
   540            ["INT58", {
   541                comment: "Watchdog Timer_A Interval Timer Mode Vector",
   542                name: "INT58",
   543                base: 0xFFF4,
   544                len: 0x2,
   545                space: "data"
   546            }],
   547    
   548            ["INT59", {
   549                comment: "TB0 CCR1-CCR6 Vector",
   550                name: "INT59",
   551                base: 0xFFF6,
   552                len: 0x2,
   553                space: "data"
   554            }],
   555    
   556            ["INT60", {
   557                comment: "TB0 CCR0 Vector",
   558                name: "INT60",
   559                base: 0xFFF8,
   560                len: 0x2,
   561                space: "data"
   562            }],
   563    
   564            ["INT61", {
   565                comment: "User NMI Vector",
   566                name: "INT61",
   567                base: 0xFFFA,
   568                len: 0x2,
   569                space: "data"
   570            }],
   571    
   572            ["INT62", {
   573                comment: "System NMI Vector",
   574                name: "INT62",
   575                base: 0xFFFC,
   576                len: 0x2,
   577                space: "data"
   578            }],
   579    
   580            ["RESET", {
   581                comment: "Reset Vector",
   582                name: "RESET",
   583                base: 0xFFFE,
   584                len:  0x2,
   585                space: "data"
   586            }],
   587        ];
   588    }