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

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

[复制链接]
STMCU-管管 发布时间:2019-4-16 09:50
使用 LwIP TCP/IP 栈,在 STM32Cube 上开发应用
& [  l7 z+ D# c9 u- V0 ]

& F$ \- ]. {- Y+ t8 q前言 $ U; X, [, _- G( q

4 ~! f3 r" l7 |$ z  a) V3 m* G( u5 nSTM32F4x7/9xx 和 STM32F2x7xx 微控制器配有高质量 10/100 Mbit/s 以太网外设,支持媒体独立接口 (MII)和缩减的媒体独立接口 (RMII),以便与物理层 (PHY)接口。
" z3 J; ^1 P- n% g- Q; y" |

% g4 D, N# h4 Q7 I当使用以太网通信接口时,会使用 TCP/IP 软件协议栈以实现局域网或者广域网中的通信。
5 F7 G' I6 G8 C: E) p4 b

" A1 ~0 `# m- f) K本用户手册说明了怎样使用 STM32CubeF2 和 STM32CubeF4 HAL 驱动程序,将一个免费中间件 TCP/IP 栈分别集成到基于 STM32F2x7xx 和 STM32F4x7/9xx 微控制器的嵌入式应用(请参考第 1 章节以获得 STM32Cube 的详细信息)。该中间件 TCP/IP 栈为 LwIP (轻量级IP),专为嵌入式应用开发的开源协议栈。
' K, e) V; t* O. @; A. s

, J# u9 K- [, S4 Q/ o, W对于每款评估 板,此包都包含了九个运行于 LwIP 栈之上的应用: / o% d' C7 A; @* K
• 基于 Raw API,运行于独立模式 (没有 RTOS)的应用:
! ?, q, ?  Q; x& N8 F4 W – Web 服务器8 m& i. }4 I2 U( W4 L
– TFTP 服务器. ^6 r. u; G( Z) b/ q
– TCP 回响客户端应用
  S$ ^/ N% F# m" K0 y1 n- e, J – TCP 回响服务器应用& |1 l1 O+ e# r  l$ l
– UDP 回响客户端应用6 d/ d  [5 \, s9 i
– UDP 回响服务器应用 - N; w$ p8 [% K  n, [
/ W: H1 F2 f. S
• 运行于 FreeRTOS 操作系统的应用:! H, M% k- i3 N5 B! G4 T) H
– 基于 netconn API 的 Web 服务器- p4 A6 m2 Q. @) D  k  x
– 基于 socket API 的 Web 服务器
. M! v3 l/ K( n- V( [# K – 基于 netconn API 的 TCP/UDP 回响服务器应用。 ' y0 u, {6 p. N  M) x

: O5 ~' ?% g* y) y- f1 O注 : 在本文中, STM32Cube™ 指的是 STM32CubeF2 和 STM32CubeF4, STM32F4xx 指的是STM32F4x7xx 和 STM32F4x9xx 微控制器, STM322xx-EVAL 和 STM324xx-EVAL 指的是STM3221x-EVAL、 STM324xG-EVAL 和 STM324x9I-EVAL 评估板。 ; L- u) r0 W0 u5 z% C; Y. n
1 J) d' w) e1 ~6 t% X6 S  @
本文提供的截屏和文件名对应的是运行于 STM32F4 微控制器上的应用样例。然而,它们也适用于 STM32F2x7xx。
5 Z! K9 b% \5 F& J  H
+ F4 E7 `- i/ h0 p8 u1 ]
1 STM32Cube™ 概述 4 Z* I# ?6 |( A

" o" e" V5 N9 b, o, R" u& TSTM32Cube™ 计划源自意法半导体,旨在通过减少开发的工作量、时间与成本,使开发者受益。 STM32Cube 涵盖 STM32 产品组合。 4 l- M( C/ |+ W+ j6 k" S: ~5 l

1 Y. L: ]' l7 `% USTM32Cube 1.x 版包括:( t4 }; A' ~  D; Z* o) r6 n
• 图形软件配置工具 STM32CubeMX,可通过图形向导生成初始化 C 代码。
# B) l- M5 v- J0 S • 针对每个系列提供综合的嵌入式软件平台 (例如 STM32CubeF2 用于 STM32F2 系列,STM32CubeF4 用于 STM32F4 系列)
! K3 ~" R) L2 `- c9 c$ T) V – STM32 抽象层嵌入式软件 STM32Cube HAL,确保在 STM32 各个产品之间实现最大限度的可移植性
4 b# T9 d5 \0 | – 一套一致的中间件,比如 RTOS、 USB、 TCP/IP、图形
; }& |+ N9 f8 a, a. d – 所有嵌入式软件实用工具均配备一套完整的示例。
/ K. L1 K- g; ?2 ?
1.png
2 LwIP TCP/IP 栈描述

; k. J- Z- L8 L: `1 h
! R9 K8 V7 e& g1 |. L' _
2.1 栈特性 3 U$ f" g1 L% ^  z1 g5 U% s
4 H% U, u. l  K+ n# A- e6 G
LwIP 为免费 TCP/IP 栈,由 Adam Dunkels 在瑞典计算机科学院 (SICS)开发,由修正的BSD 许可授权。 ' X" p0 b; i4 ~  S5 L0 l

& u- V% u: g% B& ], sLwIP TCP/IP 实现的侧重点为在全面保持 TCP/IP 栈的同时,尽可能的减少 RAM 的使用。这使得 LwIP 特别适合在嵌入式系统中使用。   |9 q& r2 a7 w7 V( R" s0 o
* ]9 ~6 _* H) `4 e! f0 o; v; E9 M% o
LwIP 具有下列协议: & R8 _$ c& h9 ?& }# z2 ?0 w  D) z* o
• IPv4 和 IPv6 (网际协议 v4 和 v6)1 D; h& n: R7 V9 ^0 T
• ICMP (互联网控制消息协议),用于网络维护和调试! B' N# S  A. f
• IGMP (互联网组管理协议),用于多播流量的管理* Z- o% M8 R1 \# }  a1 r
• UDP (用户数据报协议)4 e) ^" \& Q7 i7 k
• TCP (传输控制协议)7 N9 h  E4 I$ O1 f5 I
• DNS (域名服务器)
" I  X  k  a. q* M% I • SNMP (简单网络管理协议)* j, @# W" O( i( _8 s3 B3 ?
• DHCP (动态主机配置协议)
$ c2 w* s; V: D8 c7 | • PPP (点到点协议)
8 C% ~( R1 ^8 A1 [! i+ K • ARP (地址解析协议)
7 P) M- q8 U9 [/ A( R: N
, R' Q# X: v$ a8 `9 RLwIP 具有三种应用编程接口 (API):
' [( \; n5 W5 w9 T • Raw API 为原始的 LwIP API。它通过事件回调机制进行应用开发。该 API 提供了最好的性能和优化的代码长度,但增加了应用开发的复杂性。* o5 U" K) l0 K8 n4 S. ~# r9 r
• Netconn API 为高层有序 API,需要实时操作系统 (RTOS)的支持 (提供进程间通讯的方法)。 Netconn API 支持多线程工作。
- e7 e6 ]" W0 g3 f. e$ `; ] • BSD Socket API:类似 Berkeley 的套接字 API (开发于 Netconn API 之上)LwIP 栈的源代码可从 http://savannah.nongnu.org 下载。3 y2 f* _0 m: `4 r6 V: L2 \) k) V6 ]
; I7 i" Z8 _9 l! c
..........
. C7 m1 a+ J+ Z/ k, F
想了解更多,请下载原文阅读

1 [% g9 d3 b8 ~' p% J
收藏 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 手机版