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

使用 LwIP TCP/IP 栈,在 STM32Cube 上开发应用

[复制链接]
STMCU小助手 发布时间:2022-7-23 22:48
前言8 q7 h  U/ S! Q+ F' N
STM32F4x7/9xx 和 STM32F2x7xx 微控制器配有高质量 10/100 Mbit/s 以太网外设,支持媒体独立接口 (MII)和缩减的媒体独立接口 (RMII),以便与物理层 (PHY)接口。
. s3 V( G1 |1 l6 a7 q当使用以太网通信接口时,会使用 TCP/IP 软件协议栈以实现局域网或者广域网中的通信。2 k8 e# l  L$ T2 O; L* L' o4 z7 d
本用户手册说明了怎样使用 STM32CubeF2 和 STM32CubeF4 HAL 驱动程序,将一个免费中间件 TCP/IP 栈分别集成到基于 STM32F2x7xx STM32F4x7/9xx 微控制器的嵌入式应用(请参考1 章节以获得 STM32Cube 的详细信息)。该中间件 TCP/IP 栈为 LwIP (轻量级IP),专为嵌入式应用开发的开源协议栈。4 a* ^  v) Y0 T) [- q" f; i
对于每款评估 板,此包都包含了九个运行于 LwIP 栈之上的应用:9 T, ^6 p3 c0 N6 f
基于 Raw API,运行于独立模式 (没有 RTOS)的应用:
- ?7 d; k( z3 G# D/ I– Web 服务器
9 b) y) X+ e" w& a  @% Q& Y– TFTP 服务器
1 ]; G: l, ]  v1 b$ X8 a# Y4 @1 Q– TCP 回响客户端应用
0 B3 A- ~; q! S3 r( ]– TCP 回响服务器应用
. N$ x( h+ ^) q! t# S- f9 ~3 x– UDP 回响客户端应用
( I, o. y3 a7 b( S6 M– UDP 回响服务器应用
4 u! J  e) W$ Q# u运行于 FreeRTOS 操作系统的应用:4 l; n! Q5 p; f6 H5 L4 n" r
基于 netconn API Web 服务器
; l# ^" r1 ]+ C) \$ I基于 socket API Web 服务器
- D; P; J9 w5 O: m# e3 ^& S/ Q基于 netconn API TCP/UDP 回响服务器应用。
. T6 ]0 U! |" H:
+ y. g  w8 |% n' Z& o2 J; L在本文中, STM32Cube指的是 STM32CubeF2 STM32CubeF4STM32F4xx 指的是STM32F4x7xx STM32F4x9xx 微控制器, STM322xx-EVAL STM324xx-EVAL 指的是STM3221x-EVALSTM324xG-EVAL STM324x9I-EVAL 评估板。0 R% B3 r8 w/ `' z% k  S% l
本文提供的截屏和文件名对应的是运行于 STM32F4 微控制器上的应用样例。然而,它们也适用于 STM32F2x7xx! E& @" m) J6 u  A6 c" f9 o
+ l" _7 A+ Q1 U$ O* u

0 v; x% k( b( l" f6 @# h  X1 STM32Cube™ 概述5 _" b+ V9 J( B
STM32Cube计划源自意法半导体,旨在通过减少开发的工作量、时间与成本,使开发者受益。 STM32Cube 涵盖 STM32 产品组合。) w5 w+ n' q( a/ ~* e1 {' m% L
STM32Cube 1.x 版包括:3 x% {7 ^+ w! d$ \
图形软件配置工具 STM32CubeMX,可通过图形向导生成初始化 C 代码。- Z$ G) }* ^* j4 K+ g8 Q
针对每个系列提供综合的嵌入式软件平台 (例如 STM32CubeF2 用于 STM32F2 系列,STM32CubeF4 用于 STM32F4 系列)+ ~$ O; L7 R/ D
– STM32 抽象层嵌入式软件 STM32Cube HAL,确保在 STM32 各个产品之间实现最大限度的可移植性6 f% G8 K+ X# Z2 g+ Q6 F
一套一致的中间件,比如 RTOSUSBTCP/IP、图形
; n( |  u5 g  ?所有嵌入式软件实用工具均配备一套完整的示例
( n4 W! N7 d; c  C9 V- @) y6 P+ O3 {2 M9 g' b" f; z' ?4 C

0 G7 O' ]: S2 U/ i3 I

( H8 P! n# x( X. J9 H9 _2 LwIP TCP/IP 栈描述8 U( ^" X0 f& G+ `3 y. l( |! _+ w
2.1栈特性9 R% g. V1 l# F0 ]
LwIP 为免费 TCP/IP 栈,由 Adam Dunkels 在瑞典计算机科学院 (SICS)开发,由修正的BSD 许可授权。
' H: L& o( T3 p2 d- B( eLwIP TCP/IP 实现的侧重点为在全面保持 TCP/IP 栈的同时,尽可能的减少 RAM 的使用。这使得 LwIP 特别适合在嵌入式系统中使用。4 V& F9 [, @; q9 F  S2 ]
LwIP 具有下列协议:5 R6 v7 ^5 c' p7 E* I: n
IPv4 IPv6 (网际协议 v4 v67 ^  |% N. @0 y3 g
ICMP (互联网控制消息协议),用于网络维护和调试6 z# a4 L8 Q) \* a. S
IGMP (互联网组管理协议),用于多播流量的管理
% n/ {- C. ~$ u- i" \* g' \' eUDP (用户数据报协议)
! r( a, X; C& N: BTCP (传输控制协议)
* h" ?- K7 q# H' ]% a6 L/ ~& xDNS (域名服务器)+ y% X. ~# Z4 \. _: L+ r# ~
SNMP (简单网络管理协议)8 O+ b; H, A; Q7 _; X1 {
DHCP (动态主机配置协议)
! t! n2 A' F8 T$ i% J5 {) t5 RPPP (点到点协议)1 l( ^& z# l5 b" ]% ^( j
ARP (地址解析协议)
' M8 P1 x, R7 u+ W& |# dLwIP 具有三种应用编程接口 (API):9 s5 U  G) |: p9 F: v: |# c
Raw API 为原始的 LwIP API。它通过事件回调机制进行应用开发。该 API 提供了最好的性能和优化的代码长度,但增加了应用开发的复杂性。
* o6 W* Y. v4 I* RNetconn API 为高层有序 API,需要实时操作系统 (RTOS)的支持 (提供进程间通讯的方法)。 Netconn API 支持多线程工作。
' R8 }* t. ~# B9 @5 }! GBSD Socket API:类似 Berkeley 的套接字 API (开发于 Netconn API 之上)LwIP 栈的源代码可从 http://savannah.nongnu.org 下载。+ w# Q3 a  `! `+ f9 |

; ^- x, s2 d1 n  P$ X" L+ u

- p2 ?  \- S* Y; T6 [  Q2.2授权
5 I8 L* g  T; H6 S# QLwIP 由 BSD 许可证完成。下面是 LwIP 授权文档副本,它也包括在源代码中:
/ F3 Y. |# H8 C/ ?/ F8 l  T/ v/*+ [7 v. w9 {% N+ G7 D; L0 k
* 瑞典计算机科学院版权所有 (c) 2001-2004。6 I" v& @4 p9 C4 l) D! T
* 保留所有权利。3 @- z7 J8 r0 N8 `+ }9 w
*
( j5 c, A" {  h* H * 若要以源代码或二进制形式对其或使用,不管修改与否,: M% O7 S) M: z6 D/ Z0 a
* 都必须满足下述条件:
1 c! m9 y* E" w  S *- l+ U! \. ~4 ?1 J6 k
* 1. 对源代码重新发布时必须保留以上版权说明、$ @, V" V9 U# B% C* h
* 此条件列表及下述免责声明。LwIP TCP/IP 栈描述
" r% F! a! f' t2 {* [+ S( C8/44 DocID025731 Rev 1
+ q) L4 i! A% V/ M * 2. 以二进制形式重新发布时必须将以上版权说明、. r. h3 p3 _3 G
* 此条件列表及下述免责声明复制到文档0 |6 G8 S+ Z& n; T
* 和 / 或其它一同发布的材料中。
9 q+ V3 S5 e% I% y  h  ]0 s * 3. 未经事先书面允许,不可使用作者姓名支持或宣传9 d! q; ^; v1 ^
* 由本软件衍生的产品。
0 H% U( G- f# A+ h2 Z *# \8 c1 s9 G/ U5 p8 M$ m
* 此软件由其作者原样提供,不提供任何明示或暗示2 J; m9 R7 E3 Q# e5 A- W
* 保证,包括但不限于对' y* M" G6 V! s! [; W# l. N$ X. Z  k
* 特定用途的适销性和适用性。在任何情况下,
7 m  K2 v7 i9 K' R! z- {, E# t) H * 作者对任何直接、间接、附带、特殊、6 f" A3 e2 A5 z
* 惩罚性或后果性损失 (包括但不限于,采购
" Y" _+ z# R5 x3 \* }/ P * 替代商品或服务;使用、数据或利润损失;或业务
( I7 W# B7 P3 K( I% C. H% Y# S * 中断)。在任何赔偿理论下,不管是否存在6 U+ x/ J4 h$ K) E) G$ ~
* 合同、严格责任,或民事侵权 (包括过失或其它),* m* l# r# _3 P2 m$ `& L
* 都不能归咎于使用此软件,即使已被告知! S% b  J" u$ Q- P) U, J) I
* 此类损害的可能性。
! T# R1 T) {, y *
4 V2 w4 D1 |, j& \+ h" F * 此文件为 lwIP TCP/IP 栈的一部分。
. Q4 \( `5 o1 e$ s' v* U *
8 t3 U$ @3 K' h& t */
' ?% E( B! |; @. ?
, N. T) V* m/ O3 I1 v# M! G: S0 Y4 i5 i; n2 d
收藏 评论0 发布时间:2022-7-23 22:48

举报

0个回答

所属标签

相似分享

官网相关资源

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