你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 1183|回复: 3

【中文文档】UM1713_如何应用stm32cube的中间件LwIP_TCP、IP协议栈

[复制链接]

1347

主题

1124

回帖

0

蝴蝶豆

管理员

最后登录
2020-12-9
发表于 2019-4-16 09:50:51 | 显示全部楼层 |阅读模式
使用 LwIP TCP/IP 栈,在 STM32Cube 上开发应用

前言

STM32F4x7/9xx 和 STM32F2x7xx 微控制器配有高质量 10/100 Mbit/s 以太网外设,支持媒体独立接口 (MII)和缩减的媒体独立接口 (RMII),以便与物理层 (PHY)接口。

当使用以太网通信接口时,会使用 TCP/IP 软件协议栈以实现局域网或者广域网中的通信。

本用户手册说明了怎样使用 STM32CubeF2 和 STM32CubeF4 HAL 驱动程序,将一个免费中间件 TCP/IP 栈分别集成到基于 STM32F2x7xx 和 STM32F4x7/9xx 微控制器的嵌入式应用(请参考第 1 章节以获得 STM32Cube 的详细信息)。该中间件 TCP/IP 栈为 LwIP (轻量级IP),专为嵌入式应用开发的开源协议栈。

对于每款评估 板,此包都包含了九个运行于 LwIP 栈之上的应用:
• 基于 Raw API,运行于独立模式 (没有 RTOS)的应用:
– Web 服务器
– TFTP 服务器
– TCP 回响客户端应用
– TCP 回响服务器应用
– UDP 回响客户端应用
– UDP 回响服务器应用

• 运行于 FreeRTOS 操作系统的应用:
– 基于 netconn API 的 Web 服务器
– 基于 socket API 的 Web 服务器
– 基于 netconn API 的 TCP/UDP 回响服务器应用。

注 : 在本文中, STM32Cube™ 指的是 STM32CubeF2 和 STM32CubeF4, STM32F4xx 指的是STM32F4x7xx 和 STM32F4x9xx 微控制器, STM322xx-EVAL 和 STM324xx-EVAL 指的是STM3221x-EVAL、 STM324xG-EVAL 和 STM324x9I-EVAL 评估板。

本文提供的截屏和文件名对应的是运行于 STM32F4 微控制器上的应用样例。然而,它们也适用于 STM32F2x7xx。

1 STM32Cube™ 概述

STM32Cube™ 计划源自意法半导体,旨在通过减少开发的工作量、时间与成本,使开发者受益。 STM32Cube 涵盖 STM32 产品组合。

STM32Cube 1.x 版包括:
• 图形软件配置工具 STM32CubeMX,可通过图形向导生成初始化 C 代码。
• 针对每个系列提供综合的嵌入式软件平台 (例如 STM32CubeF2 用于 STM32F2 系列,STM32CubeF4 用于 STM32F4 系列)
– STM32 抽象层嵌入式软件 STM32Cube HAL,确保在 STM32 各个产品之间实现最大限度的可移植性
– 一套一致的中间件,比如 RTOS、 USB、 TCP/IP、图形
– 所有嵌入式软件实用工具均配备一套完整的示例。
1.png
2 LwIP TCP/IP 栈描述


2.1 栈特性

LwIP 为免费 TCP/IP 栈,由 Adam Dunkels 在瑞典计算机科学院 (SICS)开发,由修正的BSD 许可授权。

LwIP TCP/IP 实现的侧重点为在全面保持 TCP/IP 栈的同时,尽可能的减少 RAM 的使用。这使得 LwIP 特别适合在嵌入式系统中使用。

LwIP 具有下列协议:
• IPv4 和 IPv6 (网际协议 v4 和 v6)
• ICMP (互联网控制消息协议),用于网络维护和调试
• IGMP (互联网组管理协议),用于多播流量的管理
• UDP (用户数据报协议)
• TCP (传输控制协议)
• DNS (域名服务器)
• SNMP (简单网络管理协议)
• DHCP (动态主机配置协议)
• PPP (点到点协议)
• ARP (地址解析协议)

LwIP 具有三种应用编程接口 (API):
• Raw API 为原始的 LwIP API。它通过事件回调机制进行应用开发。该 API 提供了最好的性能和优化的代码长度,但增加了应用开发的复杂性。
• Netconn API 为高层有序 API,需要实时操作系统 (RTOS)的支持 (提供进程间通讯的方法)。 Netconn API 支持多线程工作。
• BSD Socket API:类似 Berkeley 的套接字 API (开发于 Netconn API 之上)LwIP 栈的源代码可从 http://savannah.nongnu.org 下载。

..........

想了解更多,请下载原文阅读

回复

使用道具 举报

8

主题

177

回帖

7

蝴蝶豆

高级会员

最后登录
2019-9-26
发表于 2019-4-16 11:45:54 | 显示全部楼层
回复 支持 反对

使用道具 举报

6

主题

930

回帖

133

蝴蝶豆

金牌会员

最后登录
2020-12-9
发表于 2019-4-16 15:44:11 | 显示全部楼层
收藏
回复 支持 反对

使用道具 举报

0

主题

32

回帖

0

蝴蝶豆

高级会员

最后登录
2020-12-9
发表于 2019-7-13 15:18:49 | 显示全部楼层
STUDY...
回复 支持 反对

使用道具 举报

请先关注话题后回复
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版