?? dma_mem.h
字號:
/*
* DMA Memory Management
#ifndef _dma_mem_h
#define _dma_mem_h
*/
typedef struct _mem_s {
char name[20];
enum { DMA_TYPE, BUFFER_TYPE } type;
unsigned int base;
unsigned int size;
} _mem_t;
extern int get_buffer_base_size(char *, unsigned int *, unsigned int *);
extern int get_dma_base_size(char *, unsigned int *, unsigned int *);
/*
* DON'T change DMA Memory space, this space is predefined in
* Assembly Level
*/
#define BUFFER_MEM_SIZE 0x00200000
#define DMA_MEM_SIZE 0x0025800
#if defined(HEI_ARM7) && HEI_ARM7 == 1
#define BUFFER_MEM_BASE 0x41000000L
#define BUFFER_MEM_END (BUFFER_MEM_BASE + 0x00200000)
#define DMA_MEM_BASE 0x41c00000L
#define DMA_MEM_END (DMA_MEM_BASE + 0x00400000)
#define __virt2dma(addr) (addr)
#define __dma2virt(addr) (addr)
#elif defined(HEI_ARM7) && HEI_ARM7 == 2
#if 0
#define BUFFER_MEM_BASE 0x41000000L
#define BUFFER_MEM_END (BUFFER_MEM_BASE + 0x00200000)
#define DMA_MEM_BASE 0x41b00000L
#define DMA_MEM_END (DMA_MEM_BASE + 0x00400000)
#define SDRAM2_PHYS 0x42000000L
#define DMA_MEM_PHYS 0x42b00000L
#define __virt2dma(addr) (addr - DMA_MEM_BASE + DMA_MEM_PHYS )
#define __dma2virt(addr) (addr - DMA_MEM_PHYS + DMA_MEM_BASE )
#else
#define BUFFER_MEM_BASE 0x43000000L
#define BUFFER_MEM_END (BUFFER_MEM_BASE + 0x00200000)
#define DMA_MEM_BASE 0x43b00000L
#define DMA_MEM_END (DMA_MEM_BASE + 0x00400000)
#define SDRAM2_PHYS 0x42000000L
#define DMA_MEM_PHYS DMA_MEM_BASE
#define __virt2dma(addr) (addr)
#define __dma2virt(addr) (addr)
#endif
#endif
#define IS_DMA_SPACE(addr) (addr >= DMA_MEM_BASE && addr <= DMA_MEM_END)
#define IS_BUFFER_SPACE(addr) (addr >= BUFFER_MEM_BASE && addr <= BUFFER_MEM_END)
#define IS_ADDRESS_IN(addr, start, size) ( addr >= start && addr <= (start+size))
//#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -