今天又试了一下ping测试,我在之前的lwip移植帖子中提出了一些疑问,有个raw-os上面的ping测试不通,今天我又按照我的方式进行了一下测试,竟然能通,唯一的区别是今天使用的环境和之前的不一样包括(电脑、MDK和rawos源码包--都是git获取,不保证一致)。
当初不通我还在想rawos提供的网络ping不通,这么奇怪。。。现在总算通了,贴上测试代码
- void init_task(void *arg)
- {
- //GPB0 HIGH to avoid buzzer noise
- GPBCON_REG &= ~(1 << 1);
- GPBCON_REG |= (1 << 0);
- GPBDAT_REG |= (1 << 0);
-
- raw_page_init((RAW_VOID *)HEAP_ADDRESS_START, (RAW_VOID *)HEAP_ADDRESS_END);
- raw_malloc_init();
- raw_semaphore_create(e_sem_lock, "ethernet sem lock", 1);
-
- timer_0_init();
- Uart_0_Init();
-
- print_cpuinfo();
- /*
- register_task_stack_command();
- rsh_register_command(&iic_shell_cmd, &iic_shell_listitem);
- rsh_register_command(&xTestDemoCommand, &test_register_item);
- rsh_register_command(&xWatchdogCommand, &xWatchdogRegisteredCommands);
- rsh_register_command(&tftp, &tftp_item);
- rsh_register_command(&spi_shell_cmd, &spi_shell_listitem);
- rsh_register_command(&xHsmmcCommand, &xHsmmcRegisteredCommands);
- rsh_register_command(&xFatfsCommand, &xFatfsRegisteredCommands);
- rsh_register_command(&pwmopen, &pwmopen_item);
- rsh_register_command(&pwmclose,&pwmclose_item);
- rsh_register_command(&yaffs_shell_cmd,&yaffs_shell_item);
- rsh_register_command(&usbd_shell_cmd,&usbd_shell_item);
- rsh_register_command(&wave_shell_cmd,&wave_shell_item);
- rsh_register_command(&ugfx_shell_cmd,&ugfx_shell_item);
- rsh_register_command(&reboot_shell_cmd,&reboot_shell_item);
-
- rsh_register_command(&xUcguiCommand, &xUcguiRegisteredCommands);
- */
-
-
- //tftp_client();
-
- lwip_ping_test();
-
- //raw_task_create(&shell_task_obj, (RAW_U8 *)"testtask", 0,
- // IDLE_PRIORITY - 5, 0, shell_task_stack,
- // SHELL_TASK_STK_SIZE , shell_task, 1);
-
- raw_task_delete(raw_task_identify());
- }
修改这个函数中如上,可以使用
tftp_client();或者lwip_ping_test();函数,注意修改里面的网络参数,和你的电脑到统一网段
- static void default_netif_add(void)
- {
- IP4_ADDR(&tftp_client_gw, 192,168,2,254);
- IP4_ADDR(&tftp_client_ipaddr, 192,168,2,100);
- IP4_ADDR(&tftp_client_netmask, 255,255,255,0);
- netif_set_default(netif_add(&tftp_client_netif, &tftp_client_ipaddr, &tftp_client_netmask,
- &tftp_client_gw, NULL, ethernetif_init, tcpip_input));
- netif_set_up(&tftp_client_netif);
- }
测试结果如下
ping-test配置
tftp-test配置
大数据包ping测试
后面在移植一个网络速度测试的移植lwip/app下面有的。通过一段时间在ucos上面的组件移植测试等相关折腾,感觉有很多东西出了问题,不太好定位。尤其是ucos相关的,那些porting出了问题如何定位呢,参考了ucos官方的2410移植等。
底层东西有点多了,有时间要好好研究下uboot才能了解的更多了,很多细节不太懂,不想做一些应用的东西,有空在好好学习下吧。阶段性小结一下咯。