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

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

[复制链接]
STMCU-管管 发布时间:2019-4-15 10:05
STM32Cube USB 设备库 ) W$ N% h. A0 m4 Y, R$ ]! f
' P& m! M- [/ N& b
前言
1 o& f1 g+ @5 H6 W, E! P4 I- {6 D1 [$ ^
通用串行总线 (USB)为个人计算机史上最成功的互连技术,用于连接鼠标、游戏机、操纵杆、扫描仪、数码相机、打印机等设备。 USB 也已经移植到消费电子和移动产品中。 3 R. `9 }6 d5 ]( K" O4 r! n
! X9 m! {( i; \" W( E$ ?' w) ?
本文的目的是说明怎样使用 STM32Cube USB 从设备库 ( 该库支持所有意法半导体的 STM32 系列 MCU),并如何使用该库实现通用 USB 设备类 (HID 类、 MSC 类、音频类、 CDC 类 ……)产品的开发与应用。
% _: n" u1 d9 ~7 [4 j( n& ~' J8 u9 V* D5 d: s) @
USB 设备库为 STM32Cube 固件包的一部分 (如 STM32CubeF0、 STM32CubeF2、STM32CubeF3、 STM32CubeF4 和 STM32CubeL0),可从 ST 网站(http://www.st.com/stm32cube)免费下载。
; D% |! o. o& k3 D1 p( t; k

+ X  q- @. ?. `5 U& O8 n1 X' f1 STM32Cube 概述 , t- A" X- f' m( \4 D2 E% n" J

7 Z" s9 g* S" |1 y4 u) MSTMCubeTM 计划源自意法半导体,旨在通过减少开发的工作量、时间与成本,使开发者受益。 STM32Cube 涵盖 STM32 整个产品系列。
3 }% A2 @# j8 d* T, q
! s1 k" ~$ J+ A1 |  X$ e; N
STM32Cube 1.x 版包括: ) G5 F4 g" H4 ^* u: r+ Q* Q
• 图形软件配置工具 STM32CubeMX,可通过图形向导生成初始化 C 代码。
, J% \2 b, q9 X& I* g& |+ W• 综合的嵌入式软件平台,并针对每个系列提供单独的库文件(例如 STM32CubeF2 用于STM32F2 系列, STM32CubeF4 用于 STM32F4 系列)
$ d/ v% i4 Q6 B: }2 ?   – STM32 抽象层嵌入式软件 STM32Cube HAL,确保在 STM32 各个产品之间实现最大限度的可移植性 ! e) I) P1 I8 k+ s' i
   – 一套一致的中间件,比如 RTOS、 USB、 TCP/IP、图形。 8 T. d' r! f* D1 F1 |( n
   – 所有嵌入式软件实用工具均配备一套完整的示例。+ S3 `3 |$ J, _. I
/ B) \0 U- E# n
1.png

* `+ d& ?6 }. E
2 前言
7 }1 x7 C  v# i5 f9 U" I
2.1 缩写和缩略语

; P  f' P0 |( r' |7 j% q8 K
表 1 简要介绍本文档中所用首字母缩略词和缩写词的定义:
6 x3 |0 k) m0 O6 R( d- u; T9 r
1.png
2.2 附加信息
& I7 u" d- p( T
除了本文档,意法半导体还提供了关于 USB 的若干其它资源:

& o: C" ~4 o( M
• USB HOST 用户手册 UM1720

6 @3 x! V$ r' d
• UM1725(STM32F4xx HAL 驱动描述)在此文档中,您可看到两个 USB 通用驱动描述(用于主机的 HCD 和用于设备的 PCD)
8 y# V+ F% T! D
2.3 参考

% W/ l& b) }& ^) s
• 通用串行总线规范,版本 2.0, http: //www.usb.org
3 x# ^$ |% b1 m9 k+ e7 l/ u
• USB 设备类规范 (音频、 HID、 MSC 等等):http://www.usb.org
) i6 b3 Y# J) c+ I
3 简介

5 u' N; c0 j8 Y, C% l7 i( M
3.1 概述

$ K* Q3 _% `! ~) F; c
意法半导体为其客户提供了新型 USB 栈:设备栈和主机栈,可支持所有 STM32 MCU 及多种开发工具,例如 Atollic® TrueSTUDIO、 IAR 嵌入式 Workbench (用于 ARM ®),以及 KeiluVision®。

7 ^" f' n+ l" z$ o; n
本文侧重于 USB 设备栈。对于主机栈,请参考相关用户手册。

& V% C2 U* r5 S7 Q, }4 _4 k4 F
USB 设备库对于所有 STM32 微控制器通用,仅需 HAL 层适配每款 STM32 设备。

6 _, M( g6 h/ h# {" t% `, n: ~9 p  X
USB 设备库位于 STM32Cube USB 设备 HAL 驱动之上。下文讲述了 STM32Cube USB 设备库中间件模块,并举例说明了用户如何使用此库提供的所需 API,轻松开发自己的 USB 设备应用。
; y* e- G3 s, F! V( _8 E
USB 设备库是每个 STM32 系列 STM32Cube 包的一部分,包含了 USB 底层驱动、通用类驱动,以及常用 USB 设备类样例的应用示例,可用于 USB 全速和高速传输类型(控制、中断、批量、同步)。 USB 设备库的目的是为每种 USB 传输类型提供至少一个固件演示:
7 s( f7 ^3 A# d8 N& J
人机界面设备 HID:
9 c5 q2 t2 V0 m1 q1 Y: I+ y& X
• HID 摇杆演示基于 EVAL 板上的嵌入式摇杆及自定义的 HID 样例
9 h' v4 C! ?7 u  {
音频:
' X) X, f7 ~( x1 }% x, K. X0 N& f
• 音频设备样例用于流音频数据

- c8 ]8 `2 \: d  i, ?
通信设备 (CDC):
( _$ `  s  }  z4 e; r. l' Q2 V
• VCP USB-RS232 桥,实现了虚拟 COM 端口。
& X  B8 y6 o2 `# _' K9 a' N3 @
批量:

; \% |6 m. w: W
• 大容量存储演示,基于 EVAL 板上的 microSD 卡。

! h+ @7 l! X. i4 y7 \+ X; b; B. g
设备固件升级:
& u/ J+ @4 i4 |- h; W
• DFU 用于固件下载和上传
$ [9 r- `0 l# S4 x2 r' y
双核设备演示

3 _: e3 i: \+ f& g) U
• 基于具有人机接口的大容量存储和具有 CDC 设备样例的大容量存储

, u+ |- c6 Q8 N% N! P" S
涉及的主题:
) _9 O* Q6 |/ [! D& M
• USB 设备库架构

( `2 `3 w7 t0 {4 P+ D: `
• USB 设备库描述

. F$ h. b4 n5 ?5 M2 Q& x
• USB 设备库状态机概述
- O7 O, u) W- y
• USB 设备类概述

# b3 S, \+ l" I8 }* i
..........
# ~# d: h9 d! q+ V9 o7 ]+ D
想了解更多,请下载原文阅读
  L: o% {* e8 j  N0 ]3 [) \
: p1 Y' f, m" `1 i, G8 s. Y' b! ~
0 C- y- n* ~7 b& k5 {5 _
收藏 1 评论1 发布时间:2019-4-15 10:05

举报

1个回答
Kevin_G 回答时间:2019-4-15 11:55:52
一直感觉USB很复杂

所属标签

相似分享

官网相关资源

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