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