1
2INCLUDE "config_private.inc"
3
4SECTION data_driver
5
6PUBLIC asci0RxCount, asci0RxIn, asci0RxOut, asci0RxLock
7
8asci0RxCount:    defb 0                 ; Space for Rx Buffer Management
9asci0RxIn:       defw asci0RxBuffer     ; non-zero item in bss since it's initialized anyway
10asci0RxOut:      defw asci0RxBuffer     ; non-zero item in bss since it's initialized anyway
11asci0RxLock:     defb $FE               ; lock flag for Rx exclusion
12
13IF  __ASCI0_RX_SIZE = 256
14    SECTION data_align_256
15ENDIF
16IF  __ASCI0_RX_SIZE = 128
17    SECTION data_align_128
18ENDIF
19IF  __ASCI0_RX_SIZE = 64
20    SECTION data_align_64
21ENDIF
22IF  __ASCI0_RX_SIZE = 32
23    SECTION data_align_32
24ENDIF
25IF  __ASCI0_RX_SIZE = 16
26    SECTION data_align_16
27ENDIF
28IF  __ASCI0_RX_SIZE = 8
29    SECTION data_align_8
30ENDIF
31IF  __ASCI0_RX_SIZE%8 != 0
32    ERROR "__ASCI0_RX_SIZE not 2^n"
33ENDIF
34
35PUBLIC asci0RxBuffer
36
37asci0RxBuffer:   defs __ASCI0_RX_SIZE   ; Space for the Rx Buffer
38
39; pad to next boundary
40
41IF  __ASCI0_RX_SIZE = 256
42    ALIGN   256
43ENDIF
44IF  __ASCI0_RX_SIZE = 128
45    ALIGN   128
46ENDIF
47IF  __ASCI0_RX_SIZE = 64
48    ALIGN   64
49ENDIF
50IF  __ASCI0_RX_SIZE = 32
51    ALIGN   32
52ENDIF
53IF  __ASCI0_RX_SIZE = 16
54    ALIGN   16
55ENDIF
56IF  __ASCI0_RX_SIZE = 8
57    ALIGN   8
58ENDIF
59
60