首页 > 其他分享 >LWIP 总述

LWIP 总述

时间:2022-12-08 20:06:14浏览次数:36  
标签:__ 文件 总述 LWIP LwIP arch CPU


不过这个网站真的很逗http://savannah.nongnu.org/projects/lwip/,这个“nongnu”会激起多少程序员的遐想啊。

LWIP  总述_#define



lwIP移植工作:


其实,LWIP不需要自己亲自移植,不同的厂商都有移植好的DEMO实例程序。如STM32:

1、从官方网站http://www.stmcu.org/document/list/index/category-523下载STSW-STM32070  面向STM32F4x7微控制器的LwIP TCP/IP协议栈的演示代码的软件包stsw-stm32070.zip。
2、将stsw-stm32070.zip解压得到STM32F4x7_ETH_LwIP_V1.1.0文件夹,这个就是相当全的功能集合。足够自己起步学习或直接做产品。

LWIP  总述_#define_02

1、与CPU和编译器的相关接口


cc.h 这个文件是没有的,你需要建立一个目录arch,然后在下面添加cc.h,这里里面主要是一些定义,包括数据类型;

perf .h  定义了性能测量使用的宏,由  LwIP  调用,可以将其定义为一个空的宏。


新建 cpu.h,

添加如下代码

#ifndef__CPU_H__ 

#define __CPU_H__ 

#define BYTE_ORDER LITTLE_ENDIAN  //小端模式

#endif /* __CPU_H__ */ 

虽然只有一行代码,但是确实必须的




2、与操作系统的接口

sys_arch.c、sys_arch.h为操作系统模拟层接口文件



opt.h首先看这个文件,这个文件里面包含了LWIP的模块选项,可以在这里选择哪些模块需要编译,那些模块不编译,分成几个部分,mem,arp,icmp,igmp,ppp,dhcp等,这里可以根据自己的需要修改编译选项,如果是带操作系统的,还要修改栈空间,优先级之类的选项。



一般重新定义个文件,如lwipopts.h,这也是官方demode实例有的。






3、修改网卡底层驱动代码



这个官方的demo上可以参考修改,另外配套使用的开发包也是有对应的驱动文件(stm32f4x7_eth_bsp.c)。



主要是配置修改管脚。




标签:__,文件,总述,LWIP,LwIP,arch,CPU
From: https://blog.51cto.com/u_6958388/5923280

相关文章

  • LWIP接收数据阻塞问题
    LWIP接收数据阻塞问题问题现象:LWIP大概运行一段时间反应就变慢,比如刚开始ping是<1ms,越到后面就越慢,接近3000ms以上。有人说内存泄漏的问题。也有人说是移植后驱动的问题......
  • LWIP 的动态内存管理
    LWIP的动态内存管理机制文件mem.hmem.c memp.c memp.h学习LWIP的动态内存管理机制可以有三种:C运行时库自带的内存分配策略(MEM_LIBC_MALLOC);动态内存堆(HEAP)分配策......
  • LWIP 的ethernetif.c 学习
     《嵌入式网络那些事-LwIP协议深度剖析与实战演练》学习 ethernetif.c netif.c 在 LWIP中,是通过一个叫做结构体:structnetif{structnetif*next;//指向下一个......
  • Freertos LWIP协议tcp client无法连接服务端
    参考​​https://jingyan.baidu.com/article/e52e36154ae4f740c60c5106.html​​   现在大多的单片机使用LwIP协议来实现互联网功能,但是在刚刚学习时发现有个问题就是,L......
  • 线程总述(Java版)
    一、线程创建1、继承Thread类首先,自定义线程类继承THread类;其次,重写run方法,编写线程执行体;最后,创建线程对象并调用start()方法启动线程。但值得注意的是,线程并不一定......
  • eCos系统的lwIP驱动及lpc2xxx网卡驱动bug的解决办法
    eCos系统的lwIP驱动存在一个bug,该bug导致用于数据发送同步的信号量计数值不断增长,当超出32位整数所能表示的最大值时将会从0xffffffff回滚到0,这时可能会导致lwIP协议栈核心......
  • lwIP协议栈timeouts->next->time赋值导致BusFault异常的解决办法
    所有调用了lwIPAPI的线程都应该使用lwIP的sys_thread_new来创建。mingdu.zhengatgmaildotcom解决办法所有调用了lwIPAPI的线程都应该使用lwIP的sys_thread_new来创建......
  • 【lwip】12-一文解决TCP原理
    目录前言12.1TCP协议简介12.2TCP相关的一些概念词12.2.1MSL12.2.2MSS12.3TCP工作特性12.3.1面向连接12.3.2全双工通信12.3.3可靠性12.3.4缓冲机制12.3.5拥塞控制......
  • 【lwip】11-UDP协议&源码分析
    目录前言11.1传输层说明11.2UDP协议简介11.3UDP特点11.4UDP端口号11.5UDP报文11.6UDP伪首部和校验和11.7wireshark报文分析11.8UDP数据结构11.8.1UDP首部11.9UDP......
  • 【lwip】10-ICMP协议&源码分析
    目录前言10.1ICMP简介10.2ICMP报文10.2.1ICMP报文格式10.2.2ICMP报文类型10.2.3ICMP报文固定首部字段意义10.3ICMP差错报告报文10.3.1目的不可达10.3.2源站抑制10.......