📄 target.h
字号:
}
#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 + -