spi_hal.h

来自「6440linuxDriver的源代码」· C头文件 代码 · 共 60 行

H
60
字号
#if !defined( _SPI_HAL_H_ )#define _SPI_HAL_H_#include "core_header.h"#if defined( _MVFLASH_ )#if defined( __DOS__ )#include "pcibios.h"#define FMemR8( addr )          read8bitMemBar( addr )#define FMemR16( addr )         read16bitMemBar( addr )#define FMemR32( addr )         read32bitMemBar( addr )#define FMemW8( addr, var )     write8bitMemBar( addr, var )#define FMemW16( addr, var )    write16bitMemBar( addr, var )#define FMemW32( addr, var )    write32bitMemBar( addr, var )#else#define FMemR8( addr )          (*( (volatile MV_U8*) (addr) ))#define FMemR16( addr )         (*( (volatile MV_U16*)(addr) ))#define FMemR32( addr )         (*( (volatile MV_U32*)(addr) ))#define FMemW8( addr, var )     (*( (volatile MV_U8*) (addr) ) = (MV_U8)var )    #define FMemW16( addr, var )    (*( (volatile MV_U16*)(addr) ) = (MV_U16)var )#define FMemW32( addr, var )    (*( (volatile MV_U32*)(addr) ) = (MV_U32)var )#endif#elif defined(_OS_WINDOWS) || defined(_OS_LINUX) || defined(__QNXNTO__)#define FMemR8( addr, off  )         MV_REG_READ_BYTE( addr, off )#define FMemR16( addr, off )         MV_REG_READ_WORD( addr, off )#define FMemR32( addr, off )         MV_REG_READ_DWORD( addr, off )#define FMemW8( addr, off, var )     MV_REG_WRITE_BYTE( addr, off, var )#define FMemW16( addr, off, var )    MV_REG_WRITE_WORD( addr, off, var )#define FMemW32( addr, off, var )    MV_REG_WRITE_DWORD( addr, off, var )#define MV_IOR8( addr, off )         MV_IO_READ_BYTE( addr, off )#define MV_IOR16( addr, off )        MV_IO_READ_WORD( addr, off )#define MV_IOR32( addr, off )        MV_IO_READ_DWORD( addr, off )#define MV_IOW8( addr, off, data )   MV_IO_WRITE_BYTE( addr, off, data )#define MV_IOW16( addr, off, data )  MV_IO_WRITE_WORD( addr, off, data )#define MV_IOW32( addr, off, data )  MV_IO_WRITE_DWORD( addr, off, data )#endif#ifdef _MVFLASH_voidDelayms(    unsigned msec);voidDelayus(    unsigned long usec);#   define DelayMSec( _X_ )        Delayms( _X_ )#   define DelayUSec( _X_ )        Delayus( _X_ )#elif defined(_OS_WINDOWS) || defined(__QNXNTO__)#   define DelayMSec(_X_)        HBA_SleepMillisecond(NULL, _X_)#   define DelayUSec(_X_)        HBA_SleepMicrosecond(NULL, _X_)#elif defined(_OS_LINUX)#   define DelayMSec(_X_)        ossw_mdelay(_X_)#   define DelayUSec(_X_)        ossw_udelay(_X_)#endif /*  _MVFLASH_ */#endif

⌨️ 快捷键说明

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