📄 ucoslwip.c
字号:
/*************************************************************************** ** PROJECT : uCOS_LwIP (TCP/IP stack) ** ** MODULE : UCOSLWIP.c ** ** AUTHOR : Michael Anburaj ** URL : http://geocities.com/michaelanburaj/ ** EMAIL: michaelanburaj@hotmail.com ** ** PROCESSOR : Any ** ** TOOL-CHAIN : GCC ** ** DESCRIPTION : ** This the base code for supporting uC/OS-II LwIP application. ** ***************************************************************************/#include "frmwrk_cfg.h"#include "sysdefs.h"#include "os_cpu.h"#include <string.h>#include "consol.h"#include "frmwrk.h"#include "lwip/mem.h"#include "lwip/memp.h"#include "lwip/sys.h"#include "lwip/stats.h"#include "lwip/tcpip.h"#include "lwip/ip_addr.h"#include "ethif_saa9730.h"#include "eth_saa9730.h"#define NETIF_Init ETHIF_Init/* ********************************************************************* *//* Global definitions *//* ********************************************************************* *//* File local definitions */void LAPP_vInit(void);#define START_TASK_PRIO APP_THREAD_START_PRIO+0/* ********************************************************************* *//* Local functions */static void vTcpipInitDone(void *arg){ sys_sem_t *sem; sem = arg; sys_sem_signal(*sem);}struct netif _stNetif;static void vTaskStart(void *data){// FRMWRK_vStartTicker(OS_TICKS_PER_SEC); /* The Tick timer is started much earlier */ struct ip_addr ipaddr, netmask, gw; sys_sem_t sem; struct netif *pstNetif; data = data; /* Prevent compiler warning */ CONSOL_Printf("uC/OS-II, The Real-Time Kernel MIPS Ported version\n"); CONSOL_Printf("Jean J. Labrosse/ (Ported by) Michael Anburaj\n"); CONSOL_Printf("LwIP #1\n"); sem = sys_sem_new(0); tcpip_init(vTcpipInitDone, &sem); sys_sem_wait(sem); sys_sem_free(sem); CONSOL_Printf("TCP/IP initialized.\n"); IP4_ADDR(&gw, 192,168,0,1); IP4_ADDR(&ipaddr, 192,168,0,103); IP4_ADDR(&netmask, 255,255,255,0); pstNetif = netif_add(&_stNetif, &ipaddr, &netmask, &gw, NULL, NETIF_Init, tcpip_input); LWIP_ASSERT("vTaskStart: netif_add error, pstNetif != 0\n", pstNetif != 0); netif_set_default(pstNetif); netif_set_up(pstNetif); /* Required only for static IP case */ printf("Addr:%x %x %x\n",ipaddr,netmask,gw); LAPP_vInit(); /* Loop forever. */ while(1) { //OSTimeDly(10); //CONSOL_SendChar('.'); /* wait forever */ ETH_vWaitOnRxPacket(0); }}/* ********************************************************************* *//* Global functions */void UAPP_vMain (void){ OSInit(); /* Initialize uC/OS-II */ sys_init(); mem_init(); memp_init(); pbuf_init(); CONSOL_Printf("System initialized.\n"); sys_thread_new(vTaskStart, NULL, START_TASK_PRIO); FRMWRK_vStartTicker(OS_TICKS_PER_SEC); /* Start the uC/OS-II system tick */ OSStart(); /* Start multitasking */}/* ********************************************************************* */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -