示例#1
0
文件: Arp.c 项目: Kevin-l-wu/Mini2440
MINI2440_STATUS arp_test(int argc, char(*argv)[MAX_COMMAND_LENGTH])
{
	MINI2440_STATUS status = MINI2440_SUCCESS;
	
	u32 isr_status = 0;
	char recv_char[200] = {'\0'};
	int test_times = 10;
	
	dm9000_init();
	
	print_string("arp_test\n");
	
	delay(1000000);
	
	while(test_times--)
	{
		arp_request();
		
		delay(200000);
	}

	dm9000_int_clear();
	
	return status;
}
示例#2
0
int dm9000_rx(unsigned char *datas)
{
	unsigned char ready;
	int len, status;
	int i;
	unsigned short *ds = (unsigned short *)datas;
	
	ready = dm9000_reg_read(DM9000_MRCMDX);
	if(ready > 0x01)
	{
		dm9000_init();
		return 0;
	}

	if(ready != 0x01)
		return 0;

	writeb(DM9000_MRCMD, DM9000_ADDR_PORT);
	status = readw(DM9000_DATA_PORT);
	len = readw(DM9000_DATA_PORT);

	for(i = 0; i < len; i += 2)
		*ds++ = readw(DM9000_DATA_PORT);

	return len;
}
示例#3
0
DRV_Eth_Error DRV_Eth_Init( void )
{
	if( !dm9000_init() )
		return ETH_No_Error;
	else
		return ETH_Init_Error;
}
示例#4
0
int main()
{
	uart_init();
	
	uart_printf("main\n");
	dm9000_init();
	while(1);
}
示例#5
0
void brd_driver_init(){
#ifdef CFG_DRV_CON_UART
	con_uart_init();
#endif
#ifdef CFG_DRV_CON_TELNET
	con_telnet_init();
#endif
#ifdef CFG_DRV_SDI
        sd_init();
#endif

#ifdef CFG_DRV_LCD
	lcd_init();
#endif

#ifdef CFG_DRV_TS
	ts_init();
#endif

#ifdef CFG_DRV_NET_DM9000
	dm9000_init();
#endif
}
示例#6
0
文件: main.c 项目: pizhi/ok6410
int gboot_main()
{
	int num;
	
	//unsigned char buf[1024*4];
#ifdef MMU_ON
    mmu_init();
#endif
	
	uart_init();
    	led_init();
    
    	button_init();
    
    	init_irq();
    
    	led_off();
    	
    	dma_init();
    	dma_start();
    	
	dm9000_init();
    	
   
    while(1)
    {
    	
	printf("\n***************************************\n\r");
    	printf("\n****************MYBOOT*****************\n\r");
    	printf("1:Set Out a Arp Package to Get Host Ip and MAC!\n\r");
    	printf("2:Download Linux Kernel from TFTP Server!\n\r");
    	printf("3:Boot Linux from RAM!\n\r");
    	printf("\n Plese Select:");
    	
    	scanf("%d",&num);
    
        switch (num)
        {
            case 1:
            arp_progress();
            break;
            
            case 2:
            tftp_send_request("tftp.c");
            while(FLAG_TFTP);
            break;
            
            case 3:
            boot_linux();
            //boot_linux_nand();
            break;
            
            default:
                printf("Error: wrong selection!\n\r");
            break;	
        }
    	
    }
    return 0;     
	
}
示例#7
0
文件: main.c 项目: Accordeur/My-boot
int My_boot_main()
{

	//unsigned char buff[2048];

	int num;
#ifdef MMU_ON
    mmu_init();
#endif
    led_init();
    button_init();
    init_irq();
    
    uart_init();
    
    ts_init();
    
    //lcd_init(); 
    
    //lcd_test();
    
    dm9000_init();
    
	while(1)
	{
		printf("\n**********************************************\n\r");
		printf("\n*******************My-boot********************\n\r");
		printf("[1], Download Linux Kernel from TFTP Server!\n\r");
		printf("[2], Boot Linux from RAM!\n\r");
		printf("[3], Boot Linux from Nand Flash\n\r");
		printf("\n Please Select:");

		int num;
		scanf("%d", &num);

		switch (num)
        {
            case 1:
            //tftp_load();
            tftp_send_request("start.o");
            break;
            
            case 2:
            //boot_linux_ram();
            //arp_request();
            boot_linux();
            break;
            
            case 3:
            //boot_linux_nand();
            arp_request();
            break;
            
            default:
                printf("Error: wrong selection!\n\r");
            break;	
        }

	return 0;
    }
}
示例#8
0
int main()
{
	unsigned int num;

	
	unsigned char ret = 0;
	
	#ifdef  MMU_ON
	mmu_init();
	#endif
	led_init();
	key_init();
	irq_init();
	uart0_init();
	lcd_init();	
	i2c0_init();
	
		
	lcd_clear_screen(0x000000);
	dm9000_init();
	
	printf("First write address of 0x0,");
	at24cxx_write(0x0, 0xAA);  //往设备内存0地址写入0xAA
	ret = at24cxx_read(0x0);   //读设备内存0地址里面的数据
	printf("the value in address 0x0 = %x\r\n",ret);
	
	printf("Second write address of 0x1,");
	at24cxx_write(0x1,0x33);
	ret = at24cxx_read(0x1);
	printf("the value in address 0x1 = %x\r\n",ret);
	
	
	
//	dm9000_arp();
	
	while(1)
		{
			printf("\r\n");
			printf("========= Boot for S5pv210 Main Menu =========\r\n");
			printf("=========  designed by KungfuMonkey  =========\r\n");
			printf("\r\n");
			printf("1.ARP Request for PC MAC\r\n");
			printf("2.Download Linux Kernel to SDRAM\r\n");
			printf("3.Run the linux\r\n");
			
			scanf("%d\r\n",&num);
			printf("%d\r\n",num);
			
			
			switch(num)
			{
				case 1:
					arp_request();
					break;
					
				case 2:
					tftp_send_request("zImage");
					break;
					
				case 3:
				  boot_linux();					
					break;

					
				default:
					printf("Error: wrong selection!\r\n");
					break;
			}
		}
	return 0;
}