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

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

[复制链接]
STMCU-管管 发布时间:2019-4-16 09:50
使用 LwIP TCP/IP 栈,在 STM32Cube 上开发应用; u4 Z9 ?- l4 n5 C

$ T- G+ ]7 V) q  z) J+ M2 n前言 4 p1 ^: t% L( z) P; v

! T' Q, N( q1 k" ?5 f" H' ]+ tSTM32F4x7/9xx 和 STM32F2x7xx 微控制器配有高质量 10/100 Mbit/s 以太网外设,支持媒体独立接口 (MII)和缩减的媒体独立接口 (RMII),以便与物理层 (PHY)接口。
- c' q- t, }' y/ `

$ T- F/ ?! k* D  c当使用以太网通信接口时,会使用 TCP/IP 软件协议栈以实现局域网或者广域网中的通信。
0 }  e; K" {# J5 F
4 Y' o4 Q6 K+ G
本用户手册说明了怎样使用 STM32CubeF2 和 STM32CubeF4 HAL 驱动程序,将一个免费中间件 TCP/IP 栈分别集成到基于 STM32F2x7xx 和 STM32F4x7/9xx 微控制器的嵌入式应用(请参考第 1 章节以获得 STM32Cube 的详细信息)。该中间件 TCP/IP 栈为 LwIP (轻量级IP),专为嵌入式应用开发的开源协议栈。 ; ?9 m1 y9 b" q. U7 W7 P7 o2 W
$ A1 m* h+ u0 q! E, c# M
对于每款评估 板,此包都包含了九个运行于 LwIP 栈之上的应用:
$ }! |% t+ G7 M% I/ @5 W• 基于 Raw API,运行于独立模式 (没有 RTOS)的应用:; z0 S4 T7 {% x2 l7 `
– Web 服务器
% h9 ~8 w" K& D' }4 [- p+ V – TFTP 服务器( R& i% j; b* j
– TCP 回响客户端应用; ]0 ?* G# \" @6 z/ r
– TCP 回响服务器应用
9 \2 ~6 }5 X& q( ^& C – UDP 回响客户端应用6 W" r3 Q$ t0 j" C  v! v. M
– UDP 回响服务器应用
" C8 `- ~) C) E; Y, `+ y; U
: K% |% H3 x& ?
• 运行于 FreeRTOS 操作系统的应用:
6 M8 r; M4 S" [( F – 基于 netconn API 的 Web 服务器6 V, @1 \: l; w; o% _1 y$ ?- X
– 基于 socket API 的 Web 服务器
$ F, E! `7 N4 y- }2 j. l1 R – 基于 netconn API 的 TCP/UDP 回响服务器应用。
/ `' X0 ~5 W! C" E: z, A* g
4 F- C* Z  ^2 G8 ?. n& Q: z注 : 在本文中, STM32Cube™ 指的是 STM32CubeF2 和 STM32CubeF4, STM32F4xx 指的是STM32F4x7xx 和 STM32F4x9xx 微控制器, STM322xx-EVAL 和 STM324xx-EVAL 指的是STM3221x-EVAL、 STM324xG-EVAL 和 STM324x9I-EVAL 评估板。
( k% k- w* |! f! M* ]0 c: \7 G7 U

+ }- q# n% V5 O8 l- m. h本文提供的截屏和文件名对应的是运行于 STM32F4 微控制器上的应用样例。然而,它们也适用于 STM32F2x7xx。
5 P7 Y0 }6 A9 R" l; i) o" U0 Y# W' W
! V% R9 b, d+ l4 ?$ s' ~* |# O+ L
1 STM32Cube™ 概述
0 G5 a1 _: ]1 d' f

' E* \6 z7 V8 m# |STM32Cube™ 计划源自意法半导体,旨在通过减少开发的工作量、时间与成本,使开发者受益。 STM32Cube 涵盖 STM32 产品组合。
5 [0 w# P5 D% ?3 R5 _- T9 [4 P

$ c( G+ q; Z% G$ L, H& Z8 @STM32Cube 1.x 版包括:
: e( n4 \3 _6 p1 ~; }' n • 图形软件配置工具 STM32CubeMX,可通过图形向导生成初始化 C 代码。
5 t$ S6 E* Z. ?6 C. K • 针对每个系列提供综合的嵌入式软件平台 (例如 STM32CubeF2 用于 STM32F2 系列,STM32CubeF4 用于 STM32F4 系列)
- [! |* H9 R5 Q) T – STM32 抽象层嵌入式软件 STM32Cube HAL,确保在 STM32 各个产品之间实现最大限度的可移植性
/ U! j( r3 {" _1 R$ A – 一套一致的中间件,比如 RTOS、 USB、 TCP/IP、图形2 u5 e+ e; j. {3 _# T
– 所有嵌入式软件实用工具均配备一套完整的示例。
( R7 e3 |6 B& r+ G: [' }( |, w
1.png
2 LwIP TCP/IP 栈描述
7 I, W. {" u% q# L' E+ ?4 a; X

# ]) I. H  {2 n7 j$ q2.1 栈特性 - P% ]/ y& M- O) v3 ~
: x4 x# F4 H( E9 i3 p! a  e" i
LwIP 为免费 TCP/IP 栈,由 Adam Dunkels 在瑞典计算机科学院 (SICS)开发,由修正的BSD 许可授权。
; K' ]1 }, a' M: b) A9 ~! e1 }; |3 t" G* p7 Q+ B4 ~; F
LwIP TCP/IP 实现的侧重点为在全面保持 TCP/IP 栈的同时,尽可能的减少 RAM 的使用。这使得 LwIP 特别适合在嵌入式系统中使用。
, O* {4 X0 L1 t7 n
' Q2 ]% _+ {/ E
LwIP 具有下列协议: + p0 Z, f; r& T! h3 r- A2 C8 P
• IPv4 和 IPv6 (网际协议 v4 和 v6)
# W* _+ I$ u8 n • ICMP (互联网控制消息协议),用于网络维护和调试
* U7 t! q' f& D- C& S • IGMP (互联网组管理协议),用于多播流量的管理  Y7 _5 q* r+ p- |9 V9 D
• UDP (用户数据报协议), P$ ]  H  b9 A: K1 p/ a. y) R9 r. v
• TCP (传输控制协议)
- w& ~/ H- S% u/ v2 _' [/ Y. s • DNS (域名服务器); L3 d2 T0 v1 o
• SNMP (简单网络管理协议)% [( J* c4 ]! x. r; W6 O
• DHCP (动态主机配置协议)
! A* I( G/ t4 K) z# b+ S- @& | • PPP (点到点协议): O: l& t: M  _7 ^1 \4 j
• ARP (地址解析协议)
, h2 e7 F8 \+ M9 ] ; W5 G/ |/ B, o! y' s7 R
LwIP 具有三种应用编程接口 (API):
8 Y6 U- G& k7 q- \ • Raw API 为原始的 LwIP API。它通过事件回调机制进行应用开发。该 API 提供了最好的性能和优化的代码长度,但增加了应用开发的复杂性。; r" j) n2 i; m4 s1 j
• Netconn API 为高层有序 API,需要实时操作系统 (RTOS)的支持 (提供进程间通讯的方法)。 Netconn API 支持多线程工作。
0 Q& A! _- ~9 a0 V' }: l( x • BSD Socket API:类似 Berkeley 的套接字 API (开发于 Netconn API 之上)LwIP 栈的源代码可从 http://savannah.nongnu.org 下载。2 H) k  M! S6 w+ I9 x

/ }4 k4 ?7 n/ a5 c# e- N
..........
6 C- Y  F4 D$ H* k
想了解更多,请下载原文阅读

2 e$ n# v: u$ N( b) Y( y
收藏 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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版