Referencia del Archivo dma.c

#include "dma.h"
#include "ports.h"
#include "intrs.h"

Dependencia gráfica adjunta para dma.c:

Ir al código fuente de este archivo.

Definiciones

#define DMA_DMA16_INFO()
#define DMAx_REG_STATUS   0x08
#define DMAx_REG_COMMAND   0x08
#define DMAx_REG_REQUEST   0x09
#define DMAx_REG_SMASK   0x0A
#define DMAx_REG_MMASK   0x0F
#define DMAx_REG_CLEARB   0x0C
#define DMAx_REG_MODE   0x0B
#define DMAx_REG_ADDR   (channel << 1)
#define DMAx_REG_COUNT   ( DMAx_REG_ADDR + 1 )
#define DMA_REG(reg)   (dma16_C0h | ((reg) << dma16_01h))
#define DMA_REG_STATUS   DMA_REG(DMAx_REG_STATUS)
#define DMA_REG_COMMAND   DMA_REG(DMAx_REG_COMMAND)
#define DMA_REG_REQUEST   DMA_REG(DMAx_REG_REQUEST)
#define DMA_REG_SMASK   DMA_REG(DMAx_REG_SMASK)
#define DMA_REG_MMASK   DMA_REG(DMAx_REG_MMASK)
#define DMA_REG_CLEARB   DMA_REG(DMAx_REG_CLEARB)
#define DMA_REG_MODE   DMA_REG(DMAx_REG_MODE)
#define DMA_REG_ADDR   DMA_REG(DMAx_REG_ADDR)
#define DMA_REG_COUNT   DMA_REG(DMAx_REG_COUNT)
#define DMA8_REG_PAGE0   0x87
#define DMA8_REG_PAGE1   0x83
#define DMA8_REG_PAGE2   0x81
#define DMA8_REG_PAGE3   0x82
#define DMA8_REG_PAGE
#define DMA16_REG_PAGE0   0x88
#define DMA16_REG_PAGE1   0x8B
#define DMA16_REG_PAGE2   0x89
#define DMA16_REG_PAGE3   0x8A
#define DMA16_REG_PAGE
#define DMA_REG_PAGE   (dma16_01h?DMA16_REG_PAGE:DMA8_REG_PAGE)
#define DMA_MASK_ON   ((channel) | 0x04)
#define DMA_MASK_OFF   (channel)
#define DMA_MULTI_MASK(s0, s1, s2, s3)   ((s0)?0x01:0x00)|((s1)?0x02:0x00)|((s2)?0x04:0x00)|((s3)?0x08:0x00)
#define DMA_XFER_DEMAND   0x00
#define DMA_XFER_SINGLE   0x40
#define DMA_XFER_BLOCK   0x80
#define DMA_XFER_CASCADE   0xC0
#define DMA_MODE(xfermode, increment, autoinit, write)
#define DMA_ADDR_PAGE(lmem)   ((UINT8)((lmem)>>16) & (~dma16_01h))
#define DMA_ADDR_LSB(lmem)   (UINT8)(((UINT16)(lmem)) >> dma16_01h)
#define DMA_ADDR_MSB(lmem)   (UINT8)((UINT32)(lmem) >> (8 + dma16_01h))
#define DMA_COUNT_LSB(count_l1)   (UINT8)(count_l1)
#define DMA_COUNT_MSB(count_l1)   (UINT8)(((UINT16)(count_l1)) >> 8)
#define DMA_SREQ   (0x04 | (channel))
#define DMA_GET_STATUS_TC(b)   ( (b) & (0x01 << (channel)) )
#define DMA_GET_STATUS_REQ(b)   ( (b) & (0x10 << (channel)) )
#define DMA_COUNT_L1(msb, lsb)   ((((UINT16)(msb))<<8) | ((UINT16)(lsb)))
#define DMA_ADDRESS(page, msb, lsb)   ((((UINT32)page)<<16)|((UINT32)((((UINT16)(msb))<<8)|(lsb))<<(dma16_01h)))

Funciones

VOID dma_resetb (VOID)
VOID dma_set (UINT8 channel, BOOL decrement, BOOL autoinit, BOOL writetomem, UINT32 lmem, UINT16 count_l1, BOOL enable_dma)
VOID dma_set_mode (UINT8 channel, BOOL decrement, BOOL autoinit, BOOL writetomem, BOOL enable_dma)
VOID dma_set_buff (UINT8 channel, UINT32 lmem, UINT16 count_l1, BOOL enable_dma)
VOID dma_set_buff_addr (UINT8 channel, UINT32 lmem, BOOL enable_dma)
VOID dma_set_buff_count (UINT8 channel, UINT16 count_l1, BOOL enable_dma)
VOID dma_disable (UINT8 channel)
VOID dma_enable (UINT8 channel)
VOID dma_sreq (UINT8 channel)
UINT16 dma_get_count_l1 (UINT8 channel)
UINT32 dma_get_addr (UINT8 channel)
UINT8 dma_get_status (VOID)
BOOL dma_get_dmareq (UINT8 channel)
BOOL dma_get_status_dmareq (UINT8 status, UINT8 channel)
BOOL dma_get_tc (UINT8 channel)
BOOL dma_get_status_tc (UINT8 status, UINT8 channel)


Documentación de las definiciones

 
#define DMA_DMA16_INFO (  ) 

Valor:

UINT8  dma16_01h, dma16_C0h;  \
    dma16_01h = ((UINT8)(channel)) >> 2;  \
    dma16_C0h = (dma16_01h) ? 0xC0 : 0;  \
    channel &= 0x3

Definición en la línea 73 del archivo dma.c.

#define DMAx_REG_STATUS   0x08

Definición en la línea 84 del archivo dma.c.

#define DMAx_REG_COMMAND   0x08

Definición en la línea 85 del archivo dma.c.

#define DMAx_REG_REQUEST   0x09

Definición en la línea 86 del archivo dma.c.

#define DMAx_REG_SMASK   0x0A

Definición en la línea 87 del archivo dma.c.

#define DMAx_REG_MMASK   0x0F

Definición en la línea 88 del archivo dma.c.

#define DMAx_REG_CLEARB   0x0C

Definición en la línea 89 del archivo dma.c.

#define DMAx_REG_MODE   0x0B

Definición en la línea 90 del archivo dma.c.

#define DMAx_REG_ADDR   (channel << 1)

Definición en la línea 91 del archivo dma.c.

#define DMAx_REG_COUNT   ( DMAx_REG_ADDR + 1 )

Definición en la línea 92 del archivo dma.c.

#define DMA_REG ( reg   )     (dma16_C0h | ((reg) << dma16_01h))

Definición en la línea 96 del archivo dma.c.

#define DMA_REG_STATUS   DMA_REG(DMAx_REG_STATUS)

Definición en la línea 100 del archivo dma.c.

#define DMA_REG_COMMAND   DMA_REG(DMAx_REG_COMMAND)

Definición en la línea 101 del archivo dma.c.

#define DMA_REG_REQUEST   DMA_REG(DMAx_REG_REQUEST)

Definición en la línea 102 del archivo dma.c.

#define DMA_REG_SMASK   DMA_REG(DMAx_REG_SMASK)

Definición en la línea 103 del archivo dma.c.

#define DMA_REG_MMASK   DMA_REG(DMAx_REG_MMASK)

Definición en la línea 104 del archivo dma.c.

#define DMA_REG_CLEARB   DMA_REG(DMAx_REG_CLEARB)

Definición en la línea 105 del archivo dma.c.

#define DMA_REG_MODE   DMA_REG(DMAx_REG_MODE)

Definición en la línea 106 del archivo dma.c.

#define DMA_REG_ADDR   DMA_REG(DMAx_REG_ADDR)

Definición en la línea 107 del archivo dma.c.

#define DMA_REG_COUNT   DMA_REG(DMAx_REG_COUNT)

Definición en la línea 108 del archivo dma.c.

#define DMA8_REG_PAGE0   0x87

Definición en la línea 111 del archivo dma.c.

#define DMA8_REG_PAGE1   0x83

Definición en la línea 112 del archivo dma.c.

#define DMA8_REG_PAGE2   0x81

Definición en la línea 113 del archivo dma.c.

#define DMA8_REG_PAGE3   0x82

Definición en la línea 114 del archivo dma.c.

#define DMA8_REG_PAGE

Valor:

((channel==0)?DMA8_REG_PAGE0:(channel==1)?DMA8_REG_PAGE1: \
    (channel==2)?DMA8_REG_PAGE2:DMA8_REG_PAGE3)

Definición en la línea 117 del archivo dma.c.

#define DMA16_REG_PAGE0   0x88

Definición en la línea 121 del archivo dma.c.

#define DMA16_REG_PAGE1   0x8B

Definición en la línea 122 del archivo dma.c.

#define DMA16_REG_PAGE2   0x89

Definición en la línea 123 del archivo dma.c.

#define DMA16_REG_PAGE3   0x8A

Definición en la línea 124 del archivo dma.c.

#define DMA16_REG_PAGE

Valor:

((channel==0)?DMA16_REG_PAGE0:(channel==1)?DMA16_REG_PAGE1: \
    (channel==2)?DMA16_REG_PAGE2:DMA16_REG_PAGE3)

Definición en la línea 127 del archivo dma.c.

#define DMA_REG_PAGE   (dma16_01h?DMA16_REG_PAGE:DMA8_REG_PAGE)

Definición en la línea 134 del archivo dma.c.

#define DMA_MASK_ON   ((channel) | 0x04)

Definición en la línea 139 del archivo dma.c.

#define DMA_MASK_OFF   (channel)

Definición en la línea 142 del archivo dma.c.

#define DMA_MULTI_MASK ( s0,
s1,
s2,
s3   )     ((s0)?0x01:0x00)|((s1)?0x02:0x00)|((s2)?0x04:0x00)|((s3)?0x08:0x00)

Definición en la línea 147 del archivo dma.c.

#define DMA_XFER_DEMAND   0x00

Definición en la línea 151 del archivo dma.c.

#define DMA_XFER_SINGLE   0x40

Definición en la línea 152 del archivo dma.c.

#define DMA_XFER_BLOCK   0x80

Definición en la línea 153 del archivo dma.c.

#define DMA_XFER_CASCADE   0xC0

Definición en la línea 154 del archivo dma.c.

#define DMA_MODE ( xfermode,
increment,
autoinit,
write   ) 

Valor:

( (channel) | (xfermode) | ((decrement) ? 0x20 : 0) |  \
    ((autoinit) ? 0x10 : 0) | ((write) ? 0x04 : 0x08) )

Definición en la línea 162 del archivo dma.c.

#define DMA_ADDR_PAGE ( lmem   )     ((UINT8)((lmem)>>16) & (~dma16_01h))

Definición en la línea 167 del archivo dma.c.

#define DMA_ADDR_LSB ( lmem   )     (UINT8)(((UINT16)(lmem)) >> dma16_01h)

Definición en la línea 169 del archivo dma.c.

#define DMA_ADDR_MSB ( lmem   )     (UINT8)((UINT32)(lmem) >> (8 + dma16_01h))

Definición en la línea 171 del archivo dma.c.

#define DMA_COUNT_LSB ( count_l1   )     (UINT8)(count_l1)

Definición en la línea 174 del archivo dma.c.

#define DMA_COUNT_MSB ( count_l1   )     (UINT8)(((UINT16)(count_l1)) >> 8)

Definición en la línea 176 del archivo dma.c.

#define DMA_SREQ   (0x04 | (channel))

Definición en la línea 180 del archivo dma.c.

#define DMA_GET_STATUS_TC (  )     ( (b) & (0x01 << (channel)) )

Definición en la línea 185 del archivo dma.c.

#define DMA_GET_STATUS_REQ (  )     ( (b) & (0x10 << (channel)) )

Definición en la línea 190 del archivo dma.c.

#define DMA_COUNT_L1 ( msb,
lsb   )     ((((UINT16)(msb))<<8) | ((UINT16)(lsb)))

Definición en la línea 194 del archivo dma.c.

#define DMA_ADDRESS ( page,
msb,
lsb   )     ((((UINT32)page)<<16)|((UINT32)((((UINT16)(msb))<<8)|(lsb))<<(dma16_01h)))

Definición en la línea 198 del archivo dma.c.


Documentación de las funciones

VOID dma_resetb ( VOID   ) 

Definición en la línea 213 del archivo dma.c.

VOID dma_set ( UINT8  channel,
BOOL  decrement,
BOOL  autoinit,
BOOL  writetomem,
UINT32  lmem,
UINT16  count_l1,
BOOL  enable_dma 
)

Definición en la línea 297 del archivo dma.c.

VOID dma_set_mode ( UINT8  channel,
BOOL  decrement,
BOOL  autoinit,
BOOL  writetomem,
BOOL  enable_dma 
)

Definición en la línea 325 del archivo dma.c.

VOID dma_set_buff ( UINT8  channel,
UINT32  lmem,
UINT16  count_l1,
BOOL  enable_dma 
)

Definición en la línea 345 del archivo dma.c.

VOID dma_set_buff_addr ( UINT8  channel,
UINT32  lmem,
BOOL  enable_dma 
)

Definición en la línea 371 del archivo dma.c.

VOID dma_set_buff_count ( UINT8  channel,
UINT16  count_l1,
BOOL  enable_dma 
)

Definición en la línea 393 del archivo dma.c.

VOID dma_disable ( UINT8  channel  ) 

Definición en la línea 416 del archivo dma.c.

VOID dma_enable ( UINT8  channel  ) 

Definición en la línea 432 del archivo dma.c.

VOID dma_sreq ( UINT8  channel  ) 

Definición en la línea 445 del archivo dma.c.

UINT16 dma_get_count_l1 ( UINT8  channel  ) 

Definición en la línea 471 del archivo dma.c.

UINT32 dma_get_addr ( UINT8  channel  ) 

Definición en la línea 524 del archivo dma.c.

UINT8 dma_get_status ( VOID   ) 

Definición en la línea 557 del archivo dma.c.

BOOL dma_get_dmareq ( UINT8  channel  ) 

Definición en la línea 576 del archivo dma.c.

BOOL dma_get_status_dmareq ( UINT8  status,
UINT8  channel 
)

Definición en la línea 591 del archivo dma.c.

BOOL dma_get_tc ( UINT8  channel  ) 

Definición en la línea 622 del archivo dma.c.

BOOL dma_get_status_tc ( UINT8  status,
UINT8  channel 
)

Definición en la línea 639 del archivo dma.c.


Generado el Thu Mar 11 18:59:27 2010 para AhoLib por  doxygen 1.5.6