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