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