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

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

[复制链接]
STMCU-管管 发布时间:2019-4-15 10:05
STM32Cube USB 设备库 " z" p1 q0 a1 E

+ [! [, K4 l1 W' M: @前言 ' \* O5 T4 @$ e
8 M( ]  U( D1 v# g& y/ w* v* x, G
通用串行总线 (USB)为个人计算机史上最成功的互连技术,用于连接鼠标、游戏机、操纵杆、扫描仪、数码相机、打印机等设备。 USB 也已经移植到消费电子和移动产品中。 : f  u+ @2 Z  g- f2 r# `8 ^

$ r# F9 B1 j1 T3 g) E7 g: i- f本文的目的是说明怎样使用 STM32Cube USB 从设备库 ( 该库支持所有意法半导体的 STM32 系列 MCU),并如何使用该库实现通用 USB 设备类 (HID 类、 MSC 类、音频类、 CDC 类 ……)产品的开发与应用。 ; q# k! Z# m* _% x
5 R0 x3 y$ G, a( ^# @1 o, T
USB 设备库为 STM32Cube 固件包的一部分 (如 STM32CubeF0、 STM32CubeF2、STM32CubeF3、 STM32CubeF4 和 STM32CubeL0),可从 ST 网站(http://www.st.com/stm32cube)免费下载。. y% ?7 T0 u/ u0 U. v0 _

' [1 E( O+ H" P1 x$ V1 STM32Cube 概述 6 Z5 _- X1 \/ ]6 H* t0 L( `
+ L" C1 h6 q1 v& f
STMCubeTM 计划源自意法半导体,旨在通过减少开发的工作量、时间与成本,使开发者受益。 STM32Cube 涵盖 STM32 整个产品系列。 ' j* S8 Q* R+ l* L

- o' N2 o9 k# J3 ~8 KSTM32Cube 1.x 版包括:
, m  a5 M2 _" j9 ~, e( \- i% k• 图形软件配置工具 STM32CubeMX,可通过图形向导生成初始化 C 代码。 / q' o6 b+ O" v' ?. o# M' Y; y: e, F) G$ |8 g
• 综合的嵌入式软件平台,并针对每个系列提供单独的库文件(例如 STM32CubeF2 用于STM32F2 系列, STM32CubeF4 用于 STM32F4 系列) ( G0 U& f4 j4 A% A
   – STM32 抽象层嵌入式软件 STM32Cube HAL,确保在 STM32 各个产品之间实现最大限度的可移植性
1 N1 C1 s( s! g* L. o$ _  l2 c) @$ y   – 一套一致的中间件,比如 RTOS、 USB、 TCP/IP、图形。 3 A* U1 G7 E) W0 [
   – 所有嵌入式软件实用工具均配备一套完整的示例。
' m1 C+ j& Y- a( d8 f& L+ q  f  Q0 J* S( |; t; F
1.png
9 F+ M/ [& @% T6 m1 J* v
2 前言

7 _, Z) a' O6 M5 q) h
2.1 缩写和缩略语

, X1 c! ~4 D; ^6 l: _# s' _/ \: T
表 1 简要介绍本文档中所用首字母缩略词和缩写词的定义:

/ T. ~' X; R: |* c: l, Q! v
1.png
2.2 附加信息
, I5 w* _1 y% N1 `" u& s! g
除了本文档,意法半导体还提供了关于 USB 的若干其它资源:
& V; Q$ t1 ]/ |( j1 m8 K* n
• USB HOST 用户手册 UM1720

$ ], N6 G0 @; R7 g
• UM1725(STM32F4xx HAL 驱动描述)在此文档中,您可看到两个 USB 通用驱动描述(用于主机的 HCD 和用于设备的 PCD)
+ W5 {- c4 e2 J9 T
2.3 参考
: i4 p$ I. ^$ r" L, P) p  n- k! x
• 通用串行总线规范,版本 2.0, http: //www.usb.org

. }6 W+ b3 s7 @6 E
• USB 设备类规范 (音频、 HID、 MSC 等等):http://www.usb.org
  t8 h! a8 h! u) ^! ?' j. n2 o$ v6 |
3 简介

7 `3 |3 f$ f5 ~) ^4 h9 a
3.1 概述

) e' H2 j2 V8 s3 v) _
意法半导体为其客户提供了新型 USB 栈:设备栈和主机栈,可支持所有 STM32 MCU 及多种开发工具,例如 Atollic® TrueSTUDIO、 IAR 嵌入式 Workbench (用于 ARM ®),以及 KeiluVision®。
, k) I& R" [% \9 x% [5 S
本文侧重于 USB 设备栈。对于主机栈,请参考相关用户手册。

: k( `/ \7 U- r( [
USB 设备库对于所有 STM32 微控制器通用,仅需 HAL 层适配每款 STM32 设备。
3 O0 A# z! E0 R
USB 设备库位于 STM32Cube USB 设备 HAL 驱动之上。下文讲述了 STM32Cube USB 设备库中间件模块,并举例说明了用户如何使用此库提供的所需 API,轻松开发自己的 USB 设备应用。

1 t/ d1 b9 a3 D2 C4 C
USB 设备库是每个 STM32 系列 STM32Cube 包的一部分,包含了 USB 底层驱动、通用类驱动,以及常用 USB 设备类样例的应用示例,可用于 USB 全速和高速传输类型(控制、中断、批量、同步)。 USB 设备库的目的是为每种 USB 传输类型提供至少一个固件演示:
8 o( r- c0 @1 [
人机界面设备 HID:
  k5 ]; R: F% [
• HID 摇杆演示基于 EVAL 板上的嵌入式摇杆及自定义的 HID 样例

- R3 A8 m. H9 |; h
音频:
/ ~& ~( O/ I+ I4 {
• 音频设备样例用于流音频数据
' f7 l6 ?& E/ L9 j" n% {0 |
通信设备 (CDC):

9 W- N, Z* ?1 j
• VCP USB-RS232 桥,实现了虚拟 COM 端口。

* G( Z0 g1 ~0 ]3 |) E! W9 C. q
批量:
- n5 s/ F, V9 r& [
• 大容量存储演示,基于 EVAL 板上的 microSD 卡。

" j" B- C) R, p7 U
设备固件升级:

# I/ }" q0 q& S4 S- I  }6 A
• DFU 用于固件下载和上传
' b+ M4 x, I% L" g$ M$ R
双核设备演示
% W! C# P  X( D4 D) o& Z
• 基于具有人机接口的大容量存储和具有 CDC 设备样例的大容量存储

' a) u1 r) O3 _2 @9 q- N
涉及的主题:

" B" |% z- W. _* k' }( A( ^8 }
• USB 设备库架构

' E6 B" v* l' }4 @7 }( u
• USB 设备库描述
8 t, d* x+ h# @( k* c
• USB 设备库状态机概述

  E$ C( n  ^% B1 r5 O& k! o, O
• USB 设备类概述
3 z+ H( }- ?  B2 O  U% Y" l4 w: w1 X
..........

% |6 Z; K4 {1 k% o% l$ q* k! ^
想了解更多,请下载原文阅读

, r0 v6 L) z& k9 ^( S6 z

; p0 v. E2 _- j0 l3 }1 p

8 ^. Q4 ]5 E# `! d# J- Q; \
收藏 1 评论1 发布时间:2019-4-15 10:05

举报

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