STM32F767上LwIP的移植

 本文介绍STM32F767上LwIP移植的基本方法。

开发环境

硬件环境

  • 电脑:Windows 10 Home x64
  • Apollo STM32F767开发板(ST-LINK V2仿真器)

软件环境

  • Keil Version 5.24.1 (Pack Installer:Keil.STM32F7xx_DFP.2.9.0.pack)
  • STM32CubeMX Version 4.25.0(Packages Manager:STM32CubeF7)

LwIP简介

LwIP是瑞典计算机科学院的一个开源的TCP/IP协议栈实现.

LwIP协议栈主要关注的是怎么样减少内存的使用和代码的大小,这样就可以让lwIP适用于资源有限的小型平台例如嵌入式系统。为了简化处理过程和内存要求,lwIP对API进行了裁减,可以不需要复制一些数据。

其主要特性如下:

  1. 支持多网络接口下的IP转发;
  2. 支持ICMP协议;
  3. 包括实验性扩展的UDP(用户数据报协议);
  4. 包括阻塞控制、RTT 估算、快速恢复和快速转发的TCP(传输控制协议);
  5. 提供专门的内部回调接口(Raw API),用于提高应用程序性能;
  6. 可选择的Berkeley接口API (在多线程情况下使用) ;
  7. 在最新的版本中支持ppp;
  8. 新版本中增加了的IP fragment的支持;
  9. 支持DHCP协议,动态分配ip地址.

官方代码学习

本例中参考的代码路径为STM32Cube\Repository\STM32Cube_FW_F7_V1.11.0\Projects\STM32756G_EVAL\Applications\LwIP\LwIP_UDP_Echo_Client,首先对代码的初始化流程进行学习。

文章目录
  1. 1. 开发环境
    1. 1.1. 硬件环境
    2. 1.2. 软件环境
  2. 2. LwIP简介
  3. 3. 官方代码学习
|