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

【中文文档】UM1734_STM32Cube的USB_device软件库

[复制链接]
STMCU-管管 发布时间:2019-4-15 10:05
STM32Cube USB 设备库
2 g% @6 _( p) M/ p* [3 J2 l6 O2 d* g2 f
前言 ( K% s. @9 n! p* \* \1 o: T

- T8 c$ P3 t4 p4 f( R通用串行总线 (USB)为个人计算机史上最成功的互连技术,用于连接鼠标、游戏机、操纵杆、扫描仪、数码相机、打印机等设备。 USB 也已经移植到消费电子和移动产品中。 & A  b$ W5 {. T) U

6 O" e7 Y8 h2 N/ t( K2 m本文的目的是说明怎样使用 STM32Cube USB 从设备库 ( 该库支持所有意法半导体的 STM32 系列 MCU),并如何使用该库实现通用 USB 设备类 (HID 类、 MSC 类、音频类、 CDC 类 ……)产品的开发与应用。 6 _7 w0 n: q. z8 Z9 r
* i1 Z8 H6 r! b5 v* v- @6 R
USB 设备库为 STM32Cube 固件包的一部分 (如 STM32CubeF0、 STM32CubeF2、STM32CubeF3、 STM32CubeF4 和 STM32CubeL0),可从 ST 网站(http://www.st.com/stm32cube)免费下载。% V" [8 b& U/ F3 r- v4 r, R

% |% w4 u- }4 L2 j6 m& t! ^1 STM32Cube 概述 + [  ]. W' p4 \5 Y- ]9 c% w' s

" Q/ v! V$ o% ~" h3 J6 sSTMCubeTM 计划源自意法半导体,旨在通过减少开发的工作量、时间与成本,使开发者受益。 STM32Cube 涵盖 STM32 整个产品系列。
/ E( s0 r3 |& [0 W) E' D) x- U6 u* l

  g6 u( c2 G( f2 a3 A6 y& U  M2 SSTM32Cube 1.x 版包括:
. ^$ R; {1 w1 [2 y. z# R5 q• 图形软件配置工具 STM32CubeMX,可通过图形向导生成初始化 C 代码。 $ V& y0 t: P  s
• 综合的嵌入式软件平台,并针对每个系列提供单独的库文件(例如 STM32CubeF2 用于STM32F2 系列, STM32CubeF4 用于 STM32F4 系列) * J4 o. w! l, U* c) S* m
   – STM32 抽象层嵌入式软件 STM32Cube HAL,确保在 STM32 各个产品之间实现最大限度的可移植性
  d5 A  b: Q" N1 t+ u+ E   – 一套一致的中间件,比如 RTOS、 USB、 TCP/IP、图形。
: \" s- ?+ F$ t9 ~. s+ I( j/ F   – 所有嵌入式软件实用工具均配备一套完整的示例。
; F, q9 G9 {: }2 J) q  G0 W- W5 K' p0 L' S% }3 m6 K
1.png

% o6 j$ E1 d0 k
2 前言
' b4 O7 ?+ V+ a- O
2.1 缩写和缩略语

' J% G  }5 X( }- S4 V
表 1 简要介绍本文档中所用首字母缩略词和缩写词的定义:

+ h( K& v9 h( S7 i; @: @/ i% `. L
1.png
2.2 附加信息
  W2 B( j+ s! \! @1 ]
除了本文档,意法半导体还提供了关于 USB 的若干其它资源:

, O/ O$ T9 J5 x3 _1 @' t
• USB HOST 用户手册 UM1720

, X9 J/ \# ~7 K9 R* c. \6 l
• UM1725(STM32F4xx HAL 驱动描述)在此文档中,您可看到两个 USB 通用驱动描述(用于主机的 HCD 和用于设备的 PCD)

: L9 H7 a: h. l4 B* V  i$ ^; C
2.3 参考

! V2 K3 j6 u5 b1 Z
• 通用串行总线规范,版本 2.0, http: //www.usb.org

1 }8 L. L  g. w
• USB 设备类规范 (音频、 HID、 MSC 等等):http://www.usb.org
" P* Q) T9 C$ l7 y! A$ T1 C* b
3 简介

, u) V6 y( i$ I
3.1 概述
! S" A4 N* t* l* d5 s# A
意法半导体为其客户提供了新型 USB 栈:设备栈和主机栈,可支持所有 STM32 MCU 及多种开发工具,例如 Atollic® TrueSTUDIO、 IAR 嵌入式 Workbench (用于 ARM ®),以及 KeiluVision®。
: Y1 L& b' B$ O6 Z
本文侧重于 USB 设备栈。对于主机栈,请参考相关用户手册。
4 K* j* K( a# y( w
USB 设备库对于所有 STM32 微控制器通用,仅需 HAL 层适配每款 STM32 设备。

6 ?2 d7 |+ s5 s, y! B+ V4 K
USB 设备库位于 STM32Cube USB 设备 HAL 驱动之上。下文讲述了 STM32Cube USB 设备库中间件模块,并举例说明了用户如何使用此库提供的所需 API,轻松开发自己的 USB 设备应用。

# P+ n* T* Y# K# f" i
USB 设备库是每个 STM32 系列 STM32Cube 包的一部分,包含了 USB 底层驱动、通用类驱动,以及常用 USB 设备类样例的应用示例,可用于 USB 全速和高速传输类型(控制、中断、批量、同步)。 USB 设备库的目的是为每种 USB 传输类型提供至少一个固件演示:
# a# I4 r& {, o# u( A- t' Y
人机界面设备 HID:

/ B0 [: c/ M# @4 o* X) d5 I2 P
• HID 摇杆演示基于 EVAL 板上的嵌入式摇杆及自定义的 HID 样例
+ ~* f% g% a) M$ }3 C3 H# z
音频:
; N1 K4 `2 v; V
• 音频设备样例用于流音频数据

4 g4 ]. _7 ]* Q  e- G
通信设备 (CDC):
0 x6 K; `  L; u
• VCP USB-RS232 桥,实现了虚拟 COM 端口。
. v& x! U9 W5 i; p$ [; V5 ]
批量:
6 S& g# R8 U! Q7 D  s
• 大容量存储演示,基于 EVAL 板上的 microSD 卡。

) X) C2 c- g: ^
设备固件升级:

. g1 N* z+ z+ E6 w4 t+ U& T8 J
• DFU 用于固件下载和上传
2 a3 ^2 R1 r; X/ `3 q; b5 H' ^
双核设备演示

! p, V  V% k$ V1 W
• 基于具有人机接口的大容量存储和具有 CDC 设备样例的大容量存储

) b4 h2 t/ P% }# x/ Z
涉及的主题:

& G9 I+ [9 f* o
• USB 设备库架构

& R4 g# D; t; H0 t- I
• USB 设备库描述

/ J9 q# g3 i( _- b5 F  |
• USB 设备库状态机概述

& ^7 r* L1 A! j* s( U* N! ~' |) o
• USB 设备类概述

9 O# K4 v+ K, I4 _
..........

" J+ ~& q6 l: z( |: y
想了解更多,请下载原文阅读
) `. B! j, a" q

( P/ e8 x) G# ?& H) i

( m! @2 Z! D4 j& V
收藏 1 评论1 发布时间:2019-4-15 10:05

举报

1个回答
Kevin_G 回答时间:2019-4-15 11:55:52
一直感觉USB很复杂
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版