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

📄 myfirewallproj.c

📁 本系统由服务器软件控制平台和fpga硬件处理系统组成
💻 C
字号:
/* * * Xilinx, Inc. * XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A  * COURTESY TO YOU.  BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS * ONE POSSIBLE   IMPLEMENTATION OF THIS FEATURE, APPLICATION OR  * STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION  * IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE  * FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION * XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO  * THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO  * ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE  * FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY  * AND FITNESS FOR A PARTICULAR PURPOSE. *//* * Xilinx EDK 8.2.02 EDK_Im_Sp2.4 * * This file is a sample test application * * This application is intended to test and/or illustrate some  * functionality of your system.  The contents of this file may * vary depending on the IP in your system and may use existing * IP driver functions.  These drivers will be generated in your * XPS project when you run the "Generate Libraries" menu item * in XPS. * * Your XPS project directory is at: *    C:\my_projec\ */// Located in: ppc405_0/include/xparameters.h#include "xparameters.h"#include "stdio.h"#include "xutil.h"//#include "try.h"#include "myfirewall.h"#include "myfirewall_reg.h"#include <xps2_l.h>//====================================================#define PS2_BASEADDR XPAR_PS2_PORTS_BASEADDRvoid echo_scancode();void main(){     System_Initial(XPAR_MYFIREWALL_0_BASEADDR);              Xuint8 CMD_Read;      while(1)      {      	print("Input 1 to read  the system registers\r\n");      	print("Input 2 to write the system registers\r\n");      	print("Input 3 to search a filter rule\r\n");      	print("Input 4 to add or change a filter rule\r\n");      	print("Input 5 to delete a filter rule\r\n");        print("Input 6 to do flow statistic\r\n");            	      	CMD_Read = Addr_Read_In_8bit();      	      	switch(CMD_Read)      	{      		case 1: MYFIREWALL_Read_Operation(XPAR_MYFIREWALL_0_BASEADDR);  break;      			      		case 2: MYFIREWALL_Write_Operation(XPAR_MYFIREWALL_0_BASEADDR); break;      			      		case 3: MYFIREWALL_Search_Filter_Rule(); break;      			      		case 4: MYFIREWALL_Add_Change_Filter_Rule(XPAR_MYFIREWALL_0_BASEADDR); break;      			      		case 5: MYFIREWALL_Delete_Rule(XPAR_MYFIREWALL_0_BASEADDR); break;      		      		case 6: MYFIREWALL_Flow_Statistic(XPAR_MYFIREWALL_0_BASEADDR);break;      			      		default:  print("Wrong Input!\r\n"); break;      		}      	}     } /*int main (void) {print("djiajia coming  --\r\n");print("djiajia coming  --\r\n");print("djiajia coming  --\r\n");Xuint16 i;   print("-- Entering main() --\r\n");MYFIREWALL_SelfTest(XPAR_MYFIREWALL_0_BASEADDR);   MYFIREWALL_mWriteSlaveReg0(XPAR_MYFIREWALL_0_BASEADDR,9);i = MYFIREWALL_mReadSlaveReg0(XPAR_MYFIREWALL_0_BASEADDR);xil_printf("i is %d",MYFIREWALL_mReadSlaveReg0(XPAR_MYFIREWALL_0_BASEADDR));XPs2_mGetStatus(PS2_BASEADDR);TRY_SelfTest(XPAR_TRY_0_BASEADDR);xil_printf("ps2status is %d",XPs2_mGetStatus(PS2_BASEADDR));echo_scancode();   print("-- Exiting main() --\r\n");   return 0;	XPs2_mGetStatus(PS2_BASEADDR);}*/void echo_scancode(){  Xuint8 x, xold=0;  Xuint8 x1,x2,x3,x4;  Xuint8 data;  XPs2_mReset(PS2_BASEADDR);  print("i am here 1\n"); while(1)  {     x = XPs2_RecvByte(PS2_BASEADDR);        x1 = XPs2_RecvByte(PS2_BASEADDR);        x2 = XPs2_RecvByte(PS2_BASEADDR);		  if(x1 != 0xf0)				{				        x3 = XPs2_RecvByte(PS2_BASEADDR);                    x4 = XPs2_RecvByte(PS2_BASEADDR);						  if(x ==0xE0 && x1== 0x5A && x2 == 0xE0 && x3 == 0xF0&& x4== 0x5A)							  print("\r\n");						  else	{  print("input right number\r\n");						  continue;}				}        else if(x == x2 && x1 == 0xf0)		      {				switch (x)					{	case 0x70:    data = 0;break;						case 0x69:    data = 1;break;						case 0x72:    data = 2;break;						case 0x7A:    data = 3;break;						case 0x6B:    data = 4;break;						case 0x73:    data = 5;break;						case 0x74:    data = 6;break;						case 0x6C:    data = 7;break;						case 0x75:    data = 8;break;						case 0x7D:    data = 9;break;						case 0x71:	  data = 10;break; 													default :   data = 11;break;							}				if(data < 10)				    xil_printf("%d", data);				else if(data == 10)				    print(".");			   else{ xil_printf("input the right number!\r\n");				continue;				}																}          }       x = XPs2_RecvByte(PS2_BASEADDR);  xil_printf("x:%x\n",x);    x = XPs2_RecvByte(PS2_BASEADDR);  xil_printf("x:%x\n",x);    x = XPs2_RecvByte(PS2_BASEADDR);  xil_printf("x:%x\n",x);    x = XPs2_RecvByte(PS2_BASEADDR);  xil_printf("x:%x\n",x);   x = XPs2_RecvByte(PS2_BASEADDR);  xil_printf("x:%x\n",x);    x = XPs2_RecvByte(PS2_BASEADDR);  xil_printf("x:%x\n",x);    x = XPs2_RecvByte(PS2_BASEADDR);  xil_printf("x:%x\n",x);    x = XPs2_RecvByte(PS2_BASEADDR);  xil_printf("x:%x\n",x);   x = XPs2_RecvByte(PS2_BASEADDR);  xil_printf("x:%x\n",x);    x = XPs2_RecvByte(PS2_BASEADDR);  xil_printf("x:%x\n",x);    x = XPs2_RecvByte(PS2_BASEADDR);  xil_printf("x:%x\n",x);    x = XPs2_RecvByte(PS2_BASEADDR);  xil_printf("x:%x\n",x);    xil_printf("x:%x\n",x);    x = XPs2_RecvByte(PS2_BASEADDR);  xil_printf("x:%x\n",x);   x = XPs2_RecvByte(PS2_BASEADDR);  xil_printf("x:%x\n",x);    x = XPs2_RecvByte(PS2_BASEADDR);  xil_printf("x:%x\n",x);    x = XPs2_RecvByte(PS2_BASEADDR);  xil_printf("x:%x\n",x);    x = XPs2_RecvByte(PS2_BASEADDR);  xil_printf("x:%x\n",x);    while(1)  { print("i am here 2\n");	 x = XPs2_RecvByte(PS2_BASEADDR);    xil_printf("x:%x\n",x);	 print("i am here 3\n");	     if(x!=0xF0){ //Skip the 'break' scancode      if(x==0xE0){        x = XPs2_RecvByte(PS2_BASEADDR);        x1 = XPs2_RecvByte(PS2_BASEADDR);        x2 = XPs2_RecvByte(PS2_BASEADDR);        x3 = XPs2_RecvByte(PS2_BASEADDR);        //xil_printf("(Press ESC to return)Scancode: E0 %02X %02X %02X %02X\r\n", x,x1,x2,x3);		  xil_printf("(Press ESC to return)Scancode: E0 %02X\n", x);      }else{       // if(x!=xold)		    //XPs2_RecvByte(PS2_BASEADDR);			switch (x)					{	case 0x70:    data = 0;break;						case 0x69:    data = 1;break;						case 0x72:    data = 2;break;						case 0x7A:    data = 3;break;						case 0x6B:    data = 4;break;						case 0x73:    data = 5;break;						case 0x74:    data = 6;break;						case 0x6C:    data = 7;break;						case 0x75:    data = 8;break;						case 0x7D:    data = 9;break;						default :   data = 10;break;							}			if(data != 10)				xil_printf("(Press ESC to return)Scancode: %d\r\n", data);			else xil_printf("(Press ESC to return)Scancode: input the right number!\r\n");		  			print("i am here 4\n");			XPs2_RecvByte(PS2_BASEADDR);			print("i am here 5\n");       // xold=x;		       }       print("i am here 6\n");      if(x==0x76)        return;    }  }   return ;}

⌨️ 快捷键说明

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