USB-C(USB Type-C)规范的简单介绍和分析
作者:wowo 发布于:2017-12-18 16:18 分类:USB
从1996年1月USB1.0正式发布至今(2017年9月 USB3.2发布),USB已经走过了21个年头。在这21年的时间了,USB标准化组织(USB Implementers Forum,USB-IF)折腾出来了各式各样、五花八门的接口形态:Type A、Type A SuperSpeed、Type B、Type B SuperSpeed、Mini-A、Mini-B、Micro-A、Micro-B、Micro-B SuperSpeed、Type C等等。
另外,USB接口主要由插座(Receptacle)、插头(Plug)和线缆(Cable)三部分组成,再叠加上这些奇奇怪怪的规范,灾难就发生了:
A产品喜欢用Type A的插座,B产品偏偏喜欢Type B,连接它们的线缆就悲剧了,只能变成A-to-B的了。以此类推,A-to-A、B-to-B、A-to-MicroA、等等,于是我们的抽屉就挤满了各种不明用途的USB线……
好吧,吐槽时间结束,因为本文的主角不是过去的那些奇奇怪怪的接口,而是最新的、红到发紫的USB-C(也称作USB Type C)规范。提起typec,它还真和它的A、B前辈们不太一样:
因为它有自己独立的、自行演化的规范文件----USB Type-C Specification(2014年发8月布1.0版本,2017年7月发布1.3版本)。而前辈们就没有这样的待遇了,它们都依附于具体的USB规范(USB 1.0、USB 1.1、USB 2.0、等等)。
为什么会这样的呢?当然是因为它有独特之处了,具体请参考本文后续的描述。
标签: Power USB typec type-c 3.1 pd
基于Hikey的"Boot from USB"调试
作者:wowo 发布于:2016-12-20 22:36 分类:X Project
话说在半年前,乐美客送给蜗窝几块Hikey(乐美客版)开发板[1],不过由于太忙,就一直把它们放在角落里思考人生,因此甚是愧疚。这几天,闲来无事,翻了下Hikey的资料,觉得挺有意思,就想花点时间让“X Project”在这个板子上跑起来。当然,按照“规矩”,先从“【任务1】启动过程-Boot from USB”做起,记录如下。标签: USB boot u-boot spl hikey Hi6220V100
X-002-HW-S900芯片boot from USB有关的硬件描述
作者:wowo 发布于:2016-5-12 22:01 分类:X Project
本文将以S900芯片[1]为例,介绍和“【任务1】启动过程-Boot from USB”有关的硬件行为。其它人可以借鉴该文档,描述自己所使用平台的硬件特性,以完成该任务。
为了方便操作,这里以“填空题”的形式,给出我们关心的key point,只要我们能够把这些填空题完成,就可以放心的去coding了。题目如下:
1)CPU上电后,从哪种设备( )的哪个地址( )开始执行。
2)用( )方式,可以让CPU进入USB download(或者UART download)模式。
3)进入USB download之后,设备使用哪个USB接口( )和主机通信。
4)进入download模式后,哪一段地址范围(通常为SRAM)可以用来执行程序:( )~( ),size有多大( )。
5)用什么协议( )可以通过USB将bin文件上传到指定的地址。
6)用什么协议( )可以让CPU跳转到到指定地址继续执行。
注1:Boot这一块的资料,国内的IC设计厂商给出的资料都是语焉不详,从哪里得到有用的信息,是一个相当困难的事情。大家只能各显神通了。
Linux 3.18U盘无法正确使用
作者:linglongqion 发布于:2015-10-28 16:20
U盘插入时,内核能正确识别到,但是无法挂载,查看dev下的设备文件为字符设备,而不是块设备:
打印如下:
usb 1-2: new high-speed USB device number 3 using atmel-ehciCan not be start read in 1s
usb 2-2: new full-speed USB device number 3 using at91_ohci
usb 2-2: New USB device found, idVendor=2008, idProduct=2018
usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-2: Product: Flash Disk
usb 2-2: Manufacturer: USB2.0
usb 2-2: SerialNumber: 001616
usb-storage 2-2:1.0: USB Mass Storage device detected
scsi host2: usb-storage 2-2:1.0
scsi 2:0:0:0: Direct-Access USB2.0 Flash Disk 2.10 PQ: 0 ANSI: 2
sd 2:0:0:0: Attached scsi generic sg1 type 0
sd 2:0:0:0: [sdb] 2039808 512-byte logical blocks: (1.04 GB/996 MiB)
sd 2:0:0:0: [sdb] Write Protect is off
sd 2:0:0:0: [sdb] No Caching mode page found
sd 2:0:0:0: [sdb] Assuming drive cache: write through
(unknown ASC/ASCQ)
sdb: sdb1
sd 2:0:0:0: [sdb] Attached SCSI removable disk
到dev下查看sdb文件属性:
crw-rw--rw-- 1 root root 8, 16 Oct 1 19:47 /dev/sdb
crw------- 1 root root 8, 17 Oct 1 19:47 /dev/sdb1
?????奇怪!为什么不是块设备吗?但是在/sys/block中sdb是存在的,难道是内核配置的问题?但是在内核配置里,针对USB和SCSI对应的驱动支持都已经打勾!
求教各位前辈
功能
最新评论
- wangjing
写得太好了 - wangjing
写得太好了! - DRAM
圖面都沒辦法顯示出來好像掛點了。 - Simbr
bus至少是不是还有个subsystem? - troy
@testtest:只要ldrex-modify-strex... - gh
Linux 内核在 sparse 内存模型基础上实现了vme...
文章分类
随机文章
文章存档
- 2025年4月(5)
- 2024年2月(1)
- 2023年5月(1)
- 2022年10月(1)
- 2022年8月(1)
- 2022年6月(1)
- 2022年5月(1)
- 2022年4月(2)
- 2022年2月(2)
- 2021年12月(1)
- 2021年11月(5)
- 2021年7月(1)
- 2021年6月(1)
- 2021年5月(3)
- 2020年3月(3)
- 2020年2月(2)
- 2020年1月(3)
- 2019年12月(3)
- 2019年5月(4)
- 2019年3月(1)
- 2019年1月(3)
- 2018年12月(2)
- 2018年11月(1)
- 2018年10月(2)
- 2018年8月(1)
- 2018年6月(1)
- 2018年5月(1)
- 2018年4月(7)
- 2018年2月(4)
- 2018年1月(5)
- 2017年12月(2)
- 2017年11月(2)
- 2017年10月(1)
- 2017年9月(5)
- 2017年8月(4)
- 2017年7月(4)
- 2017年6月(3)
- 2017年5月(3)
- 2017年4月(1)
- 2017年3月(8)
- 2017年2月(6)
- 2017年1月(5)
- 2016年12月(6)
- 2016年11月(11)
- 2016年10月(9)
- 2016年9月(6)
- 2016年8月(9)
- 2016年7月(5)
- 2016年6月(8)
- 2016年5月(8)
- 2016年4月(7)
- 2016年3月(5)
- 2016年2月(5)
- 2016年1月(6)
- 2015年12月(6)
- 2015年11月(9)
- 2015年10月(9)
- 2015年9月(4)
- 2015年8月(3)
- 2015年7月(7)
- 2015年6月(3)
- 2015年5月(6)
- 2015年4月(9)
- 2015年3月(9)
- 2015年2月(6)
- 2015年1月(6)
- 2014年12月(17)
- 2014年11月(8)
- 2014年10月(9)
- 2014年9月(7)
- 2014年8月(12)
- 2014年7月(6)
- 2014年6月(6)
- 2014年5月(9)
- 2014年4月(9)
- 2014年3月(7)
- 2014年2月(3)
- 2014年1月(4)