OSDN Git Service

fe5e7e7de7a6ac7bf61a88f51d9ecf3738f25271
[fast-forth/master.git] / MSP430FR5994.inc
1 ; MSP430FR5994.inc
2 ; MSP430FR5994  minimal declarations for FastForth usage
3 DEVICE = "MSP430FR5994"
4
5
6 ; ----------------------------------------------
7 ; MSP430FR5994 MEMORY MAP
8 ; ----------------------------------------------
9 ; 000A-001F = tiny RAM
10 ; 0020-0FFF = peripherals (4 KB)
11 ; 1000-17FF = ROM bootstrap loader BSL0..3 (4x512 B)
12 ; 1800-187F = FRAM info D (128 B)
13 ; 1880-18FF = FRAM info C (128 B)
14 ; 1900-197F = FRAM info B (128 B)
15 ; 1980-19FF = FRAM info A (128 B)
16 ; 1A00-1AFF = FRAM TLV device descriptor info (256 B)
17 ; 1B00-1BFF = unused (256 B)
18 ; 1C00-2BFF = RAM (4KB)
19 ; 2C00-3BFF = sharedRAM (4kB)
20 ; 4400-FF7F = FRAM code memory (FRAM) (MSP430FR59x8/9)
21 ; 8000-FF7F = FRAM code memory (FRAM) (MSP430FR59x7/8/9)
22 ; FF80-FFFF = FRAM interrupt vectors and signatures (FRAM)
23
24 ; ----------------------------------------------
25 PAGESIZE        .equ 512         ; MPU unit
26 ; ----------------------------------------------
27 ; BSL                         
28 ; ----------------------------------------------
29 BSL             .equ 1000h
30 ; ----------------------------------------------
31 ; FRAM                          ; INFO B, A, TLV
32 ; ----------------------------------------------
33 INFOSTART       .equ 01800h
34 INFODSTART      .equ 01800h
35 INFODEND        .equ 0187Fh
36 INFOCSTART      .equ 01880h
37 INFOCEND        .equ 018FFh
38 INFOBSTART      .equ 01900h
39 INFOBEND        .equ 0197Fh
40 INFOASTART      .equ 01980h
41 INFOAEND        .equ 019FFh
42 TLVSTART        .equ 01A00h      ; Device Descriptor Info (Tag-Lenght-Value)
43 TLVEND          .equ 01AFFh      ;
44 ; ----------------------------------------------
45 ; RAM
46 ; ----------------------------------------------
47 TinyRAM         .equ 00Ah
48 TinyRAMEnd      .equ 01Fh
49 RAMSTART        .equ 01C00h
50 RAMEND          .equ 02BFFh
51 SharedRAMSTART  .equ 02C00h
52 SharedRAMEND    .equ 03BFFh
53 ; ----------------------------------------------
54 ; FRAM
55 ; ----------------------------------------------
56 PROGRAMSTART    .equ 04000h      ; Code space start
57 FRAMEND         .equ 043FFFh     ; 256 k FRAM
58 SIGNATURES      .equ 0FF80h      ; JTAG/BSL signatures
59 JTAG_SIG1       .equ 0FF80h      ; if 0, enable JTAG/SBW
60 JTAG_SIG2       .equ 0FF82h      ; if JTAG_SIG1=0xAAAA, length of password string @ JTAG_PASSWORD
61 BSL_SIG1        .equ 0FF84h      ;
62 BSL_SIG2        .equ 0FF86h      ;
63 JTAG_PASSWORD   .equ 0FF88h      ; 256 bits max
64 IPE_SIG_VALID   .equ 0FF88h      ; one word
65 IPE_STR_PTR_SRC .equ 0FF8Ah      ; one word
66 INTVECT         .equ 0FFB4h      ; FFB4-FFFF
67 BSL_PASSWORD    .equ 0FFE0h      ; 256 bits
68 ; ----------------------------------------------
69 ;    .org    SIGNATURES
70 ;;Start of JTAG and BSL signatures
71 ;        .word   0FFFFh      ; JTAG signature 1
72 ;        .word   0FFFFh      ; JTAG signature 2
73 ;        .word   0FFFFh      ; BSL signature 1, 5555h to disable BSL
74 ;        .word   0FFFFh      ; BSL signature 2
75
76 ;    .org JTAG_PASSWORD     ;Start of JTAG PASSWORD
77 ;
78 ;    .org    INTVECT         ; FFB4-FFFF 37 vectors + reset
79 ;        .word reset         ; 0FFB4h - LEA_Vec        
80 ;        .word reset         ; 0FFB6h - P8_Vec         
81 ;        .word reset         ; 0FFB8h - P7_Vec         
82 ;        .word reset         ; 0FFBAh - eUSCI_B3_Vec   
83 ;        .word reset         ; 0FFBCh - eUSCI_B2_Vec   
84 ;        .word reset         ; 0FFBEh - eUSCI_B1_Vec   
85 ;        .word reset         ; 0FFC0h - eUSCI_A3_Vec   
86 ;        .word reset         ; 0FFC2h - eUSCI_A2_Vec   
87 ;        .word reset         ; 0FFC4h - P6_Vec         
88 ;        .word reset         ; 0FFC6h - P5_Vec         
89 ;        .word reset         ; 0FFC8h - TA4_x_Vec      
90 ;        .word reset         ; 0FFCAh - TA4_0_Vec      
91 ;        .word reset         ; 0FFCCh - AES_Vec        
92 ;        .word reset         ; 0FFCEh - RTC_C_Vec      
93 ;        .word reset         ; 0FFD0h - P4_Vec=        
94 ;        .word reset         ; 0FFD2h - P3_Vec=        
95 ;        .word reset         ; 0FFD4h - TA3_x_Vec      
96 ;        .word reset         ; 0FFD6h - TA3_0_Vec      
97 ;        .word reset         ; 0FFD8h - P2_Vec         
98 ;        .word reset         ; 0FFDAh - TA2_x_Vec      
99 ;        .word reset         ; 0FFDCh - TA2_0_Vec      
100 ;        .word reset         ; 0FFDEh - P1_Vec=        
101 ;;    .org BSL_PASSWORD      ;Start of BSL PASSWORD
102 ;        .word reset         ; 0FFE0h - TA1_x_Vec      
103 ;        .word reset         ; 0FFE2h - TA1_0_Vec      
104 ;        .word reset         ; 0FFE4h - DMA_Vec        
105 ;        .word reset         ; 0FFE6h - eUSCI_A1_Vec   
106 ;        .word reset         ; 0FFE8h - TA0_x_Vec      
107 ;        .word reset         ; 0FFEAh - TA0_0_Vec      
108 ;        .word reset         ; 0FFECh - ADC12_B_Vec    
109 ;        .word reset         ; 0FFEEh - eUSCI_B0_Vec   
110 ;        .word reset         ; 0FFF0h - eUSCI_A0_Vec   
111 ;        .word reset         ; 0FFF2h - WDT_Vec        
112 ;        .word reset         ; 0FFF4h - TB0_x_Vec      
113 ;        .word reset         ; 0FFF6h - TB0_0_Vec      
114 ;        .word reset         ; 0FFF8h - COMP_E_Vec     
115 ;        .word reset         ; 0FFFAh - U_NMI_Vec      
116 ;        .word reset         ; 0FFFCh - S_NMI_Vec      
117 ;        .word reset         ; 0FFFEh - RST_Vec        
118
119
120 ; ----------------------------------------------------------------------
121 ; MSP430FR5994 Peripheral File Map
122 ; ----------------------------------------------------------------------
123 SFR_SFR         .set 0100h           ; Special function
124 PMM_SFR         .set 0120h           ; PMM
125 FRAM_SFR        .set 0140h           ; FRAM control
126 CRC16_SFR       .set 0150h
127 RAM_SFR         .set 0158h
128 WDT_A_SFR       .set 015Ch           ; Watchdog
129 CS_SFR          .set 0160h           ; Clock System
130 SYS_SFR         .set 0180h           ; SYS
131 REF_SFR         .set 01B0h           ; REF
132 PA_SFR          .set 0200h           ; PORT1/2
133 PB_SFR          .set 0220h           ; PORT3/4
134 PC_SFR          .set 0240h           ; PORT3/4
135 PD_SFR          .set 0260h           ; PORT3/4
136 PJ_SFR          .set 0320h           ; PORTJ
137 TA0_SFR         .set 0340h
138 TA1_SFR         .set 0380h
139 TB0_SFR         .set 03C0h
140 TA2_SFR         .set 0400h
141 CTIO0_SFR       .set 0430h           ; Capacitive Touch IO
142 TA3_SFR         .set 0440h
143 CTIO1_SFR       .set 0470h           ; Capacitive Touch IO
144 RTC_C_SFR       .set 04A0h
145 MPY_SFR         .set 04C0h
146 DMA_CTRL_SFR    .set 0500h
147 DMA_CHN0_SFR    .set 0510h
148 DMA_CHN1_SFR    .set 0520h
149 DMA_CHN2_SFR    .set 0530h
150 DMA_CHN3_SFR    .set 0540h
151 DMA_CHN4_SFR    .set 0550h
152 DMA_CHN5_SFR    .set 0560h
153 MPU_SFR         .set 05A0h           ; memory protect unit
154 eUSCI_A0_SFR    .set 05C0h           ; eUSCI_A0
155 eUSCI_A1_SFR    .set 05E0h           ; eUSCI_A1
156 eUSCI_A2_SFR    .set 0600h           ; eUSCI_A1
157 eUSCI_A3_SFR    .set 0620h           ; eUSCI_A1
158 eUSCI_B0_SFR    .set 0640h           ; eUSCI_B0
159 eUSCI_B1_SFR    .set 0680h           ; eUSCI_B0
160 eUSCI_B2_SFR    .set 06C0h           ; eUSCI_B0
161 eUSCI_B3_SFR    .set 0700h           ; eUSCI_B0
162 TA4_SFR         .set 07C0h
163 ADC12_B_SFR     .set 0800h
164 COMP_E_SFR      .set 08C0h
165 CRC32_SFR       .set 0980h
166 AES_SFR         .set 09C0h
167 LEA_SFR         .set 0A80h
168
169 ; ----------------------------------------------------------------------
170 ; POWER ON RESET AND INITIALIZATION : LOCK PMM_LOCKLPM5
171 ; ----------------------------------------------------------------------
172 PMMCTL0     .set PMM_SFR
173 PMMSWBOR    .set 4
174
175 PM5CTL0     .set PMM_SFR + 10h    ; Power mode 5 control register 0
176 LOCKLPM5    .set 1
177
178 ; ----------------------------------------------------------------------
179 ; FRAM config
180 ; ----------------------------------------------------------------------
181 FRCTL0          .set FRAM_SFR + 00h   ; FRAM Controller Control 0
182 FRCTL0_H        .set FRAM_SFR + 01h   ; FRAM Controller Control 0 high byte
183
184 ; ----------------------------------------------------------------------
185 ; POWER ON RESET AND INITIALIZATION : WATCHDOG TIMER A
186 ; ----------------------------------------------------------------------
187
188 WDTCTL      .equ WDT_A_SFR + 00h    ; Watchdog Timer Control */
189
190 ; WDTCTL Control Bits
191 WDTPW       .equ 5A00h
192 WDTHOLD     .equ 0080h  ; WDT - Timer hold
193 WDTCNTCL    .equ 0008h  ; WDT timer counter clear
194
195
196 ; ----------------------------------------------------------------------
197 ; POWER ON RESET AND INITIALIZATION : CLOCK SYSTEM
198 ; ----------------------------------------------------------------------
199
200 CSCTL0          .equ CS_SFR + 00h       ; CS Control Register 0
201 CSCTL0_H        .equ CS_SFR + 01h       ; CS Control Register 0 high byte
202 CSCTL1          .equ CS_SFR + 02h       ; CS Control Register 1
203 CSCTL2          .equ CS_SFR + 04h       ; CS Control Register 2
204 CSCTL3          .equ CS_SFR + 06h       ; CS Control Register 3
205
206 ; CSCTL0 Control Bits
207 CSKEY           .equ 0A5h           ; CS Password
208 ; CSCTL1 Control Bits
209 DCORSEL         .equ 0040h
210 DCOFSEL0        .equ 0002h           ; DCO frequency select Bit: 0
211 DCOFSEL1        .equ 0004h           ; DCO frequency select Bit: 1
212 DCOFSEL2        .equ 0008h           ; DCO frequency select Bit: 2
213 DCOFSEL3        .equ 000Ch           ; DCO frequency select Bit: 21
214 ; CSCTL2 Control Bits
215 SELA_LFXCLK     .equ 0000h           ; 0 : ACLK Source Select LFXCLK
216 SELA_VLOCLK     .equ 0100h           ; 1 ACLK Source Select VLOCLK 10kHz
217 SELS_DCOCLK     .equ 0030h           ; 3 : SMCLK Source Select DCOCLK
218 SELM_DCOCLK     .equ 0003h           ; 3 : MCLK Source Select DCOCLK
219 ; CSCTL3 Control Bits
220 DIVA_0          .equ 0000h           ; ACLK Source Divider 0
221 DIVS_0          .equ 0000h           ; SMCLK Source Divider 0
222 DIVM_0          .equ 0000h           ; MCLK Source Divider 0
223 DIVA_2          .equ 0100h           ; ACLK Source Divider 0
224 DIVS_2          .equ 0010h           ; SMCLK Source Divider 0
225 DIVM_2          .equ 0001h           ; MCLK Source Divider 0
226 DIVA_4          .equ 0200h           ; ACLK Source Divider 0
227 DIVS_4          .equ 0020h           ; SMCLK Source Divider 0
228 DIVM_4          .equ 0002h           ; MCLK Source Divider 0
229 DIVA_8          .equ 0300h           ; ACLK Source Divider 0
230 DIVS_8          .equ 0030h           ; SMCLK Source Divider 0
231 DIVM_8          .equ 0003h           ; MCLK Source Divider 0
232 DIVA_16         .equ 0400h           ; ACLK Source Divider 0
233 DIVS_16         .equ 0040h           ; SMCLK Source Divider 0
234 DIVM_16         .equ 0004h           ; MCLK Source Divider 0
235 DIVA_32         .equ 0500h           ; ACLK Source Divider 0
236 DIVS_32         .equ 0050h           ; SMCLK Source Divider 0
237 DIVM_32         .equ 0005h           ; MCLK Source Divider 0
238
239 ; ----------------------------------------------------------------------
240 ; POWER ON RESET AND INITIALIZATION : SYS REGISTERS
241 ; ----------------------------------------------------------------------
242
243 SYSUNIV     .equ SYS_SFR + 001Ah
244 SYSSNIV     .equ SYS_SFR + 001Ch
245 SYSRSTIV    .equ SYS_SFR + 001Eh
246
247 ; SYS Control Bits
248 ; ...
249 ; ----------------------------------------------------------------------
250 ; POWER ON RESET AND INITIALIZATION : REF
251 ; ----------------------------------------------------------------------
252
253 REFCTL      equ REF_SFR + 00h       ; REF Shared Reference control register 0
254
255 ; REFCTL0 Control Bits
256 REFON       equ 0001h               ; REF Reference On
257 REFTCOFF    equ 0008h               ; REF Temp.Sensor off
258
259 ; ----------------------------------------------------------------------
260 ; POWER ON RESET AND INITIALIZATION : PORT1/2
261 ; ----------------------------------------------------------------------
262
263 PAIN        .equ PA_SFR + 00h    ; Port A INput
264 PAOUT       .equ PA_SFR + 02h    ; Port A OUTput
265 PADIR       .equ PA_SFR + 04h    ; Port A DIRection
266 PAREN       .equ PA_SFR + 06h    ; Port A Resistor ENable
267 PASEL0      .equ PA_SFR + 0Ah    ; Port A SELection 0
268 PASEL1      .equ PA_SFR + 0Ch    ; Port A SELection 1
269 PASELC      .equ PA_SFR + 16h    ; Port A SELection Complement
270 PAIES       .equ PA_SFR + 18h    ; Port A Interrupt Edge Select
271 PAIE        .equ PA_SFR + 1Ah    ; Port A Interrupt Enable
272 PAIFG       .equ PA_SFR + 1Ch    ; Port A Interrupt FlaG
273
274 P1IN        .equ PA_SFR + 00h    ; Port 1 INput
275 P1OUT       .equ PA_SFR + 02h    ; Port 1 OUTput
276 P1DIR       .equ PA_SFR + 04h    ; Port 1 DIRection
277 P1REN       .equ PA_SFR + 06h    ; Port 1 Resistor ENable
278 P1SEL0      .equ PA_SFR + 0Ah    ; Port 1 SELection 0
279 P1SEL1      .equ PA_SFR + 0Ch    ; Port 1 SELection 1
280 P1SELC      .equ PA_SFR + 16h    ; Port 1 SELection Complement
281 P1IES       .equ PA_SFR + 18h    ; Port 1 Interrupt Edge Select
282 P1IE        .equ PA_SFR + 1Ah    ; Port 1 Interrupt Enable
283 P1IFG       .equ PA_SFR + 1Ch    ; Port 1 Interrupt FlaG
284 P1IV        .equ PA_SFR + 0Eh    ; Port 1 Interrupt Vector word 
285
286 P2IN        .equ PA_SFR + 01h    ; Port 2 INput
287 P2OUT       .equ PA_SFR + 03h    ; Port 2 OUTput
288 P2DIR       .equ PA_SFR + 05h    ; Port 2 DIRection
289 P2REN       .equ PA_SFR + 07h    ; Port 2 Resistor ENable
290 P2SEL0      .equ PA_SFR + 0Bh    ; Port 2 SELection 0
291 P2SEL1      .equ PA_SFR + 0Dh    ; Port 2 SELection 1
292 P2SELC      .equ PA_SFR + 17h    ; Port 2 SELection Complement
293 P2IES       .equ PA_SFR + 19h    ; Port 2 Interrupt Edge Select
294 P2IE        .equ PA_SFR + 1Bh    ; Port 2 Interrupt Enable
295 P2IFG       .equ PA_SFR + 1Dh    ; Port 2 Interrupt FlaG
296 P2IV        .equ PA_SFR + 1Eh    ; Port 2 Interrupt Vector word 
297
298 ; ----------------------------------------------------------------------
299 ; POWER ON RESET AND INITIALIZATION : PORT3/4
300 ; ----------------------------------------------------------------------
301
302 PBIN        .equ PB_SFR + 00h    ; Port B Input
303 PBOUT       .equ PB_SFR + 02h    ; Port B Output 1/0 or pullup/pulldown resistor
304 PBDIR       .equ PB_SFR + 04h    ; Port B Direction
305 PBREN       .equ PB_SFR + 06h    ; Port B Resistor Enable
306 PBSEL0      .equ PB_SFR + 0Ah    ; Port B Selection 0
307 PBSEL1      .equ PB_SFR + 0Ch    ; Port B Selection 1
308 PBSELC      .equ PB_SFR + 16h    ; Port B Complement Selection
309 PBIES       .equ PB_SFR + 18h    ; Port B Interrupt Edge Select
310 PBIE        .equ PB_SFR + 1Ah    ; Port B Interrupt Enable
311 PBIFG       .equ PB_SFR + 1Ch    ; Port B Interrupt Flag
312
313 P3IN        .equ PB_SFR + 00h    ; Port 3 Input */
314 P3OUT       .equ PB_SFR + 02h    ; Port 3 Output
315 P3DIR       .equ PB_SFR + 04h    ; Port 3 Direction
316 P3REN       .equ PB_SFR + 06h    ; Port 3 Resistor Enable
317 P3SEL0      .equ PB_SFR + 0Ah    ; Port 3 Selection 0
318 P3SEL1      .equ PB_SFR + 0Ch    ; Port 3 Selection 1
319 P3SELC      .equ PB_SFR + 16h    ; Port 3 Complement Selection
320 P3IES       .equ PB_SFR + 18h    ; Port 3 Interrupt Edge Select
321 P3IE        .equ PB_SFR + 1Ah    ; Port 3 Interrupt Enable
322 P3IFG       .equ PB_SFR + 1Ch    ; Port 3 Interrupt Flag
323 P3IV        .equ PB_SFR + 0Eh    ; Port 3 Interrupt Vector word 
324
325 P4IN        .equ PB_SFR + 01h    ; Port 4 Input */
326 P4OUT       .equ PB_SFR + 03h    ; Port 4 Output
327 P4DIR       .equ PB_SFR + 05h    ; Port 4 Direction
328 P4REN       .equ PB_SFR + 07h    ; Port 4 Resistor Enable
329 P4SEL0      .equ PB_SFR + 0Bh    ; Port 4 Selection 0
330 P4SEL1      .equ PB_SFR + 0Dh    ; Port 4 Selection 1
331 P4SELC      .equ PB_SFR + 17h    ; Port 4 Complement Selection
332 P4IES       .equ PB_SFR + 19h    ; Port 4 Interrupt Edge Select
333 P4IE        .equ PB_SFR + 1Bh    ; Port 4 Interrupt Enable
334 P4IFG       .equ PB_SFR + 1Dh    ; Port 4 Interrupt Flag
335 P4IV        .equ PB_SFR + 1Eh    ; Port 4 Interrupt Vector word 
336
337 ; ----------------------------------------------------------------------
338 ; POWER ON RESET AND INITIALIZATION : PORT5/6
339 ; ----------------------------------------------------------------------
340
341 PCIN        .equ PC_SFR + 00h    ; Port C Input
342 PCOUT       .equ PC_SFR + 02h    ; Port C Output
343 PCDIR       .equ PC_SFR + 04h    ; Port C Direction
344 PCREN       .equ PC_SFR + 06h    ; Port C Resistor Enable
345 PCSEL0      .equ PC_SFR + 0Ah    ; Port C Selection 0
346 PCSEL1      .equ PC_SFR + 0Ch    ; Port C Selection 1
347 PCSELC      .equ PC_SFR + 16h    ; Port C Complement Selection
348 PCIES       .equ PC_SFR + 18h    ; Port C Interrupt Edge Select
349 PCIE        .equ PC_SFR + 1Ah    ; Port C Interrupt Enable
350 PCIFG       .equ PC_SFR + 1Ch    ; Port C Interrupt Flag
351
352 P5IN        .equ PC_SFR + 00h    ; Port 5 Input
353 P5OUT       .equ PC_SFR + 02h    ; Port 5 Output
354 P5DIR       .equ PC_SFR + 04h    ; Port 5 Direction
355 P5REN       .equ PC_SFR + 06h    ; Port 5 Resistor Enable
356 P5SEL0      .equ PC_SFR + 0Ah    ; Port 5 Selection 0
357 P5SEL1      .equ PC_SFR + 0Ch    ; Port 5 Selection 1
358 P5IV        .equ PC_SFR + 0Eh    ; Port 5 Interrupt Vector word 
359 P5SELC      .set PC_SFR + 16h    ; Port 5 Complement Selection
360 P5IES       .equ PC_SFR + 18h    ; Port 5 Interrupt Edge Select
361 P5IE        .equ PC_SFR + 1Ah    ; Port 5 Interrupt Enable
362 P5IFG       .equ PC_SFR + 1Ch    ; Port 5 Interrupt Flag
363
364 P6IN        .equ PC_SFR + 01h    ; Port 6 Input
365 P6OUT       .equ PC_SFR + 03h    ; Port 6 Output
366 P6DIR       .equ PC_SFR + 05h    ; Port 6 Direction
367 P6REN       .equ PC_SFR + 07h    ; Port 6 Resistor Enable
368 P6SEL0      .equ PC_SFR + 0Bh    ; Port 6 Selection 0
369 P6SEL1      .equ PC_SFR + 0Dh    ; Port 6 Selection 1
370 P6SELC      .set PC_SFR + 17h    ; Port 6 Complement Selection
371 P6IES       .equ PC_SFR + 19h    ; Port 6 Interrupt Edge Select
372 P6IE        .equ PC_SFR + 1Bh    ; Port 6 Interrupt Enable
373 P6IFG       .equ PC_SFR + 1Dh    ; Port 6 Interrupt Flag
374 P6IV        .equ PC_SFR + 1Eh    ; Port 6 Interrupt Vector word 
375
376 ; ----------------------------------------------------------------------
377 ; POWER ON RESET AND INITIALIZATION : PORT7/8
378 ; ----------------------------------------------------------------------
379
380 PDIN        .equ PD_SFR + 00h    ; Port D Input
381 PDOUT       .equ PD_SFR + 02h    ; Port D Output
382 PDDIR       .equ PD_SFR + 04h    ; Port D Direction
383 PDREN       .equ PD_SFR + 06h    ; Port D Resistor Enable
384 PDSEL0      .equ PD_SFR + 0Ah    ; Port D Selection 0
385 PDSEL1      .equ PD_SFR + 0Ch    ; Port D Selection 1
386 PDSELC      .equ PD_SFR + 16h    ; Port D Complement Selection
387 PDIES       .equ PD_SFR + 18h    ; Port D Interrupt Edge Select
388 PDIE        .equ PD_SFR + 1Ah    ; Port D Interrupt Enable
389 PDIFG       .equ PD_SFR + 1Ch    ; Port D Interrupt Flag
390
391 P7IN        .equ PD_SFR + 00h    ; Port 7 Input
392 P7OUT       .equ PD_SFR + 02h    ; Port 7 Output
393 P7DIR       .equ PD_SFR + 04h    ; Port 7 Direction
394 P7REN       .equ PD_SFR + 06h    ; Port 7 Resistor Enable
395 P7SEL0      .equ PD_SFR + 0Ah    ; Port 7 Selection 0
396 P7SEL1      .equ PD_SFR + 0Ch    ; Port 7 Selection 1
397 P7IV        .equ PD_SFR + 0Eh    ; Port 7 Interrupt Vector word 
398 P7SELC      .set PD_SFR + 16h    ; Port 7 Complement Selection
399 P7IES       .equ PD_SFR + 18h    ; Port 7 Interrupt Edge Select
400 P7IE        .equ PD_SFR + 1Ah    ; Port 7 Interrupt Enable
401 P7IFG       .equ PD_SFR + 1Ch    ; Port 7 Interrupt Flag
402
403 P8IN        .equ PD_SFR + 01h    ; Port 8 Input
404 P8OUT       .equ PD_SFR + 03h    ; Port 8 Output
405 P8DIR       .equ PD_SFR + 05h    ; Port 8 Direction
406 P8REN       .equ PD_SFR + 07h    ; Port 8 Resistor Enable
407 P8SEL0      .equ PD_SFR + 0Bh    ; Port 8 Selection 0
408 P8SEL1      .equ PD_SFR + 0Dh    ; Port 8 Selection 1
409 P8SELC      .set PD_SFR + 16h    ; Port 8 Complement Selection
410 P8IES       .equ PD_SFR + 19h    ; Port 8 Interrupt Edge Select
411 P8IE        .equ PD_SFR + 1Bh    ; Port 8 Interrupt Enable
412 P8IFG       .equ PD_SFR + 1Dh    ; Port 8 Interrupt Flag
413 P8IV        .equ PD_SFR + 1Eh    ; Port 8 Interrupt Vector word 
414
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 ; ----------------------------------------------------------------------
430 RTC_C
431 ; ----------------------------------------------------------------------
432 RTCCTL0_L     .set RTC_C_SFR + 00h
433 RTCCTL0_H     .set RTC_C_SFR + 01h
434 RTCCTL1       .set RTC_C_SFR + 02h
435 RTCCTL3       .set RTC_C_SFR + 03h
436 RTCOCAL       .set RTC_C_SFR + 04h
437 RTCTCMP       .set RTC_C_SFR + 06h
438 RTCPS0CTL     .set RTC_C_SFR + 08h
439 RTCPS1CTL     .set RTC_C_SFR + 0Ah
440 RTCPS         .set RTC_C_SFR + 0Ch ; = RT1PS:RT0PS
441 RTCIV         .set RTC_C_SFR + 0Eh
442 RTCSEC        .set RTC_C_SFR + 10h
443 RTCCNT1       .set RTC_C_SFR + 10h     
444 RTCMIN        .set RTC_C_SFR + 11h
445 RTCCNT2       .set RTC_C_SFR + 11h
446 RTCHOUR       .set RTC_C_SFR + 12h
447 RTCCNT3       .set RTC_C_SFR + 12h
448 RTCDOW        .set RTC_C_SFR + 13h
449 RTCCNT4       .set RTC_C_SFR + 13h
450 RTCDAY        .set RTC_C_SFR + 14h
451 RTCMON        .set RTC_C_SFR + 15h
452 RTCYEAR       .set RTC_C_SFR + 16h
453
454 RTCHOLD       .set 40h
455 RTCRDY        .set 10h
456
457 ; ----------------------------------------------------------------------
458 MPY_32
459 ; ----------------------------------------------------------------------
460
461 MPY       .equ MPY_SFR + 00h    ; Multiply16 Unsigned/Operand 1 */
462 MPYS      .equ MPY_SFR + 02h    ; Multiply16 signed/Operand 1
463 MAC       .equ MPY_SFR + 04h    ; MultiplyAccumulate16 Unsigned/Operand 1 */
464 MACS      .equ MPY_SFR + 06h    ; MultiplyAccumulate16 signed/Operand 1
465 OP2       .equ MPY_SFR + 08h    ; Operand2_16 */
466 RESLO     .equ MPY_SFR + 0Ah    ; 16x16-bit result low - least significant word */
467 RESHI     .equ MPY_SFR + 0Ch    ; 16x16-bit result high */
468 SUMEXT    .equ MPY_SFR + 0Eh    ; 16x16-bit sum extension register
469 MPY32L    .equ MPY_SFR + 10h    ; Multiply32 Unsigned/Operand 1
470 MPY32H    .equ MPY_SFR + 12h    ; Multiply32 Unsigned/Operand 1
471 MPYS32L   .equ MPY_SFR + 14h    ; Multiply32 signed/Operand 1
472 MPYS32H   .equ MPY_SFR + 16h    ; Multiply32 signed/Operand 1
473 MAC32L    .equ MPY_SFR + 18h    ; MultiplyAccumulate32 Unsigned/Operand 1
474 MAC32H    .equ MPY_SFR + 1Ah    ; MultiplyAccumulate32 Unsigned/Operand 1
475 MACS32L   .equ MPY_SFR + 1Ch    ; MultiplyAccumulate32 signed/Operand 1
476 MACS32H   .equ MPY_SFR + 1Eh    ; MultiplyAccumulate32 signed/Operand 1
477 OP2L      .equ MPY_SFR + 20h    ; Multiply32 Operand 2
478 OP2H      .equ MPY_SFR + 22h    ; Multiply32 Operand 2
479 RES0      .equ MPY_SFR + 24h    ; 32x32-bit result 0 - least significant word */
480 RES1      .equ MPY_SFR + 26h    ; 32x32-bit result 1 */
481 RES2      .equ MPY_SFR + 28h    ; 32x32-bit result 2 */
482 RES3      .equ MPY_SFR + 2Ah    ; 32x32-bit result 3 */
483 MPY32CTL0 .equ MPY_SFR + 2Ch    ; MPY32 control register 0
484
485
486
487
488
489
490
491 UCSWRST         .equ 1  ; eUSCI Software Reset
492 UCTXIE          .equ 2  ; eUSCI Transmit Interrupt Enable
493 UCRXIE          .equ 1  ; eUSCI Receive Interrupt Enable
494 UCTXIFG         .equ 2  ; eUSCI Transmit Interrupt Flag
495 UCRXIFG         .equ 1  ; eUSCI Receive Interrupt Flag
496
497 ; ----------------------------------------------------------------------
498 ; eUSCI_A0
499 ; ----------------------------------------------------------------------
500
501     .IFDEF UCA0_TERM
502 TERMCTLW0       .equ eUSCI_A0_SFR + 00h    ; eUSCI_A0 Control Word Register 0
503 TERMBRW         .equ eUSCI_A0_SFR + 06h    ; eUSCI_A0 Baud Word Rate 0
504 TERMMCTLW       .equ eUSCI_A0_SFR + 08h    ; eUSCI_A0 Modulation Control
505 TERMRXBUF       .equ eUSCI_A0_SFR + 0Ch    ; eUSCI_A0 Receive Buffer
506 TERMTXBUF       .equ eUSCI_A0_SFR + 0Eh    ; eUSCI_A0 Transmit Buffer
507 TERMIE          .equ eUSCI_A0_SFR + 1Ah    ; eUSCI_A0 Interrupt Enable Register
508 TERMIFG         .equ eUSCI_A0_SFR + 1Ch    ; eUSCI_A0 Interrupt Flags Register
509 TERMVEC         .equ 0FFF0h      ; interrupt vector for  eUSCI_A0
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     .ENDIF ;UCA0_SD
519
520 ; ----------------------------------------------------------------------
521 ; eUSCI_A1
522 ; ----------------------------------------------------------------------
523
524     .IFDEF UCA1_TERM
525 TERMCTLW0       .equ eUSCI_A1_SFR + 00h    ; eUSCI_A1 Control Word Register 0
526 TERMBRW         .equ eUSCI_A1_SFR + 06h    ; eUSCI_A1 Baud Word Rate 0
527 TERMMCTLW       .equ eUSCI_A1_SFR + 08h    ; eUSCI_A1 Modulation Control
528 TERMRXBUF       .equ eUSCI_A1_SFR + 0Ch    ; eUSCI_A1 Receive Buffer
529 TERMTXBUF       .equ eUSCI_A1_SFR + 0Eh    ; eUSCI_A1 Transmit Buffer
530 TERMIE          .equ eUSCI_A1_SFR + 1Ah    ; eUSCI_A1 Interrupt Enable Register
531 TERMIFG         .equ eUSCI_A1_SFR + 1Ch    ; eUSCI_A1 Interrupt Flags Register
532 TERMVEC     .equ 0FFE6h
533     .ENDIF ;UCA1_TERM
534
535     .IFDEF UCA1_SD
536 SD_CTLW0       .equ eUSCI_A1_SFR + 00h    ; eUSCI_A1 Control Word Register 0
537 SD_BRW         .equ eUSCI_A1_SFR + 06h    ; eUSCI_A1 Baud Word Rate 0
538 SD_RXBUF       .equ eUSCI_A1_SFR + 0Ch    ; eUSCI_A1 Receive Buffer 8
539 SD_TXBUF       .equ eUSCI_A1_SFR + 0Eh    ; eUSCI_A1 Transmit Buffer 8
540 SD_IFG         .equ eUSCI_A1_SFR + 1Ch    ; eUSCI_A1 Interrupt Flags Register
541     .ENDIF ;UCA1_SD
542
543
544 ; ----------------------------------------------------------------------
545 ; eUSCI_B0
546 ; ----------------------------------------------------------------------
547     .IFDEF UCB0_SD
548 SD_CTLW0       .equ eUSCI_B0_SFR + 00h    ; eUSCI_B0 Control Word Register 0
549 SD_BRW         .equ eUSCI_B0_SFR + 06h    ; eUSCI_B0 Baud Word Rate 0
550 SD_RXBUF       .equ eUSCI_B0_SFR + 0Ch    ; eUSCI_B0 Receive Buffer 8
551 SD_TXBUF       .equ eUSCI_B0_SFR + 0Eh    ; eUSCI_B0 Transmit Buffer 8
552 SD_IFG         .equ eUSCI_B0_SFR + 2Ch    ; eUSCI_B0 Interrupt Flags Register
553     .ENDIF ;UCB0_SD
554
555
556