📄 drv_defs.h
字号:
/*-------------------------------------------------------------------
FILE NAME:
drv_extr.h
DESCRIPTION:
this file includes driver functions.
AUTHOR:
WYF
VERSION:
2005.1122.00
COMPANY:
DATANG MICROELECTRONICS TECHNOLOGY CO,.LTD
HISTORY:
2005.1122 Creat this file
...
--------------------------------------------------------------------*/
#ifndef __DRV_DEFS_H
#define __DRV_DEFS_H
#define PrP_EN
#ifdef PrP_EN
#define PrP_YUV_IN 0
#endif
#include "memory.h"
#include "nucleus.h"
/*----------------------------------------------------------
keyboad map for MX21 ADS board
----------------------------------------------------------*/
#define KEY_SW1 0x2020
#define KEY_SW2 0x1020
#define KEY_SW3 0x0820
#define KEY_SW4 0x0420
#define KEY_SW5 0x0220
#define KEY_SW6 0x0120
#define KEY_SW7 0x2010
#define KEY_SW8 0x1010
#define KEY_SW9 0x0810
#define KEY_SW10 0x0410
#define KEY_SW11 0x0210
#define KEY_SW12 0x0110
#define KEY_SW13 0x2008
#define KEY_SW14 0x1008
#define KEY_SW15 0x0808
#define KEY_SW16 0x0408
#define KEY_SW17 0x0208
#define KEY_SW18 0x0108
#define KEY_SW19 0x2004
#define KEY_SW20 0x1004
#define KEY_SW21 0x0804
#define KEY_SW22 0x0404
#define KEY_SW23 0x0204
#define KEY_SW24 0x0104
#define KEY_SW25 0x2002
#define KEY_SW26 0x1002
#define KEY_SW27 0x0802
#define KEY_SW28 0x0402
#define KEY_SW29 0x0202
#define KEY_SW30 0x0102
#define KEY_SW31 0x2001
#define KEY_SW32 0x1001
#define KEY_SW33 0x0801
#define KEY_SW34 0x0401
#define KEY_SW35 0x0201
#define KEY_SW36 0x0101
typedef struct SYSTEM_MESSAGE
{
unsigned char src;
unsigned char des;
unsigned short id;
unsigned int para;
} TSYSTEM_MESSAGE, *P_SYSTEM_MESSAGE;
typedef struct{
int intstatus;
NU_HISR hisr;
char statck[1024];
}TDRV_PrP;
typedef struct{
NU_TASK task;
NU_QUEUE que;
char stack[1024];
int msg[8];
}TDRV_LCDC;
typedef struct{
NU_HISR hisr;
NU_TIMER timer;
char stack[1024];
void (*cb)(int,int);
int status;
int key;
}TDRV_KPP;
typedef struct{
int FbTxMode;
int FbProcessTxMode;
int FbProgress;
int FiTxBufferSize;
int FiTxProgressIndex;
int FiRxBufferSize;
int FiRxProgressIndex;
char *FpbyTxBuffer;
char *FpbyRxBuffer;
NU_SEMAPHORE lock;
}TDRV_I2C;
#define DMA_MODE_LINEAR 0
#define DMA_MODE_2D 1
#define DMA_MODE_FIFO 2
typedef struct{
int sar;
int dar;
int cntr;
int ccr;
int rssr;
int blr;
int rtor;
int bucr;
int ccnr;
int wsr;
int xsr;
int ysr;
void (*cb)(int);
}TCON_DMA;
typedef struct{
int channel;
void (*cb)(int);
NU_SEMAPHORE sem;
TCON_DMA *cfg;
volatile unsigned * reg_sar; /* Channel Source Address Registers */
volatile unsigned * reg_dar; /* Channel Destination Address Registers */
volatile unsigned * reg_cntr; /* Channel Count Registers */
volatile unsigned * reg_ccr; /* Channel Control Registers */
volatile unsigned * reg_rssr; /* Channel Request Source Select Registers */
volatile unsigned * reg_blr; /* Channel Burst Length Registers */
volatile unsigned * reg_rtor; /* Channel Request Time-Out Registers */
volatile unsigned * reg_bucr; /* Channel Bus Utilization Control Registers */
volatile unsigned * reg_ccnr; /* Channel Counter Register */
}TDRV_DMA;
enum __AUC_MODE_STRUCT{
AUC_WRITE,
AUC_READ,
AUC_RDWR,
AUC_PHONE,
AUC_MODE_END
};
typedef enum __AUC_MODE_STRUCT AUC_MODE_T;
enum __AUC_FS_STRUCT{
AUC_FS_8K = 8000,
AUC_FS_11K = 11025,
AUC_FS_16K = 16000,
AUC_FS_22K = 22050,
AUC_FS_44K = 44100,
AUC_FS_END
};
typedef enum __AUC_FS_STRUCT AUC_FS_T;
enum __AUC_PARAM_STRUCT{
AUC_HS_MIC,
AUC_HF_MIC,
AUC_HS_SPK,
AUC_HF_SPK,
AUC_MIC_VOL,
AUC_SPK_VOL,
AUC_SET_MIC_VOL,
AUC_SET_SPK_VOL,
AUC_HS_ANALOG,
AUC_HF_ANALOG,
AUC_MUTE_SPK,
AUC_MUTE_ALL,
AUC_CHANNEL,
AUC_SYNC,
AUC_STOP,
AUC_PARAM_END
};
typedef enum __AUC_PARAM_STRUCT AUC_PARAM_T;
enum __AUC_CHANNEL_STRUCT{
AUC_MONO =0,
AUC_STERO
};
typedef enum __AUC_CHANNEL_STRUCT AUC_CHANNEL_T;
typedef struct{
int year;
int month;
int date;
int week;
int hour;
int minute;
int second;
}TDRV_RTC;
struct __struct_drivers{
TDRV_DMA dma;
TDRV_I2C i2c;
TDRV_KPP kpp;
TDRV_LCDC lcdc;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -