📄 ext_inf.h
字号:
#define SPCR10_VAL 0x0000
#define SPCR20_VAL 0x0220
//2 words per frame
#define RCR10_VAL 0x0140
#define RCR20_VAL 0x04
//2 words per frame
#define XCR10_VAL 0x0140
#define XCR20_VAL 0x04
#define PCR0_VAL 0x01
#define VOL1 0x81
#define VOL2 0x82
#define L_LINE_VOLUME 0x00
#define R_LINE_VOLUME 0x01
#define L_HEADPHONE_VOLUME 0x02
#define R_HEADPHONE_VOLUME 0x03
#define A_AUDIO_PATH 0x04
#define D_AUDIO_PATH 0x05
#define POWER_CON 0x06
#define D_AUDIO_INTERFACE 0x07
#define SAMPLE_RATE 0x08
#define D_INTERFACE_ACT 0x09
#define RESET 0x0f
#define SERVER_IP 40
#define FRAMESIZE 500
#define TALK_SIZE 440
#define READSIZE 200
#define ONEQUESTSIZE 4000
#define ONEQUESTPACK 8
#define PCMSIZE 49000
#define PICTURESIZE 21168
#define ORDERPORT 0xac26
//9900
#define DATAPORT 0x4a26
#define LOGIN 0
#define PLAY 1
#define STOP 2
#define PAUSE 3
#define REC 4
#define BROAD 5
#define TALK 6
#define LINK 0x99
#define SETWAV 0x9a
#define REC_DATA 0xf3
#define FREW_STOP 0xf8
#define FF 0xf9
#define REW 0xfa
#define CLEARAUDIOBUF 0x86
#define CLEARTALKBUF 0x87
#define MIXSOUNDSTART 0x88
#define REC_START 0x89
#define REC_STOP 0x8a
#define FROOZE 0x8b
#define BROAD_START 0x8c
#define BROAD_STOP 0x8d
#define TALK_START 0x8e
#define VOD_START 0x8f
#define MENU_START 0x92
#define EN_REQUEST 0x9c
#define NO_REQUEST 0x9d
#define MPEG1 1
#define PCM 2
#define BW 3
#define TEXT 0x82
#define MENU 0x83
#define PROGRAM 0x84
#define MP3_DAT 1
#define MENU_DAT 2
#define PCM_DAT 3
#define SetData GpioDataRegs.GPFDAT.bit.GPIOF0 = 1
#define ClrData GpioDataRegs.GPFDAT.bit.GPIOF0 = 0
#define SetClk GpioDataRegs.GPFDAT.bit.GPIOF2 = 1
#define ClrClk GpioDataRegs.GPFDAT.bit.GPIOF2 = 0
#define LedReg (*((volatile unsigned int *)0x23FF))
#define AicContrlReg (*((volatile unsigned int *)0x25FF))
#define Set485OE 0x20
#define Clr485OE 0xDF
#define Set8019RST 0x10
#define Clr8019RST 0xEF
#define SetSPICS 0x08
#define ClrSPICS 0xF7
#define SetAICCS 0x04
#define ClrAICCS 0xFB
#define SetSIDIN 0x02
#define ClrSIDIN 0xFD
#define SetSCLK 0x01
#define ClrSCLK 0xFE
#define PAGE 0x44
#define NetPort 0x3700
/*register declarations for RTL8019AS */
/*Page0(PS1=0,PS0=0) */
/*RD */
#define CR (*((volatile unsigned int *)(NetPort+0)))
/*Command*/
#define CLDA0 (*((volatile unsigned int *)(NetPort+1)))
/*Curent Local DMA Address 0*/
#define CLDA1 (*((volatile unsigned int *)(NetPort+2)))
/*Curent Local DMA Address 1*/
#define BNRY (*((volatile unsigned int *)(NetPort+3)))
/*Boundary Pointer*/
#define TSR (*((volatile unsigned int *)(NetPort+4)))
/*Transmit Status Register*/
#define NCR (*((volatile unsigned int *)(NetPort+5)))
/*Number of Collisions Register*/
#define FIFO (*((volatile unsigned int *)(NetPort+6)))
#define ISR (*((volatile unsigned int *)(NetPort+7)))
/*Interrupt Status Register*/
#define CRDA0 (*((volatile unsigned int *)(NetPort+8)))
/*Current Remote DMA Address 0*/
#define CRDA1 (*((volatile unsigned int *)(NetPort+9)))
/*Current Remote DMA Address 1*/
#define CRD0 (*((volatile unsigned int *)(NetPort+10)))
/*Configuration Register A*/
#define CRD1 (*((volatile unsigned int *)(NetPort+11)))
/*Configuration Register B*/
#define RSR (*((volatile unsigned int *)(NetPort+12)))
/*Receive status Register*/
#define CNTR0 (*((volatile unsigned int *)(NetPort+13)))
/*Tally Counter 0(Frame Alignment Errors)*/
#define CNTR1 (*((volatile unsigned int *)(NetPort+14)))
/*Tally Counter 1(CRC Errors)*/
#define CNTR2 (*((volatile unsigned int *)(NetPort+15)))
/*Tally Counter 2(Missed packet Errors)*/
/*WR */
#define PSTART (*((volatile unsigned int *)(NetPort+1)))
/*Page Start Register*/
#define PSTOP (*((volatile unsigned int *)(NetPort+2)))
/*Page stop Regiser*/
#define TPSR (*((volatile unsigned int *)(NetPort+4)))
/*Transmit Page Start Address*/
#define TBCR0 (*((volatile unsigned int *)(NetPort+5)))
/*Transmit Byte Count Register 0*/
#define TBCR1 (*((volatile unsigned int *)(NetPort+6)))
/*Transmit Byte Count Register 1*/
#define RSAR0 (*((volatile unsigned int *)(NetPort+8)))
/*Remote Start Address Register 0*/
#define RSAR1 (*((volatile unsigned int *)(NetPort+9)))
/*Remote Start Address Register 1*/
#define RBCR0 (*((volatile unsigned int *)(NetPort+10)))
/*Remote Byte Count Register 0*/
#define RBCR1 (*((volatile unsigned int *)(NetPort+11)))
/*Remote Byte Count Register 1*/
#define RCR (*((volatile unsigned int *)(NetPort+12)))
/*Receive Configuration Register*/
#define TCRN (*((volatile unsigned int *)(NetPort+13)))
/*Transmit Configuration Register*/
#define DCR (*((volatile unsigned int *)(NetPort+14)))
/*Data Configuration Register*/
#define IMRR (*((volatile unsigned int *)(NetPort+15)))
/*Interrupt Mask Register*/
/*Page1(PS1=0,PS0=1) */
//#define CR port3700
/*Command*/
#define PAR0 (*((volatile unsigned int *)(NetPort+1)))
/*Physical Address Register 0*/
#define PAR1 (*((volatile unsigned int *)(NetPort+2)))
/*Physical Address Register 1*/
#define PAR2 (*((volatile unsigned int *)(NetPort+3)))
/*Physical Address Register 2*/
#define PAR3 (*((volatile unsigned int *)(NetPort+4)))
/*Physical Address Register 3*/
#define PAR4 (*((volatile unsigned int *)(NetPort+5)))
/*Physical Address Register 4*/
#define PAR5 (*((volatile unsigned int *)(NetPort+6)))
/*Physical Address Register 5*/
#define CURR (*((volatile unsigned int *)(NetPort+7)))
/*Current Page Register */
#define MAR0 (*((volatile unsigned int *)(NetPort+8)))
/*Multicast Address Register 0*/
#define MAR1 (*((volatile unsigned int *)(NetPort+9)))
/*Multicast Address Register 1*/
#define MAR2 (*((volatile unsigned int *)(NetPort+10)))
/*Multicast Address Register 2*/
#define MAR3 (*((volatile unsigned int *)(NetPort+11)))
/*Multicast Address Register 3*/
#define MAR4 (*((volatile unsigned int *)(NetPort+12)))
/*Multicast Address Register 4*/
#define MAR5 (*((volatile unsigned int *)(NetPort+13)))
/*Multicast Address Register 5*/
#define MAR6 (*((volatile unsigned int *)(NetPort+14)))
/*Multicast Address Register 6*/
#define MAR7 (*((volatile unsigned int *)(NetPort+15)))
/*Multicast Address Register 7*/
/*Page 2(PS1=1,PS0=0)*/
/*page 3(PS1=1,PS0=0)*/
#define DMA (*((volatile unsigned int *)(NetPort+16)))
#define ARP 1
#define UDP 2
#define IGMP 3
#define LSS 4
#define BROADCAST 1
#define REC_ARP 2
#define NOD 3
/*Configuration Register D*/
/*NOTE: */
/* Some registers in page 2 are complementary to the registers in */
/* page 0. */
/* Page0 RD WR */
/* 0X01 CLDA0 PSTART */
/* 0X02 CLDA1 PSTOP */
/* 0X04 TPSR */
/* 0X0C RCR */
/* 0X0D TCR */
/* 0X0E DCR */
/* 0X0F IMR */
struct ipaddr
{
unsigned short addr2_1; //IP地址低位
unsigned short addr4_3; //IP地址高位
};
struct mac
{
unsigned short addr2_1; //
unsigned short addr4_3;
unsigned short addr6_5;
};
struct iphdr
{
unsigned short tos_version; //4位版本,4位首部长度,8位服务类型
unsigned short tol_len; //16位总长度
unsigned short id; //16位标识
unsigned short frag_off; //3位标志,13位片偏移
unsigned short protocal_ttl; //8位生成时间,8位协议
unsigned short chksum; //16位首部校验和
struct ipaddr saddr; //32位源IP地址
struct ipaddr daddr; //32位目的IP地址
};
struct udphdr
{
unsigned short sport; //16位源端口号
unsigned short dport; //16位目的端口号
unsigned short length; //16位UDP长度
unsigned short chksum; //16位UDP校验和
};
struct igmphdr
{
unsigned short type_mrt; //
unsigned short chksum;
struct ipaddr groupaddr;
};
struct pre_udphdr
{
struct ipaddr saddr;
struct ipaddr daddr;
unsigned short protocal_value;
unsigned short length;
};
struct arp
{
unsigned short hard_type;
unsigned short proto_type;
unsigned short proto_hard_length;
unsigned short op_code;
struct mac send_macaddr;
struct ipaddr send_ipaddr;
struct mac rec_macaddr;
struct ipaddr rec_ipaddr;
};
extern void delay(Uint32 k);
extern void InitAic23(void);
extern void WriteAic23(Uint16 addr, Uint16 dat);
extern void init_8019();
extern void nic_recieve();
extern void request();
extern void get_server_mac();
extern void readdat(Uint16 x1,Uint16 x2);
extern void getorder();
extern void send_udp(unsigned short *buf,unsigned short length);
extern void init_protocal();
extern void load_udp(unsigned short *buf,unsigned short *length);
extern void load_ip(unsigned short *buf,unsigned short *length);
extern void send_frame(unsigned short *buf, unsigned short MAC_type,unsigned short PROTO_type,unsigned short length);
extern void send_arp(struct ipaddr *ip,unsigned short arp_type);
extern void send_igmp(Uint16 type);
extern void RST8019(void);
extern void handlekey(void);
interrupt void ISRMcbspSend(void);
interrupt void ISRTimer0(void);
unsigned short checksum(unsigned short *buffer, short size);
unsigned short change_byte(unsigned short value);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -