⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hpi_driver.h

📁 linux dsp hpi driver
💻 H
字号:
/********************************************************************* *             *     * Filename:      HPI_Driver.h * Version:       0.0.1 * Description:   Implementation for the kernel module debug * Status:        Experimental. * Author:        snowerlist (snowerlist@163.com) * Created at:    WuHan * Based on code by:  snower *  *     Copyright (c) 2008.12  WH, All Rights Reserved.  *     This file is for ARM chip of DSP project xxx  *     This program is free software; you can redistribute it and/or  *     modify it under the terms of the GNU General Public License as  *     published by the Free Software Foundation; either version 2 of  *     the License, or (at your option) any later version. *   ********************************************************************//**Begin *******define data type*********/typedef  char                  s8, CHAR;typedef  short                 s16, SHORT;typedef  long                  s32, LONG;typedef  int                     INT;typedef  unsigned char     u8, UCHAR;typedef  unsigned short    u16, USHORT;typedef  unsigned long     u32, ULONG;typedef  unsigned int        UINT;/***********define data type*******End**/#define DSP_HPI_MINOR   158	/* Major 10, Minor 158, in /dev/DSP_HPI */#define DSP_HPI_DEV       "DSP_HPI"  /* If you frist use this module in your system ,please do insmod fristly. */                                                           /* Then you will see you device in /dev/DSP_HPI . */  #define DSP_HPI_IRQ_NUM        /*Check the datasheet and give the number of you DSP_HPI interrupt line use.*/#define DSP_HPI_IRQ_FLAG     0#define DRIVER_VERSION "0.0.1"		/* Driver version number */#define    MAX_BUFFER_LEN   256#define    DSP_HPI_ALARM 0x02000000#define  PHY_ADDR_REG1  0x00000000#define  PHY_ADDR_REG2  0x00000000#define  PHY_ADDR_REG3  0x00000000#define  PHY_ADDR_REG4  0x00000000#define  REGISTER_LENGTH    4 /*4 Bytes long*/enum  IOCTL_OPERATION_Index{    INTERFACE_SET_CUR_PID = 0,       READ_HPI_REG1,     READ_HPI_REG2,     READ_HPI_REG3,     READ_HPI_REG4,     WRITE_HPI_REG1,    WRITE_HPI_REG2,    WRITE_HPI_REG3,    WRITE_HPI_REG4,    OPERATION_COUNT};typedef struct tagBufferInfo  /*A ring buffer for read/write operation*/{    u8             m_NewDataCount;    s8             m_pacBuffer[MAX_BUFFER_LEN];  /* buffer of Data */    }stBufferInfo, *PstBufferInfo;typedef struct tagVirtualADDRSPACEInfo /*the vitural address of registers*/{    u32  *        m_pViturAddrReg1;    u32  *        m_pViturAddrReg2;    u32  *        m_pViturAddrReg3;    u32  *        m_pViturAddrReg4;    	}stADDRSPACEInfo, *PstADDRSPACEInfo;typedef struct tagDSPHPIInfo {                stBufferInfo            m_stBufInfo;	 stADDRSPACEInfo  m_stVirtualAddrSpace;	 pid_t                      m_tInterfaceProcessID;/* At least, init process exists */ 	 struct task_struct   *m_pstInterfaceTask;	 siginfo_t                  m_InterfaceSingal;        struct semaphore   m_stProctoolSem;                } stDSPHPIInfo, *pstDSPHPIInfo; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -