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

📄 target.h

📁 MICREL 网卡驱动 FOR CE 5.0
💻 H
📖 第 1 页 / 共 5 页
字号:
}

#define HW_WRITE_BUFFER( phwi, addr, data, len )                            \
{                                                                           \
    PDMA_XFER  pDmaInfo = &phwi->dmaInfo;                                   \
    HardwareSelectBank( phwi, REG_DATA_BANK );                              \
    if ( (pDmaInfo->f_dma_tx) && (len >= pDmaInfo->dma_threshold) )         \
    {                                                                       \
       Platform_DmaStartXfer ( phwi,                                        \
	                           pDmaInfo->dma_tx_channel,                    \
	                           (ULONG)data,                                 \
	                           (ULONG)(phwi->m_ulVIoAddr + addr),           \
	                           (len + 3),                                   \
	                           TRUE) ;                                      \
    }                                                                       \
    else                                                                    \
    {                                                                       \
       int lengthInDWord = ((len + 3) >> 2) ;                               \
       PULONG    pdwData = (PULONG)data;                                    \
       while ( lengthInDWord-- )                                            \
         *(volatile PULONG)(phwi->m_ulVIoAddr + addr ) = *pdwData++;        \
    }                                                                       \
}

#endif /* #ifdef  KS_ISA_BUS */

#endif  /* #ifdef DEF_VXWORKS */


#ifndef ASSERT
#ifdef DBG
#define ASSERT( f )  \
    if ( !( f ) ) {  \
        DBG_PRINT( "assert %s at %d in %s\n", #f, __LINE__, __FILE__ );  \
    }

#else
#define ASSERT( f )
#endif
#endif


/* -------------------------------------------------------------------------- *
 *               Renesas M16C/62P      (16-bit Generic bus)                   *
 *                      MTOOL/OpenTCP  (version 1.04)                         *
 * -------------------------------------------------------------------------- */

#ifdef M16C_62P
#include <inet/datatypes.h>
#include <inet/system.h>
#include <string.h>
#include "stdio.h"
#include "skp_bsp.h"	      /* include SKP board support package */



typedef unsigned char    UCHAR;
typedef unsigned char  * PUCHAR;
typedef unsigned char  * PBYTE;
typedef unsigned short   USHORT;
typedef unsigned short * PUSHORT;
typedef unsigned long    ULONG;
typedef unsigned long  * PULONG;
typedef unsigned long    ULONGLONG;
typedef unsigned long  * PULONGLONG;
typedef int              BOOLEAN;
typedef	int		       * PBOOLEAN;

#define FAR _far

#ifndef NULL
#define NULL  0
#endif

#define NEWLINE    "\r\n"
#define DBG_PRINT  uart_print

#undef  DBG
#undef  DEBUG_TX
#undef  DEBUG_RX

/* to test Early Transmit\Receive */
#undef EARLY_RECEIVE
#undef EARLY_TRANSMIT

/*
 * Hardware access macros
 */

#ifdef KS_ISA_BUS

#define HW_READ_BYTE( phwi, addr, data )                                   \
    *data = *((volatile FAR UINT8 *)(( phwi )->m_ulVIoAddr + addr ))

#define HW_WRITE_BYTE( phwi, addr, data )                                  \
    *((volatile FAR UINT8 *)(( phwi )->m_ulVIoAddr + addr )) = ( UINT8 )( data )

#ifdef KS_ISA_8BIT_BUS

/* for 8-bit data bus */
#define HW_READ_WORD( phwi, addr, data )                                   \
{                                                                          \
    UCHAR   bData, bDumy;                                                  \
    USHORT  wData, wDumy;                                                         \
    HW_READ_BYTE( phwi, (UCHAR)(addr), (UCHAR *)&bData );                  \
    HW_READ_BYTE( phwi, (UCHAR)(addr+1), (UCHAR *)&wData );                \
    wData <<= 8;                                                           \
    wData |= (USHORT)bData;                                                 \
    *(USHORT *)data = wData;                                               \
}

#define HW_WRITE_WORD( phwi, addr, data )                                  \
{                                                                          \
    UCHAR   bData;                                                         \
    bData = (UCHAR)(data & 0x00ff);                                        \
    HW_WRITE_BYTE( phwi, (UCHAR)(addr), (UCHAR)bData );                    \
    bData = (UCHAR)( (data & 0xff00) >> 8 );                               \
    HW_WRITE_BYTE( phwi, (UCHAR)(addr+1), (UCHAR)bData );                  \
}

#define HW_READ_DWORD( phwi, addr, data )                                   \
    hw_read_dword( phwi, addr, data );

/*
#define HW_READ_DWORD( phwi, addr, data )                                   \
{                                                                           \
    USHORT  wData, wDumy;                                                   \
    ULONG   dwData;                                                 \
    HW_READ_WORD( phwi, (UCHAR)(addr), (USHORT *)&wData );                  \
    wDumy = wData;                                                          \
    HW_READ_WORD( phwi, (UCHAR)(addr+2), (USHORT *)&dwData );               \
    dwData <<= 16;                                                          \
    dwData |= (ULONG)wData;                                                 \
    *(ULONG *)data = dwData;                                                \
}
*/

#define HW_WRITE_DWORD( phwi, addr, data )                                  \
    hw_write_dword( phwi, addr, data );

/*
#define HW_WRITE_DWORD( phwi, addr, data )                                  \
{                                                                           \
    USHORT  wData;                                                          \
    wData = (USHORT)(data & 0x0000ffff);                                    \
    HW_WRITE_WORD( phwi, (UCHAR)addr, (USHORT)wData );                      \
    wData = (USHORT)( (data & 0xffff0000) >> 16 );                          \
    HW_WRITE_WORD( phwi, (UCHAR)(addr+2), (USHORT)wData );                  \
}
*/


#else

/* for 16-bit data bus */
#define HW_READ_WORD( phwi, addr, data )                                   \
    *data = *((volatile FAR UINT16 * )(( phwi )->m_ulVIoAddr + addr ))

#define HW_WRITE_WORD( phwi, addr, data )                                  \
    *((volatile FAR UINT16 * )(( phwi )->m_ulVIoAddr + addr )) = ( UINT16 )( data )

#define HW_READ_DWORD( phwi, addr, data )                                   \
    *data = *((volatile FAR UINT32 * )(( phwi )->m_ulVIoAddr + addr ))

#define HW_WRITE_DWORD( phwi, addr, data )                                  \
    *((volatile FAR UINT32 * )(( phwi )->m_ulVIoAddr + addr )) = ( UINT32 )( data )

#endif /* #ifdef KS_ISA_8BIT_BUS */

#define MOVE_MEM( dest, src, len )                                          \
    memcpy( dest, src, len )


#define HW_READ_BUFFER( phwi, addr, data, len )                             \
    HardwareReadBuffer( phwi, addr, ( PULONG ) data, ( len )  );

#define HW_WRITE_BUFFER( phwi, addr, data, len )                            \
    HardwareWriteBuffer( phwi, addr, ( PULONG ) data, ( len )  );


#endif  /* #ifdef KS_ISA_BUS */

#endif /* #ifdef M16C_62P */



/* -------------------------------------------------------------------------- *
 *     ZiLog eZ80L92 (eZ80 Webserver-i E-NET Module)  (8-bit Generic bus)     *
 *                   ZTP 1.3.2 / EMAC DDK 1.3.2                               *
 * -------------------------------------------------------------------------- */

#ifdef _EZ80L92
#include <kernel.h>
#include <network.h>


typedef unsigned char    UCHAR;
typedef unsigned char  * PUCHAR;
typedef unsigned char  * PBYTE;
typedef unsigned short   USHORT;
typedef unsigned short * PUSHORT;
typedef unsigned long    ULONG;
typedef unsigned long  * PULONG;
typedef unsigned long    ULONGLONG;
typedef unsigned long  * PULONGLONG;
typedef int              BOOLEAN;
typedef	int		       * PBOOLEAN;

typedef volatile DWORD __EXTIO *	IORegExt32;


#define FAR

#ifndef NULL
#define NULL  0
#endif

#define NEWLINE    "\n"
#define DBG_PRINT  kprintf

#undef  DBG
#undef  DEBUG_TX
#undef  DEBUG_RX

#define  DEBUG_DUMP_TX
#define  DEBUG_DUMP_RX


/* ERROR CODES */
#define KS884X_NOTFOUND     -1
#define KS_MAC_NOT_FOUND    -2
#define ILLEGAL_CALLBACKS   -3
#define CALLOC_HW_MEM_FAIL  -4
#define KS_TX_NOT_READY     -5
#define KS_RX_ERROR         -6

/*
 * Hardware access macros
 */

#ifdef KS_ISA_BUS

#define HW_READ_BYTE( phwi, addr, data )                                   \
    *data = *((PUCHAR)( (phwi) ->m_ulVIoAddr + addr ))

#define HW_WRITE_BYTE( phwi, addr, data )                                  \
    *((PUCHAR)(( phwi )->m_ulVIoAddr + addr )) = ( UINT8 )( data )

#define HW_READ_WORD( phwi, addr, data )                                   \
    *data = *((PUSHORT)( (phwi) ->m_ulVIoAddr + addr ))

#define HW_WRITE_WORD( phwi, addr, data )                                  \
    *((PUSHORT)(( phwi )->m_ulVIoAddr + addr )) = ( UINT16 )( data )


#define HW_READ_DWORD( phwi, addr, data )                                  \
    *data = *((PULONG)(( phwi )->m_ulVIoAddr + addr ))

#define HW_WRITE_DWORD( phwi, addr, data )                                 \
    *((PULONG)(( phwi )->m_ulVIoAddr + addr )) = ( UINT32 )( data )

#define MOVE_MEM( dest, src, len )                                         \
    memcpy( dest, src, len )

#define HW_READ_BUFFER( phwi, addr, data, len )                             \
    HardwareReadBuffer( phwi, addr, ( PULONG ) data, ( len )  );

#define HW_WRITE_BUFFER( phwi, addr, data, len )                            \
    HardwareWriteBuffer( phwi, addr, ( PULONG ) data, ( len )  );

#endif  /* #ifdef KS_ISA_BUS */

char *strtok_p
(
    char *s1,
    const char *s2,
    char **ppLast
);


#endif /* #ifdef _EZ80L92 */

void DelayMicrosec (
    ULONG microsec );

void DelayMillisec (
    ULONG millisec );

void PrintMacAddress (
    PUCHAR bAddr );

void PrintIpAddress (
    ULONG IpAddr );

void PrintPacketData (
    UCHAR         *data,
    int            len,
    ULONG         port,
    ULONG         flag );

#endif

⌨️ 快捷键说明

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