初始化
首先是硬件的初始化,包括了GPIO、时钟、MAC,这个每个平台初始化内容不一样。
接下来是LWIP协议栈的初始化void lwip_stack_init(void)
{
ip_addr_t ipaddr;
ip_addr_t netmask;
ip_addr_t gw;
/* 创建一个tcpip进程 */
tcpip_init( NULL, NULL );
IP4_ADDR(&ipaddr, IP_ADDR0, IP_ADDR1, IP_ADDR2, IP_ADDR3);
IP4_ADDR(&netmask, NETMASK_ADDR0, NETMASK_ADDR1 , NETMASK_ADDR2, NETMASK_ADDR3);
IP4_ADDR(&gw, GW_ADDR0, GW_ADDR1, GW_ADDR2, GW_ADDR3);
netif_add(&g_mynetif, &ipaddr, &netmask, &gw, NULL, ðernetif_init, &tcpip_input);
/* 设置默认网卡,因为可能一个系统里包含了多个 */
netif_set_default(&g_mynetif);
/* 该函数设置NETIF_FLAG_UP标记 */
netif_set_up(&g_mynetif);
/* 该函数设置NETIF_FLAG_LINK_UP标记 */
netif_set_link_up(&g_mynetif);
}
|