📄 initlib.c
字号:
//
// initlib.c
//
// An example initialisation function for the lwIP library.
//
// It calls initialisation functions for selected submodules, including the
// system-specific layer and the network interface layer.
//
// After calling this function you should use netif_add() to initialise
// your actual network interface(s) and netif_set_default() to set the
// default interface.
//
#include "lwip/sys.h"
#include "lwip/mem.h"
#include "lwip/memp.h"
#include "lwip/pbuf.h"
#include "lwip/udp.h"
#include "lwip/tcp.h"
#include "lwip/tcpip.h"
#include "lwip/netif.h"
#include "lwip/stats.h"
#include "netif/etharp.h"
#include "initlib.h"
static void
tcpip_init_done(void *arg)
{
sys_sem_t *sem;
sem = arg;
sys_sem_signal(*sem);
}
void lwip_init(u8_t* lwip_memory){
sys_sem_t sem;
extern u8_t** ADI_TOOLS_ram_ptr;
extern u32_t ADI_TOOLS_ram_len;
extern u8_t** ADI_TOOLS_memp_ptr;
extern u32_t ADI_TOOLS_memp_len;
extern u8_t** ADI_TOOLS_pbuf_pool_ptr;
extern u32_t ADI_TOOLS_pbuf_pool_len;
// caller must ensure that the area of memory supplied as 'lwip_memory'
// is at least as long as the sum of the 'len' values
*ADI_TOOLS_ram_ptr = lwip_memory;
*ADI_TOOLS_memp_ptr = lwip_memory
+ ADI_TOOLS_ram_len;
*ADI_TOOLS_pbuf_pool_ptr = lwip_memory
+ ADI_TOOLS_ram_len
+ ADI_TOOLS_memp_len;
stats_init();
sys_init();
mem_init();
memp_init();
pbuf_init();
sem = sys_sem_new(0);
tcpip_init(tcpip_init_done, &sem);
sys_sem_wait(sem);
sys_sem_free(sem);
netif_init();
etharp_init();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -