初始化
首先是硬件的初始化,包括了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);
- }
|