OSDN Git Service

V3.5 ABORT messages display I2C address
[fast-forth/master.git] / inc / MSP430FR6989.inc
1 ; MSP430FR6989.inc
2 ; MSP430FR6989  minimal declarations for FastForth usage
3 DEVICE = "MSP430FR6989"
4
5
6 ; ----------------------------------------------
7 ; MSP430FR6989 MEMORY MAP
8 ; ----------------------------------------------
9
10 ; 0020-0FFF = peripherals (4 KB)
11 ; 1000-17FF = BootStrap Loader BSL0..3 (ROM 4x512 B)
12 ; 1800-187F = info D (FRAM 128 B)
13 ; 1880-18FF = info C (FRAM 128 B)
14 ; 1900-197F = info B (FRAM 128 B)
15 ; 1980-19FF = info A (FRAM 128 B)
16 ; 1A00-1AFF = TLV device descriptor info (FRAM 256 B)
17 ; 1B00-1BFF = Boot memory (ROM 256 B)
18 ; 1C00-23FF = RAM (2 KB)
19 ; 2000-43FF = unused
20 ; 4400-FF7F = code memory (FRAM 47999 B)
21 ; FF80-FFFF = interrupt vectors (FRAM 128 B)
22 ; 10000-23FFF = FRAM
23 ; ----------------------------------------------
24 PAGESIZE       .equ 512         ; MPU unit
25 ; ----------------------------------------------
26 ; FRAM                          ; INFO{D,C,B,A},TLV
27 ; ----------------------------------------------
28 INFO_ORG        .equ 01800h
29 INFO_LEN        .equ 00200h
30 INFOD_ORG       .equ 01800h
31 INFOD_LEN       .equ 00080h
32 INFOC_ORG       .equ 01880h
33 INFOC_LEN       .equ 00080h
34 INFOB_ORG       .equ 01900h
35 INFOB_LEN       .equ 00080h
36 INFOA_ORG       .equ 01980h
37 INFOA_LEN       .equ 00080h
38 TLV_ORG         .equ 01A00h      ; Device Descriptor Info (Tag-Lenght-Value)
39 TLV_LEN         .equ 00100h      ;
40 ; ----------------------------------------------
41 ; RAM
42 ; ----------------------------------------------
43 RAM_ORG         .equ 01C00h
44 RAM_LEN         .equ 00800h
45 ; ----------------------------------------------
46 ; FRAM
47 ; ----------------------------------------------
48 MAIN_ORG        .equ 04400h      ; Code space start
49 MAIN_LEN        .equ 1FC00h      ; 127 k FRAM
50 SIGNATURES      .equ 0FF80h      ; JTAG, BSL and IP Encapsulation signatures 1 and 2
51 JTAG_SIG1       .equ 0FF80h      ; if 0, enable JTAG/SBW
52 JTAG_SIG2       .equ 0FF82h      ; if JTAG_SIG1=0xAAAA, length of password string @ JTAG_PASSWORD
53 BSL_SIG1        .equ 0FF84h      ;
54 BSL_SIG2        .equ 0FF86h      ;
55 JTAG_PASSWORD   .equ 0FF86h      ; up to 0FFC5h : 256 bits
56 VECT_ORG        .equ 0FFC6h      ; FFC6-FFFF
57 VECT_LEN        .equ 3Ah
58 BSL_PASSWORD    .equ 0FFE0h      ; up to 0FFFFh : 256 bits
59 ; ----------------------------------------------
60
61 ; ----------------------------------------------
62 ; Interrupt Vectors and signatures - MSP430FR6989
63 ; ----------------------------------------------
64
65 ;    .org    SIGNATURES
66 ;;Start of JTAG and BSL signatures
67 ;        .word   0FFFFh      ; JTAG signature 1
68 ;        .word   0FFFFh      ; JTAG signature 2
69 ;        .word   0FFFFh      ; BSL signature 1, 5555h to disable BSL
70 ;        .word   0FFFFh      ; BSL signature 2
71 ;
72 ;   .org JTAG_PASSWORD      ;Start of JTAG PASSWORD
73 ;
74 ;    .org    INTVECT         ; FFC6-FFFF 28 vectors + reset
75 ;        .word  reset        ; 0FFC6h  -  AES
76 ;        .word  reset        ; 0FFC8h  -  RTC_C
77 ;        .word  reset        ; 0FFCAh  -  LCD_C
78 ;        .word  reset        ; 0FFCCh  -  I/O Port 4
79 ;        .word  reset        ; 0FFCEh  -  I/O Port 3
80 ;        .word  reset        ; 0FFD0h  -  TA3_x
81 ;        .word  reset        ; 0FFD2h  -  TA3_0
82 ;        .word  reset        ; 0FFD4h  -  I/O Port P2
83 ;        .word  reset        ; 0FFD6h  -  TA2_x
84 ;        .word  reset        ; 0FFD8h  -  TA2_0
85 ;        .word  reset        ; 0FFDAh  -  I/O Port P1
86 ;        .word  reset        ; 0FFDCh  -  TA1_x
87 ;        .word  reset        ; 0FFDEh  -  TA1_0
88 ;;    .org BSL_PASSWORD      ;Start of BSL PASSWORD
89 ;        .word  reset        ; 0FFE0h  -  DMA
90 ;        .word  reset        ; 0FFE2h  -  eUSCI_B1
91 ;        .word  reset        ; 0FFE4h  -  eUSCI_A1
92 ;        .word  reset        ; 0FFE6h  -  TA0_x
93 ;        .word  reset        ; 0FFE8h  -  TA0_0
94 ;        .word  reset        ; 0FFEAh  -  ADC12_B
95 ;        .word  reset        ; 0FFECh  -  eUSCI_B0
96 ;        .word  reset        ; 0FFEEh  -  eUSCI_A0
97 ;        .word  reset        ; 0FFF0h  -  Extended Scan IF
98 ;        .word  reset        ; 0FFF2h  -  Watchdog
99 ;        .word  reset        ; 0FFF4h  -  TB0_x
100 ;        .word  reset        ; 0FFF6h  -  TB0_0
101 ;        .word  reset        ; 0FFF8h  -  COMP_E
102 ;        .word  reset        ; 0FFFAh  -  userNMI
103 ;        .word  reset        ; 0FFFCh  -  sysNMI
104 ;        .word  reset        ; 0FFFEh  -  reset
105
106
107
108
109 ; ----------------------------------------------------------------------
110 ; EXP430FR6989 Peripheral File Map
111 ; ----------------------------------------------------------------------
112 SFR_SFR         .set 0100h           ; Special function
113 PMM_SFR         .set 0120h           ; PMM
114 FRAM_SFR        .set 0140h           ; FRAM control
115 CRC16_SFR       .set 0150h
116 RAMC_SFR        .set 0158h           ; RAM controller
117 WDT_A_SFR       .set 015Ch           ; Watchdog
118 CS_SFR          .set 0160h           ; Clock System
119 SYS_SFR         .set 0180h           ; SYS
120 REF_SFR         .set 01B0h           ; shared REF
121 PA_SFR          .set 0200h           ; PORT1/2
122 PB_SFR          .set 0220h           ; PORT3/4
123 PC_SFR          .set 0240h           ; PORT5/6
124 PD_SFR          .set 0260h           ; PORT7/8
125 PE_SFR          .set 0280h           ; PORT9/10
126 PJ_SFR          .set 0320h           ; PORTJ
127 TA0_SFR         .set 0340h
128 TA1_SFR         .set 0380h
129 TB0_SFR         .set 03C0h
130 TA2_SFR         .set 0400h
131 CTIO0_SFR       .set 0430h           ; Capacitive Touch IO
132 TA3_SFR         .set 0440h
133 CTIO1_SFR       .set 0470h           ; Capacitive Touch IO
134 RTC_C_SFR       .set 04A0h
135 MPY_SFR         .set 04C0h
136 DMA_CTRL_SFR    .set 0500h
137 DMA_CHN0_SFR    .set 0510h
138 DMA_CHN1_SFR    .set 0520h
139 DMA_CHN2_SFR    .set 0530h
140 MPU_SFR         .set 05A0h           ; memory protect unit
141 eUSCI_A0_SFR    .set 05C0h           ; eUSCI_A0
142 eUSCI_A1_SFR    .set 05E0h           ; eUSCI_A1
143 eUSCI_B0_SFR    .set 0640h           ; eUSCI_B0
144 eUSCI_B1_SFR    .set 0680h           ; eUSCI_B1
145 ADC12_B_SFR     .set 0800h
146 COMP_E_SFR      .set 08C0h
147 CRC32_SFR       .set 0980h
148 AES_SFR         .set 09C0h
149 LCD_SFR         .set 0A00h
150 ESI_SFR         .set 0D00h
151 ESI_RAM         .set 0E00h          ; 128 bytes
152
153
154 UCSWRST         .equ 1  ; eUSCI Software Reset
155 UCTXIE          .equ 2  ; eUSCI Transmit Interrupt Enable
156 UCRXIE          .equ 1  ; eUSCI Receive Interrupt Enable
157 UCTXIFG         .equ 2  ; eUSCI Transmit Interrupt Flag
158 UCRXIFG         .equ 1  ; eUSCI Receive Interrupt Flag
159
160
161 ; ----------------------------------------------------------------------
162 ; POWER ON RESET AND INITIALIZATION : LOCK PMM_LOCKLPM5
163 ; ----------------------------------------------------------------------
164 SFRIE1      .equ SFR_SFR
165 SFRIFG1     .equ SFR_SFR + 2
166 SFRRPCR     .equ SFR_SFR + 4
167
168 PMMCTL0     .set PMM_SFR
169 PMMSWBOR    .set 4
170
171 PM5CTL0     .set PMM_SFR + 10h    ; Power mode 5 control register 0
172 LOCKLPM5    .set 1
173
174 ; ----------------------------------------------------------------------
175 ; FRAM config
176 ; ----------------------------------------------------------------------
177 FRCTL0          .set FRAM_SFR + 00h   ; FRAM Controller Control 0
178 FRCTL0_H        .set FRAM_SFR + 01h   ; FRAM Controller Control 0 high byte
179
180 ; ----------------------------------------------------------------------
181 ; POWER ON RESET AND INITIALIZATION : WATCHDOG TIMER A
182 ; ----------------------------------------------------------------------
183
184 WDTCTL      .equ WDT_A_SFR + 00h    ; Watchdog Timer Control */
185
186 ; WDTCTL Control Bits
187 WDTPW       .equ 5A00h
188 WDTHOLD     .equ 0080h  ; WDT - Timer hold
189 WDTCNTCL    .equ 0008h  ; WDT timer counter clear
190
191 ; ----------------------------------------------------------------------
192 ; POWER ON RESET AND INITIALIZATION : CLOCK SYSTEM
193 ; ----------------------------------------------------------------------
194
195 CSCTL0          .equ CS_SFR + 00h       ; CS Control Register 0
196 CSCTL0_H        .equ CS_SFR + 01h       ; CS Control Register 0 high byte
197 CSCTL1          .equ CS_SFR + 02h       ; CS Control Register 1
198 CSCTL2          .equ CS_SFR + 04h       ; CS Control Register 2
199 CSCTL3          .equ CS_SFR + 06h       ; CS Control Register 3
200
201 ; CSCTL0 Control Bits
202 CSKEY           .equ 0A5h           ; CS Password
203 ; CSCTL1 Control Bits
204 DCORSEL         .equ 0040h
205 DCOFSEL0        .equ 0002h           ; DCO frequency select Bit: 0
206 DCOFSEL1        .equ 0004h           ; DCO frequency select Bit: 1
207 DCOFSEL2        .equ 0008h           ; DCO frequency select Bit: 2
208 DCOFSEL3        .equ 000Ch           ; DCO frequency select Bit: 21
209 ; CSCTL2 Control Bits
210 SELA_LFXCLK     .equ 0000h           ; 0 : ACLK Source Select LFXCLK
211 SELA_VLOCLK     .equ 0100h           ; 1 ACLK Source Select VLOCLK 10kHz
212 SELS_DCOCLK     .equ 0030h           ; 3 : SMCLK Source Select DCOCLK
213 SELM_DCOCLK     .equ 0003h           ; 3 : MCLK Source Select DCOCLK
214 ; CSCTL3 Control Bits
215 DIVA_0          .equ 0000h           ; ACLK Source Divider 0
216 DIVS_0          .equ 0000h           ; SMCLK Source Divider 0
217 DIVM_0          .equ 0000h           ; MCLK Source Divider 0
218 DIVA_2          .equ 0100h           ; ACLK Source Divider 0
219 DIVS_2          .equ 0010h           ; SMCLK Source Divider 0
220 DIVM_2          .equ 0001h           ; MCLK Source Divider 0
221 DIVA_4          .equ 0200h           ; ACLK Source Divider 0
222 DIVS_4          .equ 0020h           ; SMCLK Source Divider 0
223 DIVM_4          .equ 0002h           ; MCLK Source Divider 0
224 DIVA_8          .equ 0300h           ; ACLK Source Divider 0
225 DIVS_8          .equ 0030h           ; SMCLK Source Divider 0
226 DIVM_8          .equ 0003h           ; MCLK Source Divider 0
227 DIVA_16         .equ 0400h           ; ACLK Source Divider 0
228 DIVS_16         .equ 0040h           ; SMCLK Source Divider 0
229 DIVM_16         .equ 0004h           ; MCLK Source Divider 0
230 DIVA_32         .equ 0500h           ; ACLK Source Divider 0
231 DIVS_32         .equ 0050h           ; SMCLK Source Divider 0
232 DIVM_32         .equ 0005h           ; MCLK Source Divider 0
233
234 ; ----------------------------------------------------------------------
235 ; POWER ON RESET AND INITIALIZATION : SYS REGISTERS
236 ; ----------------------------------------------------------------------
237
238 SYSUNIV     .equ SYS_SFR + 001Ah
239 SYSSNIV     .equ SYS_SFR + 001Ch
240 SYSRSTIV    .equ SYS_SFR + 001Eh
241
242 ; SYS Control Bits
243 ; ...
244 ; ----------------------------------------------------------------------
245 ; POWER ON RESET AND INITIALIZATION : REF
246 ; ----------------------------------------------------------------------
247
248 REFCTL      equ REF_SFR + 00h       ; REF Shared Reference control register 0
249
250 ; REFCTL0 Control Bits
251 REFON       equ 0001h               ; REF Reference On
252 REFTCOFF    equ 0008h               ; REF Temp.Sensor off
253
254 ; ----------------------------------------------------------------------
255 ; POWER ON RESET AND INITIALIZATION : PORT1/2
256 ; ----------------------------------------------------------------------
257
258 PAIN        .equ PA_SFR + 00h    ; Port A INput
259 PAOUT       .equ PA_SFR + 02h    ; Port A OUTput
260 PADIR       .equ PA_SFR + 04h    ; Port A DIRection
261 PAREN       .equ PA_SFR + 06h    ; Port A Resistor ENable
262 PASEL0      .equ PA_SFR + 0Ah    ; Port A SELection 0
263 PASEL1      .equ PA_SFR + 0Ch    ; Port A SELection 1
264 PASELC      .equ PA_SFR + 16h    ; Port A SELection Complement
265 PAIES       .equ PA_SFR + 18h    ; Port A Interrupt Edge Select
266 PAIE        .equ PA_SFR + 1Ah    ; Port A Interrupt Enable
267 PAIFG       .equ PA_SFR + 1Ch    ; Port A Interrupt FlaG
268
269 P1IN        .equ PA_SFR + 00h    ; Port 1 INput
270 P1OUT       .equ PA_SFR + 02h    ; Port 1 OUTput
271 P1DIR       .equ PA_SFR + 04h    ; Port 1 DIRection
272 P1REN       .equ PA_SFR + 06h    ; Port 1 Resistor ENable
273 P1SEL0      .equ PA_SFR + 0Ah    ; Port 1 SELection 0
274 P1SEL1      .equ PA_SFR + 0Ch    ; Port 1 SELection 1
275 P1SELC      .equ PA_SFR + 16h    ; Port 1 SELection Complement
276 P1IES       .equ PA_SFR + 18h    ; Port 1 Interrupt Edge Select
277 P1IE        .equ PA_SFR + 1Ah    ; Port 1 Interrupt Enable
278 P1IFG       .equ PA_SFR + 1Ch    ; Port 1 Interrupt FlaG
279 P1IV        .equ PA_SFR + 0Eh    ; Port 1 Interrupt Vector word 
280
281 P2IN        .equ PA_SFR + 01h    ; Port 2 INput
282 P2OUT       .equ PA_SFR + 03h    ; Port 2 OUTput
283 P2DIR       .equ PA_SFR + 05h    ; Port 2 DIRection
284 P2REN       .equ PA_SFR + 07h    ; Port 2 Resistor ENable
285 P2SEL0      .equ PA_SFR + 0Bh    ; Port 2 SELection 0
286 P2SEL1      .equ PA_SFR + 0Dh    ; Port 2 SELection 1
287 P2SELC      .equ PA_SFR + 17h    ; Port 2 SELection Complement
288 P2IES       .equ PA_SFR + 19h    ; Port 2 Interrupt Edge Select
289 P2IE        .equ PA_SFR + 1Bh    ; Port 2 Interrupt Enable
290 P2IFG       .equ PA_SFR + 1Dh    ; Port 2 Interrupt FlaG
291 P2IV        .equ PA_SFR + 1Eh    ; Port 2 Interrupt Vector word 
292
293 ; ----------------------------------------------------------------------
294 ; POWER ON RESET AND INITIALIZATION : PORT3/4
295 ; ----------------------------------------------------------------------
296
297 PBIN        .equ PB_SFR + 00h    ; Port B Input
298 PBOUT       .equ PB_SFR + 02h    ; Port B Output 1/0 or pullup/pulldown resistor
299 PBDIR       .equ PB_SFR + 04h    ; Port B Direction
300 PBREN       .equ PB_SFR + 06h    ; Port B Resistor Enable
301 PBSEL0      .equ PB_SFR + 0Ah    ; Port B Selection 0
302 PBSEL1      .equ PB_SFR + 0Ch    ; Port B Selection 1
303 PBSELC      .equ PB_SFR + 16h    ; Port B Complement Selection
304 PBIES       .equ PB_SFR + 18h    ; Port B Interrupt Edge Select
305 PBIE        .equ PB_SFR + 1Ah    ; Port B Interrupt Enable
306 PBIFG       .equ PB_SFR + 1Ch    ; Port B Interrupt Flag
307
308 P3IN        .equ PB_SFR + 00h    ; Port 3 Input */
309 P3OUT       .equ PB_SFR + 02h    ; Port 3 Output
310 P3DIR       .equ PB_SFR + 04h    ; Port 3 Direction
311 P3REN       .equ PB_SFR + 06h    ; Port 3 Resistor Enable
312 P3SEL0      .equ PB_SFR + 0Ah    ; Port 3 Selection 0
313 P3SEL1      .equ PB_SFR + 0Ch    ; Port 3 Selection 1
314 P3SELC      .equ PB_SFR + 16h    ; Port 3 Complement Selection
315 P3IES       .equ PB_SFR + 18h    ; Port 3 Interrupt Edge Select
316 P3IE        .equ PB_SFR + 1Ah    ; Port 3 Interrupt Enable
317 P3IFG       .equ PB_SFR + 1Ch    ; Port 3 Interrupt Flag
318 P3IV        .equ PB_SFR + 0Eh    ; Port 3 Interrupt Vector word 
319
320 P4IN        .equ PB_SFR + 01h    ; Port 4 Input */
321 P4OUT       .equ PB_SFR + 03h    ; Port 4 Output
322 P4DIR       .equ PB_SFR + 05h    ; Port 4 Direction
323 P4REN       .equ PB_SFR + 07h    ; Port 4 Resistor Enable
324 P4SEL0      .equ PB_SFR + 0Bh    ; Port 4 Selection 0
325 P4SEL1      .equ PB_SFR + 0Dh    ; Port 4 Selection 1
326 P4SELC      .equ PB_SFR + 17h    ; Port 4 Complement Selection
327 P4IES       .equ PB_SFR + 19h    ; Port 4 Interrupt Edge Select
328 P4IE        .equ PB_SFR + 1Bh    ; Port 4 Interrupt Enable
329 P4IFG       .equ PB_SFR + 1Dh    ; Port 4 Interrupt Flag
330 P4IV        .equ PB_SFR + 1Eh    ; Port 4 Interrupt Vector word 
331
332 ; ----------------------------------------------------------------------
333 ; POWER ON RESET AND INITIALIZATION : PORT5/6
334 ; ----------------------------------------------------------------------
335
336 PCIN        .set PC_SFR + 00h    ; Port C Input
337 PCOUT       .set PC_SFR + 02h    ; Port C Output 1/0 or pullup/pulldown resistor
338 PCDIR       .set PC_SFR + 04h    ; Port C Direction
339 PCREN       .set PC_SFR + 06h    ; Port C Resistor Enable
340 PCSEL0      .set PC_SFR + 0Ah    ; Port C Selection 0
341 PCSEL1      .set PC_SFR + 0Ch    ; Port C Selection 1
342 PCSELC      .set PC_SFR + 16h    ; Port C Complement Selection
343
344 P5IN        .set PC_SFR + 00h    ; Port 5 Input */
345 P5OUT       .set PC_SFR + 02h    ; Port 5 Output
346 P5DIR       .set PC_SFR + 04h    ; Port 5 Direction
347 P5REN       .set PC_SFR + 06h    ; Port 5 Resistor Enable
348 P5SEL0      .set PC_SFR + 0Ah    ; Port 5 Selection 0
349 P5SEL1      .set PC_SFR + 0Ch    ; Port 5 Selection 1
350 P5SELC      .set PC_SFR + 16h    ; Port 5 Complement Selection
351
352 P6IN        .set PC_SFR + 01h    ; Port 6 Input */
353 P6OUT       .set PC_SFR + 03h    ; Port 6 Output
354 P6DIR       .set PC_SFR + 05h    ; Port 6 Direction
355 P6REN       .set PC_SFR + 07h    ; Port 6 Resistor Enable
356 P6SEL0      .set PC_SFR + 0Bh    ; Port 6 Selection 0
357 P6SEL1      .set PC_SFR + 0Dh    ; Port 6 Selection 1
358 P6SELC      .set PC_SFR + 17h    ; Port 6 Complement Selection
359
360 ; ----------------------------------------------------------------------
361 ; POWER ON RESET AND INITIALIZATION : PORT7/8
362 ; ----------------------------------------------------------------------
363
364 PDIN        .set PD_SFR + 00h    ; Port D Input
365 PDOUT       .set PD_SFR + 02h    ; Port D Output 1/0 or pullup/pulldown resistor
366 PDDIR       .set PD_SFR + 04h    ; Port D Direction
367 PDREN       .set PD_SFR + 06h    ; Port D Resistor Enable
368 PDSEL0      .set PD_SFR + 0Ah    ; Port D Selection 0
369 PDSEL1      .set PD_SFR + 0Ch    ; Port D Selection 1
370 PDSELC      .set PD_SFR + 16h    ; Port D Complement Selection
371
372 P7IN        .set PD_SFR + 00h    ; Port 7 Input */
373 P7OUT       .set PD_SFR + 02h    ; Port 7 Output
374 P7DIR       .set PD_SFR + 04h    ; Port 7 Direction
375 P7REN       .set PD_SFR + 06h    ; Port 7 Resistor Enable
376 P7SEL0      .set PD_SFR + 0Ah    ; Port 7 Selection 0
377 P7SEL1      .set PD_SFR + 0Ch    ; Port 7 Selection 1
378 P7SELC      .set PD_SFR + 16h    ; Port 7 Complement Selection
379
380 P8IN        .set PD_SFR + 01h    ; Port 8 Input */
381 P8OUT       .set PD_SFR + 03h    ; Port 8 Output
382 P8DIR       .set PD_SFR + 05h    ; Port 8 Direction
383 P8REN       .set PD_SFR + 07h    ; Port 8 Resistor Enable
384 P8SEL0      .set PD_SFR + 0Bh    ; Port 8 Selection 0
385 P8SEL1      .set PD_SFR + 0Dh    ; Port 8 Selection 1
386 P8SELC      .set PD_SFR + 17h    ; Port 8 Complement Selection
387
388 ; ----------------------------------------------------------------------
389 ; POWER ON RESET AND INITIALIZATION : PORT9/10
390 ; ----------------------------------------------------------------------
391
392 PEIN        .set PE_SFR + 00h    ; Port E Input
393 PEOUT       .set PE_SFR + 02h    ; Port E Output 1/0 or pullup/pulldown resistor
394 PEDIR       .set PE_SFR + 04h    ; Port E Direction
395 PEREN       .set PE_SFR + 06h    ; Port E Resistor Enable
396 PESEL0      .set PE_SFR + 0Ah    ; Port E Selection 0
397 PESEL1      .set PE_SFR + 0Ch    ; Port E Selection 1
398 PESELC      .set PE_SFR + 16h    ; Port E Complement Selection
399
400 P9IN        .set PE_SFR + 00h    ; Port 9 Input */
401 P9OUT       .set PE_SFR + 02h    ; Port 9 Output
402 P9DIR       .set PE_SFR + 04h    ; Port 9 Direction
403 P9REN       .set PE_SFR + 06h    ; Port 9 Resistor Enable
404 P9SEL0      .set PE_SFR + 0Ah    ; Port 9 Selection 0
405 P9SEL1      .set PE_SFR + 0Ch    ; Port 9 Selection 1
406 P9SELC      .set PE_SFR + 16h    ; Port 9 Complement Selection
407
408 P10IN        .set PE_SFR + 01h    ; Port 10 Input */
409 P10OUT       .set PE_SFR + 03h    ; Port 10 Output
410 P10DIR       .set PE_SFR + 05h    ; Port 10 Direction
411 P10REN       .set PE_SFR + 07h    ; Port 10 Resistor Enable
412 P10SEL0      .set PE_SFR + 0Bh    ; Port 10 Selection 0
413 P10SEL1      .set PE_SFR + 0Dh    ; Port 10 Selection 1
414 P10SELC      .set PE_SFR + 17h    ; Port 10 Complement Selection
415
416 ; ----------------------------------------------------------------------
417 ; POWER ON RESET AND INITIALIZATION : PORTJ
418 ; ----------------------------------------------------------------------
419
420 PJIN        .equ PJ_SFR + 00h   ; Port J INput
421 PJOUT       .equ PJ_SFR + 02h   ; Port J OUTput
422 PJDIR       .equ PJ_SFR + 04h   ; Port J DIRection
423 PJREN       .equ PJ_SFR + 06h   ; Port J Resistor ENable
424 PJSEL0      .equ PJ_SFR + 0Ah   ; Port 2 SELection 0
425 PJSEL1      .equ PJ_SFR + 0Ch   ; Port 2 SELection 1
426 PJSELC      .equ PJ_SFR + 16h   ; Port 2 SELection Complement; PJ 5-0 usage
427
428 ; ----------------------------------------------------------------------
429 RTC_C
430 ; ----------------------------------------------------------------------
431 RTCCTL0_L     .set RTC_C_SFR + 00h
432 RTCCTL0_H     .set RTC_C_SFR + 01h
433 RTCCTL1       .set RTC_C_SFR + 02h
434 RTCCTL3       .set RTC_C_SFR + 03h
435 RTCOCAL       .set RTC_C_SFR + 04h
436 RTCTCMP       .set RTC_C_SFR + 06h
437 RTCPS0CTL     .set RTC_C_SFR + 08h
438 RTCPS1CTL     .set RTC_C_SFR + 0Ah
439 RTCPS         .set RTC_C_SFR + 0Ch ; = RT1PS:RT0PS
440 RTCIV         .set RTC_C_SFR + 0Eh
441 RTCSEC        .set RTC_C_SFR + 10h
442 RTCCNT1       .set RTC_C_SFR + 10h     
443 RTCMIN        .set RTC_C_SFR + 11h
444 RTCCNT2       .set RTC_C_SFR + 11h
445 RTCHOUR       .set RTC_C_SFR + 12h
446 RTCCNT3       .set RTC_C_SFR + 12h
447 RTCDOW        .set RTC_C_SFR + 13h
448 RTCCNT4       .set RTC_C_SFR + 13h
449 RTCDAY        .set RTC_C_SFR + 14h
450 RTCMON        .set RTC_C_SFR + 15h
451 RTCYEAR       .set RTC_C_SFR + 16h
452
453 RTCHOLD       .set 40h
454 RTCRDY        .set 10h
455
456 ; ----------------------------------------------------------------------
457 MPY_32
458 ; ----------------------------------------------------------------------
459
460 MPY       .equ MPY_SFR + 00h    ; Multiply16 Unsigned/Operand 1 */
461 MPYS      .equ MPY_SFR + 02h    ; Multiply16 signed/Operand 1
462 MAC       .equ MPY_SFR + 04h    ; MultiplyAccumulate16 Unsigned/Operand 1 */
463 MACS      .equ MPY_SFR + 06h    ; MultiplyAccumulate16 signed/Operand 1
464 OP2       .equ MPY_SFR + 08h    ; Operand2_16 */
465 RESLO     .equ MPY_SFR + 0Ah    ; 16x16-bit result low - least significant word */
466 RESHI     .equ MPY_SFR + 0Ch    ; 16x16-bit result high */
467 SUMEXT    .equ MPY_SFR + 0Eh    ; 16x16-bit sum extension register
468 MPY32L    .equ MPY_SFR + 10h    ; Multiply32 Unsigned/Operand 1
469 MPY32H    .equ MPY_SFR + 12h    ; Multiply32 Unsigned/Operand 1
470 MPYS32L   .equ MPY_SFR + 14h    ; Multiply32 signed/Operand 1
471 MPYS32H   .equ MPY_SFR + 16h    ; Multiply32 signed/Operand 1
472 MAC32L    .equ MPY_SFR + 18h    ; MultiplyAccumulate32 Unsigned/Operand 1
473 MAC32H    .equ MPY_SFR + 1Ah    ; MultiplyAccumulate32 Unsigned/Operand 1
474 MACS32L   .equ MPY_SFR + 1Ch    ; MultiplyAccumulate32 signed/Operand 1
475 MACS32H   .equ MPY_SFR + 1Eh    ; MultiplyAccumulate32 signed/Operand 1
476 OP2L      .equ MPY_SFR + 20h    ; Multiply32 Operand 2
477 OP2H      .equ MPY_SFR + 22h    ; Multiply32 Operand 2
478 RES0      .equ MPY_SFR + 24h    ; 32x32-bit result 0 - least significant word */
479 RES1      .equ MPY_SFR + 26h    ; 32x32-bit result 1 */
480 RES2      .equ MPY_SFR + 28h    ; 32x32-bit result 2 */
481 RES3      .equ MPY_SFR + 2Ah    ; 32x32-bit result 3 */
482 MPY32CTL0 .equ MPY_SFR + 2Ch    ; MPY32 control register 0
483
484
485 MPUCTL0     .equ MPU_SFR + 00h  ; MPU control 0             
486 MPUCTL1     .equ MPU_SFR + 02h  ; MPU control 1             
487 MPUSEGB2    .equ MPU_SFR + 04h  ; MPU Segmentation Border 2 
488 MPUSEGB1    .equ MPU_SFR + 06h  ; MPU Segmentation Border 1 
489 MPUSAM      .equ MPU_SFR + 08h  ; MPU access management     
490 MPUIPC0     .equ MPU_SFR + 0Ah  ; MPU IP control 0                      
491 MPUIPSEGB2  .equ MPU_SFR + 0Ch  ; MPU IP Encapsulation Segment Border 2 
492 MPUIPSEGB1  .equ MPU_SFR + 0Eh  ; MPU IP Encapsulation Segment Border 1 
493
494 ; ----------------------------------------------------------------------
495 ; eUSCI_A0
496 ; ----------------------------------------------------------------------
497
498     .IFDEF UCA0_TERM
499 TERM_CTLW0       .equ eUSCI_A0_SFR + 00h    ; eUSCI_A0 Control Word Register 0
500 TERM_BRW         .equ eUSCI_A0_SFR + 06h    ; eUSCI_A0 Baud Word Rate 0
501 TERM_MCTLW       .equ eUSCI_A0_SFR + 08h    ; eUSCI_A0 Modulation Control
502 TERM_STATW       .equ eUSCI_A0_SFR + 0Ah    ; eUSCI_A0 status Word Register
503 TERM_RXBUF       .equ eUSCI_A0_SFR + 0Ch    ; eUSCI_A0 Receive Buffer
504 TERM_TXBUF       .equ eUSCI_A0_SFR + 0Eh    ; eUSCI_A0 Transmit Buffer
505 TERM_IE          .equ eUSCI_A0_SFR + 1Ah    ; eUSCI_A0 Interrupt Enable Register
506 TERM_IFG         .equ eUSCI_A0_SFR + 1Ch    ; eUSCI_A0 Interrupt Flags Register
507 TERM_VEC         .equ 0FFEEh      ; interrupt vector for  eUSCI_A0
508 RX_TERM         .equ 1
509 TX_TERM         .equ 2
510     .ENDIF ;UCA0_TERM
511
512     .IFDEF UCA0_SD
513 SD_CTLW0       .equ eUSCI_A0_SFR + 00h    ; eUSCI_A0 Control Word Register 0
514 SD_BRW         .equ eUSCI_A0_SFR + 06h    ; eUSCI_A0 Baud Word Rate 0
515 SD_RXBUF       .equ eUSCI_A0_SFR + 0Ch    ; eUSCI_A0 Receive Buffer 8
516 SD_TXBUF       .equ eUSCI_A0_SFR + 0Eh    ; eUSCI_A0 Transmit Buffer 8
517 SD_IFG         .equ eUSCI_A0_SFR + 1Ch    ; eUSCI_A0 Interrupt Flags Register
518 RX_SD           .equ 1
519 TX_SD           .equ 2
520     .ENDIF ;UCA0_SD
521
522 ; ----------------------------------------------------------------------
523 ; eUSCI_A1
524 ; ----------------------------------------------------------------------
525
526     .IFDEF UCA1_TERM
527 TERM_CTLW0      .equ eUSCI_A1_SFR + 00h    ; eUSCI_A1 Control Word Register 0
528 TERM_BRW        .equ eUSCI_A1_SFR + 06h    ; eUSCI_A1 Baud Word Rate 0
529 TERM_MCTLW      .equ eUSCI_A1_SFR + 08h    ; eUSCI_A1 Modulation Control
530 TERM_STATW      .equ eUSCI_A1_SFR + 0Ah    ; eUSCI_A1 status Word Register
531 TERM_RXBUF      .equ eUSCI_A1_SFR + 0Ch    ; eUSCI_A1 Receive Buffer
532 TERM_TXBUF      .equ eUSCI_A1_SFR + 0Eh    ; eUSCI_A1 Transmit Buffer
533 TERM_IE         .equ eUSCI_A1_SFR + 1Ah    ; eUSCI_A1 Interrupt Enable Register
534 TERM_IFG        .equ eUSCI_A1_SFR + 1Ch    ; eUSCI_A1 Interrupt Flags Register
535
536 TERM_VEC        .equ 0FFE4h ; interrupt vector for  eUSCI_A1
537 WAKE_UP         .equ 1      ; UART RX interrupt
538
539 RX_TERM         .equ 1
540 TX_TERM         .equ 2
541     .ENDIF ;UCA1_TERM
542
543     .IFDEF UCA1_SD
544 SD_CTLW0       .equ eUSCI_A1_SFR + 00h    ; eUSCI_A1 Control Word Register 0
545 SD_BRW         .equ eUSCI_A1_SFR + 06h    ; eUSCI_A1 Baud Word Rate 0
546 SD_RXBUF       .equ eUSCI_A1_SFR + 0Ch    ; eUSCI_A1 Receive Buffer 8
547 SD_TXBUF       .equ eUSCI_A1_SFR + 0Eh    ; eUSCI_A1 Transmit Buffer 8
548 SD_IFG         .equ eUSCI_A1_SFR + 1Ch    ; eUSCI_A1 Interrupt Flags Register
549 RX_SD           .equ 1
550 TX_SD           .equ 2
551     .ENDIF ;UCA1_SD
552
553
554 ; ----------------------------------------------------------------------
555 ; eUSCI_B0
556 ; ----------------------------------------------------------------------
557     .IFDEF UCB0_SD
558 SD_CTLW0       .equ eUSCI_B0_SFR + 00h    ; eUSCI_B0 Control Word Register 0
559 SD_BRW         .equ eUSCI_B0_SFR + 06h    ; eUSCI_B0 Baud Word Rate 0
560 SD_RXBUF       .equ eUSCI_B0_SFR + 0Ch    ; eUSCI_B0 Receive Buffer 8
561 SD_TXBUF       .equ eUSCI_B0_SFR + 0Eh    ; eUSCI_B0 Transmit Buffer 8
562 SD_IFG         .equ eUSCI_B0_SFR + 2Ch    ; eUSCI_B0 Interrupt Flags Register
563 RX_SD           .equ 1
564 TX_SD           .equ 2
565     .ENDIF ;UCB0_SD
566
567     .IFDEF UCB0_TERM
568 TERM_CTLW0      .equ eUSCI_B0_SFR + 00h     ; USCI_B0 Control Word Register 0
569 TERM_CTLW1      .equ eUSCI_B0_SFR + 02h     ; USCI_B0 Control Word Register 1
570 TERM_BRW        .equ eUSCI_B0_SFR + 06h     ; USCI_B0 Baud Word Rate 0
571 TERM_STATW      .equ eUSCI_B0_SFR + 08h     ; USCI_B0 Status Word
572 TERM_RXBUF      .equ eUSCI_B0_SFR + 0Ch     ; USCI_B0 Receive Buffer 8
573 TERM_TXBUF      .equ eUSCI_B0_SFR + 0Eh     ; USCI_B0 Transmit Buffer 8
574 TERM_I2COA0     .equ eUSCI_B0_SFR + 14h     ; USCI_B0 I2C Own Address 0
575 TERM_ADDRX      .equ eUSCI_B0_SFR + 1Ch     ; USCI_B0  Received Address Register 
576 TERM_I2CSA      .equ eUSCI_B0_SFR + 20h     ; USCI_B0 I2C Slave Address
577 TERM_IE         .equ eUSCI_B0_SFR + 2Ah     ; USCI_B0 Interrupt Enable
578 TERM_IFG        .equ eUSCI_B0_SFR + 2Ch     ; USCI_B0 Interrupt Flags Register
579
580 TERM_VEC        .equ 0FFECh ; interrupt vector for eUSCI_B0
581 WAKE_UP         .equ 4      ; START interrupt
582
583 RX_TERM         .equ 1
584 TX_TERM         .equ 2
585     .ENDIF ;UCB0_TERM
586
587
588