lwip协议栈移植(1)

  lwip移植分为两类:

  1,只移植内核核心,用户应用程序编写只能基于raw/callback api进行

  2,移植内核核心和上层API函数模块,用户可以使用所有三种API编程,即 raw/callback API ,sequential API ,BSD-style socket API

  第一种移植:

  1,新建工程,源文件目录arch,创建文件lwipopts.h,perf.h和cc.h三个头文件。

  2,网卡驱动

    5个函数

    (1)static void low_level_init(struct netif *netif)
    (2)static err_t low_level_output(struct netif *netif, struct pbuf *p)
      (3)static struct pbuf *low_level_input(struct netif *netif)
    (4)static void ethernetif_input(struct netif *netif)
      (5)err_t ethernetif_init(struct netif *netif)

  前三个和网卡功能密切相关

  后面两个为上层调用接口

  

原文地址:https://www.cnblogs.com/10cm/p/6644873.html

时间: 2024-08-02 04:09:44

lwip协议栈移植(1)的相关文章

LwIP协议栈(1):简介与pbuf

概述 Lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈. LwIP是Light Weight (轻型)IP协议,有无操作系统的支持都可以运行.LwIP实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用,它只需十几KB的RAM和40K左右的ROM就可以运行,这使LwIP协议栈适合在低端的嵌入式系统中使用.[1] LwIP协议栈主要关注的是怎么样减少内存的使用和代码的大小,这样就可以让lwIP适用于资源有限的小型平台例如嵌入式系统

一种基于uCos-II操作系统和lwIP协议栈的IEEE-1588主站以及基于该主站的报文处理方法

本发明公开了一种基于uCos‐II操作系统和lwIP协议栈的IEEE‐1588主站以及应用于电力系统的支持IEEE‐1588协议的主时钟(IEEE‐1588主站)的实现方法.该方法是在一个低成本的硬件平台上,借助uCos‐II操作系统和TCP/IP的协议栈,对以太网数据进行了分类处理,实现了在同一个以太网端口提供基于二层和三层报文交换的IEEE‐1588的主站功能.另外,通过使用不同的操作系统进程来处理E2E和P2P对时,实现了两种对时模式在同一端口上的共存. 技术领域 [0001] 本发明属于

LWIP协议栈:ARP协议

1. ARP协议简介 ARP(Address Resolution Protocol),地址解析协议.ARP协议处于网络层,其主要功能就是通过目标设备的 IP 地址,查询目标设备的 MAC 地址,从而进行网络通信. 网络层中,源主机和目标主机依赖于IP地址进行通信.而链路层又有自己的寻址寻址机制(如,以太网依赖于MAC地址进行通信).ARP的作用在于将IP地址转换为MAC地址,从而连接网络层与链路层,使得上层可以通过IP地址进行网络通信. ARP协议的基本运作过程如下: 2. ARP缓存表 2.

微信蓝牙协议栈移植

微信蓝牙一般是基于串口的,所以只跟串口底层相关,也就是只需要将串口发送和接收两个函数填充到协议栈对外接口函数就行了. 先把微信SDK包加载在我们自己的项目中,整个移植过程我们只需要改动proto.c文件里边5个接口函数. 1.先把串口准备好 #include "uart.h" #include "uart_config.h" enum BLE_TRAN_FSM { bMagicNumber = 0, bVer, nLenghth_hi, nLenghth_low,

LwIP协议栈(2):网络接口

在LwIP中,物理网络硬件接口结构保存在一个全局链表中,它们通过结构体中的 next 指针连接. struct netif { /// pointer to next in linked list */ struct netif *next; /// IP address configuration in network byte order */ ip_addr_t ip_addr; //IP地址 ip_addr_t netmask; //子网掩码 ip_addr_t gw; //网关地址 n

LWIP协议栈1

STM32F4自带的MAC,而没有PHY纯模拟电路部分,没有把PHY做进STM32F4是因为会对芯片的功耗有影响,同时芯片的体积会增大等原因. MAC与PHY的通信接口是MII以及RMII方式. MDIO是SMI下面的一个部分. 配置的完成:MAC通过SMI对PHY进行配置. 数据交换:MAC通过MII与PHY进行数据交换.

LWIP协议栈2-

->->->

TCP/IP基础知识

最近工作中需要自己在板卡植入TCP/IP协议栈,因为毕竟单片机性能有限,完整的TCP/IP协议栈很庞大,所以只能移植经过简化的,本来已成功将LWIP协议栈移植到项目板卡中,但老大说这个协议栈写得过于繁琐,特别是在内存管理这块,不容易理解,而且我们板卡对数据的准确性要求没那么高,重点要保证能通就行,偶尔丢失一两个包都没关系,所以按此需求自写协议栈,实现UDP以及Telnet通信,目前UDP已经实现,其余功能还在慢慢增加中,通过这段时间的研究发现实现UDP并不难,最主要是要把网络通信的一些基本概念知

Modbus从机(服务器)通讯设计

摘要:本文在国家标准GB/T 19582-2008的框架下,讨论Modbus协议在串行链路RS485以及TCP/IP上的实现过程和注意事项.涉及到Modbus帧界定.lwip协议栈移植等关键内容,对于难度较大的读写多个线圈命令,本文给出了关键源代码. 1. 简介 从1979年开始,Modbus作为工业串行链路的事实标准,Modbus使成千上万的自动化设备能够通信.目前,对简单而精致的Modbus结构的支持仍在增长.互联网用户能够使用TCP/IP栈上的保留系统端口502访问Modbus. Modb