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; }
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; }
DRV_Eth_Error DRV_Eth_Init( void ) { if( !dm9000_init() ) return ETH_No_Error; else return ETH_Init_Error; }
int main() { uart_init(); uart_printf("main\n"); dm9000_init(); while(1); }
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 }
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; }
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; } }
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; }