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

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

[复制链接]
STMCU-管管 发布时间:2019-4-16 09:50
使用 LwIP TCP/IP 栈,在 STM32Cube 上开发应用
9 [( C2 }' J& ?# l
0 ^+ M# x) s7 A6 k% m# M! M
前言 + t' Z( s6 M+ [9 m2 _% q0 o& Y

1 \- u1 C3 p" \! }STM32F4x7/9xx 和 STM32F2x7xx 微控制器配有高质量 10/100 Mbit/s 以太网外设,支持媒体独立接口 (MII)和缩减的媒体独立接口 (RMII),以便与物理层 (PHY)接口。 ( Q7 c- g+ w" h. J
, B, }7 R% n# d" S' U# _: {
当使用以太网通信接口时,会使用 TCP/IP 软件协议栈以实现局域网或者广域网中的通信。 % ^! z& w/ S+ j+ t) m6 b( ]1 }1 e
1 H; c+ r: h% d: C: N
本用户手册说明了怎样使用 STM32CubeF2 和 STM32CubeF4 HAL 驱动程序,将一个免费中间件 TCP/IP 栈分别集成到基于 STM32F2x7xx 和 STM32F4x7/9xx 微控制器的嵌入式应用(请参考第 1 章节以获得 STM32Cube 的详细信息)。该中间件 TCP/IP 栈为 LwIP (轻量级IP),专为嵌入式应用开发的开源协议栈。
/ Y' m% ~7 {1 Z1 w/ S; M8 \
3 ?  A# o3 n& m: q3 ^2 ]  u
对于每款评估 板,此包都包含了九个运行于 LwIP 栈之上的应用: 2 ]. s' S7 F4 `
• 基于 Raw API,运行于独立模式 (没有 RTOS)的应用:1 M3 |9 P4 O9 K9 G4 }1 x7 n
– Web 服务器
% E# N9 c) ^; a: A – TFTP 服务器' E9 k5 P' v* m' L5 X$ b. K
– TCP 回响客户端应用0 O0 ]+ |$ u$ X
– TCP 回响服务器应用+ M0 I8 C/ A: ]
– UDP 回响客户端应用! J* {8 t" A& g8 w- _# M( b3 ?
– UDP 回响服务器应用 ( _0 r% t6 w1 C* ?. p) M
5 I9 j7 K1 l( u0 M  D; X9 T
• 运行于 FreeRTOS 操作系统的应用:- K4 ]7 O. y5 s+ ]
– 基于 netconn API 的 Web 服务器5 R7 W) h3 K, C6 F
– 基于 socket API 的 Web 服务器
5 i  t2 N% v) J- a7 a( T – 基于 netconn API 的 TCP/UDP 回响服务器应用。 , G2 f2 x3 ^& Z+ B2 h1 O; c/ F) f
% A; l1 _8 K, f5 k* W
注 : 在本文中, STM32Cube™ 指的是 STM32CubeF2 和 STM32CubeF4, STM32F4xx 指的是STM32F4x7xx 和 STM32F4x9xx 微控制器, STM322xx-EVAL 和 STM324xx-EVAL 指的是STM3221x-EVAL、 STM324xG-EVAL 和 STM324x9I-EVAL 评估板。
4 d5 }' @% \) Z

- X  ~/ `0 F4 _9 B: k$ K' {' H本文提供的截屏和文件名对应的是运行于 STM32F4 微控制器上的应用样例。然而,它们也适用于 STM32F2x7xx。4 [5 I' ?6 [3 E& m) O
+ C. |& S4 I, \# ?* v
1 STM32Cube™ 概述
7 S/ y. k; ^/ S( \1 Q$ j1 v

$ U3 w; e5 o& m& H7 K' ySTM32Cube™ 计划源自意法半导体,旨在通过减少开发的工作量、时间与成本,使开发者受益。 STM32Cube 涵盖 STM32 产品组合。 $ |# V% V2 P5 Q4 _- w( {* g
! T: c5 @/ ]5 G+ o; m
STM32Cube 1.x 版包括:
" _$ [3 h0 p( S* R5 E • 图形软件配置工具 STM32CubeMX,可通过图形向导生成初始化 C 代码。
. S! V8 `, r  V • 针对每个系列提供综合的嵌入式软件平台 (例如 STM32CubeF2 用于 STM32F2 系列,STM32CubeF4 用于 STM32F4 系列)
* M# E1 C( p" t1 h – STM32 抽象层嵌入式软件 STM32Cube HAL,确保在 STM32 各个产品之间实现最大限度的可移植性
  u. D$ C% k* J" f- Q2 |8 P7 f – 一套一致的中间件,比如 RTOS、 USB、 TCP/IP、图形& H% Y! Y" Y3 Y3 y
– 所有嵌入式软件实用工具均配备一套完整的示例。
" {! g+ b" {% l3 E
1.png
2 LwIP TCP/IP 栈描述
" I6 m( h; U# H0 z2 t- U% o
8 [. V/ X2 F, |9 F- W" w; ?* g5 P* q
2.1 栈特性
/ [# c( G! ]% D# D& x
9 ^3 f! G: ^) ^! c* q" u9 U
LwIP 为免费 TCP/IP 栈,由 Adam Dunkels 在瑞典计算机科学院 (SICS)开发,由修正的BSD 许可授权。
- W  A+ k% z! |: a
8 n$ ^* x- d1 y: e/ u' `LwIP TCP/IP 实现的侧重点为在全面保持 TCP/IP 栈的同时,尽可能的减少 RAM 的使用。这使得 LwIP 特别适合在嵌入式系统中使用。
* i2 w* ^+ Y* v8 c0 H8 ^1 z  o
5 F) s; C* w* c+ h- S6 \
LwIP 具有下列协议: 7 b) r2 F; k2 Q
• IPv4 和 IPv6 (网际协议 v4 和 v6)
* ?+ Z& Q+ n2 f2 w • ICMP (互联网控制消息协议),用于网络维护和调试/ t5 ~8 L, E' t8 E0 m; q
• IGMP (互联网组管理协议),用于多播流量的管理
$ V9 X: b$ ?$ l# } • UDP (用户数据报协议)
4 s+ q  H$ A6 R7 U: g- @, d5 y; D • TCP (传输控制协议)
' F' n' k/ f% p • DNS (域名服务器)
# C7 {- f; [- s( L • SNMP (简单网络管理协议)
/ N# |' F# k- @ • DHCP (动态主机配置协议)" D2 |' j2 t  T
• PPP (点到点协议)
" t$ M) h- C- h6 q5 M( r • ARP (地址解析协议)8 ?! x1 h$ o2 g& F4 j; @/ _
# m6 W  A# }1 E7 J/ F) h
LwIP 具有三种应用编程接口 (API):8 A! v; r7 x: E& Z. s
• Raw API 为原始的 LwIP API。它通过事件回调机制进行应用开发。该 API 提供了最好的性能和优化的代码长度,但增加了应用开发的复杂性。9 j3 A1 L7 D2 Q, N% e- m% m# g; k
• Netconn API 为高层有序 API,需要实时操作系统 (RTOS)的支持 (提供进程间通讯的方法)。 Netconn API 支持多线程工作。 4 b4 X' g5 F# m" \
• BSD Socket API:类似 Berkeley 的套接字 API (开发于 Netconn API 之上)LwIP 栈的源代码可从 http://savannah.nongnu.org 下载。* t3 a! ?7 _6 E' R  j& c% X% |- n
% P. O$ E7 D+ E& M5 H0 Q& L
..........
6 t+ g7 }+ B5 Y, ]+ I
想了解更多,请下载原文阅读
% ^! T! C% G" Q
收藏 2 评论3 发布时间:2019-4-16 09:50

举报

3个回答
我夏了夏天 回答时间:2019-4-16 11:45:54
Kevin_G 回答时间:2019-4-16 15:44:11
收藏
aaronhu-172089 回答时间:2019-7-13 15:18:49
STUDY...
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版