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

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

[复制链接]
STMCU-管管 发布时间:2019-4-16 09:50
使用 LwIP TCP/IP 栈,在 STM32Cube 上开发应用
6 q) d0 c% P" s4 y5 A

/ P; j) w. i+ ~, b. q前言
5 H  O! q: C* }4 W% T& g

% f. ]" _. \* d2 [STM32F4x7/9xx 和 STM32F2x7xx 微控制器配有高质量 10/100 Mbit/s 以太网外设,支持媒体独立接口 (MII)和缩减的媒体独立接口 (RMII),以便与物理层 (PHY)接口。 & v5 E* s- ?7 u
! F( L( @2 x0 R
当使用以太网通信接口时,会使用 TCP/IP 软件协议栈以实现局域网或者广域网中的通信。
! t) G4 V2 w3 v
0 ~- {% R* i2 v. ]
本用户手册说明了怎样使用 STM32CubeF2 和 STM32CubeF4 HAL 驱动程序,将一个免费中间件 TCP/IP 栈分别集成到基于 STM32F2x7xx 和 STM32F4x7/9xx 微控制器的嵌入式应用(请参考第 1 章节以获得 STM32Cube 的详细信息)。该中间件 TCP/IP 栈为 LwIP (轻量级IP),专为嵌入式应用开发的开源协议栈。
0 D2 A2 `# Z; p  H; A+ ~
, ?. g7 f) w9 @5 S% ^- O
对于每款评估 板,此包都包含了九个运行于 LwIP 栈之上的应用: ) R; p, T" D2 o1 O5 K$ C9 r; u2 O3 h8 d
• 基于 Raw API,运行于独立模式 (没有 RTOS)的应用:
/ i8 A7 ^' o8 D – Web 服务器
9 q9 g7 V4 O5 x# k3 T0 A8 z! H& N – TFTP 服务器- m/ G- u- I, I+ M; \4 D! Y
– TCP 回响客户端应用
) `! K5 t8 y9 U: d' F$ `# Y- L – TCP 回响服务器应用! [6 o" W4 Y& N- X6 d
– UDP 回响客户端应用, ^' ?) j) h# D% _/ s' @% O! ^' d
– UDP 回响服务器应用 : y! G# M7 a- f  f/ K
& D2 r8 n( Q" x" U0 N" Y
• 运行于 FreeRTOS 操作系统的应用:2 V( f4 O* g- R
– 基于 netconn API 的 Web 服务器5 X4 a# Q8 R7 S9 e( s# f( g9 s
– 基于 socket API 的 Web 服务器* S9 X9 D$ r& ^  ^5 ]
– 基于 netconn API 的 TCP/UDP 回响服务器应用。 . Y! j& Y+ O2 a! X5 C

' l! z. B4 l3 I% Y6 q& p注 : 在本文中, STM32Cube™ 指的是 STM32CubeF2 和 STM32CubeF4, STM32F4xx 指的是STM32F4x7xx 和 STM32F4x9xx 微控制器, STM322xx-EVAL 和 STM324xx-EVAL 指的是STM3221x-EVAL、 STM324xG-EVAL 和 STM324x9I-EVAL 评估板。
: x" ?  Z2 I! f! _' o

( W; n$ }1 _7 `. U7 X本文提供的截屏和文件名对应的是运行于 STM32F4 微控制器上的应用样例。然而,它们也适用于 STM32F2x7xx。
+ q3 G8 t) K2 x9 X. _& h' c" Q
. a. y# q) z- r4 m
1 STM32Cube™ 概述 9 I& o! n$ t5 \
1 o6 K( a' f, B& X5 B7 ~/ t) A1 ?
STM32Cube™ 计划源自意法半导体,旨在通过减少开发的工作量、时间与成本,使开发者受益。 STM32Cube 涵盖 STM32 产品组合。 ! }0 t9 ?0 v9 @6 g' p% c  ?0 s
' d* D( h: Q8 [- c
STM32Cube 1.x 版包括:
6 W! ]3 V0 Y3 f6 K' t • 图形软件配置工具 STM32CubeMX,可通过图形向导生成初始化 C 代码。
, z& e% p: `4 I! K8 w • 针对每个系列提供综合的嵌入式软件平台 (例如 STM32CubeF2 用于 STM32F2 系列,STM32CubeF4 用于 STM32F4 系列)
2 D! Q# u/ x$ b1 T6 u – STM32 抽象层嵌入式软件 STM32Cube HAL,确保在 STM32 各个产品之间实现最大限度的可移植性5 b1 D& T# j- i% l/ P" f9 B
– 一套一致的中间件,比如 RTOS、 USB、 TCP/IP、图形8 L1 C: f" j2 P' J4 w; L# u5 m
– 所有嵌入式软件实用工具均配备一套完整的示例。* S+ j2 b! K3 g8 e. p( T7 e! ~
1.png
2 LwIP TCP/IP 栈描述
0 y1 N& c1 |4 Y. d, i% G
+ w6 R5 |4 f% V. g6 ~; P
2.1 栈特性
: U& J9 T- ]5 ^# j. B0 L

# q: F& A, K, f  s+ j9 n8 kLwIP 为免费 TCP/IP 栈,由 Adam Dunkels 在瑞典计算机科学院 (SICS)开发,由修正的BSD 许可授权。 8 P" u' `, n% V# Y2 d; e

1 Z; u/ D1 O! pLwIP TCP/IP 实现的侧重点为在全面保持 TCP/IP 栈的同时,尽可能的减少 RAM 的使用。这使得 LwIP 特别适合在嵌入式系统中使用。 1 I* e. D2 _% i
8 n# E! e9 P; [1 O3 L) B1 r, G0 t0 ?$ v
LwIP 具有下列协议:
' q2 F+ i- U2 h1 u • IPv4 和 IPv6 (网际协议 v4 和 v6)
& ?! [$ X, _- }8 |! U$ b( H  m* `. C, m • ICMP (互联网控制消息协议),用于网络维护和调试, I+ o/ i4 z6 W6 z: e7 D& V
• IGMP (互联网组管理协议),用于多播流量的管理' V. m! g7 E% Q* c' V: v0 S7 v
• UDP (用户数据报协议)
' D; T) F4 Y; E0 G • TCP (传输控制协议)
/ O, J! E% E4 x+ j2 F: G • DNS (域名服务器)  t* p1 b* J- |( }
• SNMP (简单网络管理协议)
/ c& c! [# a( D, v7 w: W. t • DHCP (动态主机配置协议). u; l  }7 [  J
• PPP (点到点协议)4 C; O& m) X) T0 V, _8 C, Z
• ARP (地址解析协议)& S  ?& E8 |8 q
0 j" v* M# i4 {: p3 @/ I; U
LwIP 具有三种应用编程接口 (API):
, z' l- H4 m- m" Y. ?# x' `6 U- S • Raw API 为原始的 LwIP API。它通过事件回调机制进行应用开发。该 API 提供了最好的性能和优化的代码长度,但增加了应用开发的复杂性。' w! d. r0 l: L5 K( U
• Netconn API 为高层有序 API,需要实时操作系统 (RTOS)的支持 (提供进程间通讯的方法)。 Netconn API 支持多线程工作。 9 e. ]. p1 H; I
• BSD Socket API:类似 Berkeley 的套接字 API (开发于 Netconn API 之上)LwIP 栈的源代码可从 http://savannah.nongnu.org 下载。! r& E+ w/ B9 ~0 v' z

4 a4 q" n( c1 j4 P! g+ V
..........

: {$ j4 K7 V" \' ~, E# C
想了解更多,请下载原文阅读

+ W# w+ p$ }9 T
收藏 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 手机版