UDC驱动的接口都定义在drivers/usb/gadget/udc/core.c文件中。USB Function驱动通过调用这些接口匹配及访问USB设备控制器,而底层USB控制器驱动要实现这些接口定义的功能。下面分析一下主要的UDC驱动接口调用流程。
USB,全称是 Universal Serial Bus,即通用串行总线,既是一个针对电缆和连接器的工业标准,也指代其中使用的连接协议。本文不会过多介绍标准中的细节,而是从软件工程师的角度出发,介绍一些重要的基本概念,以及实际的主机和从机应用。最后作为实际案例,从 USB 协议实现的角度分析了checkm8漏洞的成因。
https://blog.csdn.net/songze_lee/article/details/77658094
USB的全称是Universal Serial Bus,通用串行总线。它的出现主要是为了简化个人计算机与外围设备的连接,增加易用性。USB支持热插拔,并且是即插即用的,另外,它还具有很强的可扩展性,传输速度也很快,这些特性使支持USB接口的电子设备更易用、更大众化。
左边主机,右边从机;USB 有主机控制器 UHC 和从机控制器 UDC,主机侧有 USB Device Driver,从机侧有 USB Function Driver。
"USB 接口"是逻辑上的 USB 设备,编写的 usb_driver 驱动程序,支持的是"USB 接口":
《带你遨游USB世界》中,我们已经初步介绍了USB的整体架构,本文将从以下几个方面继续介绍USB的内容。
在使用 Google 搜索相关学习资料的过程中,搜到一本书——《圈圈教你玩 USB》,在阅读中发现需要购买相关硬件设备。
前言: 本文用于解决win7以上系统使用dnw难装驱动问题,使用新驱动: zadig-2.3.exe,支持xp,win7/win8/win10系统,安装方便、高效,欢迎试用。
无论是从事单片机、ARM,还是FPGA、DSP开发,都离不开串口!而且在一些银行、金融、证券、电信、工控的应用场合,还可能需要在一台主机上同时使用几十路串口!
本文主要为嵌入式入门开发者的接口、网口等板卡基础快速测试,当初级学习的开发者拿到板卡,如何在最快时间内测试板卡正常?,继续测试教程(2)的按键、时钟设置、DDR读写、Micro SD接口读写、eMMC读写等测试部分,接下来是测试板卡的SATA接口、USB接口读写、USB HOST模式测试、USB DEVICE模式、串口测试等是否正常。
Windows 开发环境: Windows 7 64bit 、Windows 10 64bit
大家都知道,车辆底盘系统是通过CAN进行通信的,而常见的有USB-CAN和SocketCAN两种,前者是通过USB口接入PC的,代表的有周立功、创芯等(较便宜),后者是通过网口接入PC的,代表的有Kvaser。
我们买开发板的目的就是把电脑上编写编译好的程序烧写到板子上验证学习。因此开发板上一定有个烧写口,例如JTAG烧写口。但电脑上是不会有这个JTAG口的,因此需要一个USB烧写器将两者连接,例如Jlink、OP/EOP。Jlink本来用的人很多,但随着版权意识的提高以及Jlink公司对盗版的打击,Jlink现在用得越来越少了。EesyOpenJtag是OpenJtag的便宜版本,他和我们的开发板是绝配,他可以直接烧写Nand Flash和Nor Flash,操作简单,价格便宜。
现在越来越多的电子设备采用USB接口进行通讯,通讯标准也在逐步提高。那么,我们就会好奇这些设备是如何工作的?而无论你是一个硬件黑客,业余爱好者或者只是对它有一点兴趣的,USB对我们都是具有挑战性的。 事实上通过wireshark,我们可以捕获到usb设备发送给我们主机的数据,这样就可以进一步研究了。 本文中,我们将向大家介绍怎样通过wireshark捕获usb数据,使用的环境如下: l Wireshark 2.0.1(SVN)l Linux kernel 4.1.6 你也可以用其他版本的wiresh
这一部分主要是用来介绍 Linux 设备驱动程序的一些基本概念,包括:Linux 设备驱动程序的作用、内核功能的划分、设备和模块的分类以及版本编号。
上周分享了一篇远程控制空调的文章(一次DIY远程空调控制的经历(长篇多图)),里面提到了一个USB转无线的模块,有朋友想要这个资料,于是我找了下。
介绍 今年9月15日,Chrome61发布,它启用了WebUSB作为其默认功能。而WebUSB是一个Javascript API,可以允许网页访问已连接的USB设备。这里的USB设备是指系统和工业的USB设备,所以不支持常见的USB设备(比如网络摄像头,HID或大容量储存设备)。然而通过WebUSB API,很多其他的USB设备可以被访问,且当用户授权给网页时,自己可能根本不了解网页获取的访问权限级别。 这篇文章探寻WebUSB的功能,以深入了解其工作原理,攻击方法及隐私问题。我们会解释访问设备所需的过程,
5G速率非常高,与之相连的Host设备要发挥5G的全部性能,必须正确的配置上位机,如CPU负载均衡,软硬件加速方案等。但是现阶段5G的部署不是很完善,实网测速最高到1Gbps左右,这时候可能高速率问题甚至无法发现。客户端部署仪表进行测速成本太高。因此有了Loopback测试的解决方案。
Linux 内核是如何实现无线网络接口呢?数据包是通过怎样的方式被发送和接收呢? 刚开始工作接触 Linux 无线网络时,我曾迷失在浩瀚的基础代码中,寻找具有介绍性的材料来回答如上面提到的那些高层次的问题。 跟踪探索了一段时间的源代码后,我写下了这篇总结,希望在 Linux 无线网络的工作原理上,读者能从这篇文章获得一个具有帮助性的概览。
本文主要为嵌入式入门开发者的接口、网口等板卡基础快速测试,当初级学习的开发者拿到板卡,如何在最快时间内测试板卡正常?,接下来是等是否正常。继续测试教程(3)的测试板卡的SATA接口、USB接口读写、USB HOST模式测试、USB DEVICE模式、串口测试等测试部分,接下来是CAN测试、VGA接口、7英寸LCD触摸屏、10.4英寸LVDS触摸屏、7英寸MIPI触摸屏等测试部分是否正常。
HD-RK3568-OPS主板基于HD-RK3568-CORE 工业级核心板设计,搭载1.8GHz主频的高性能ARM处理器,适用于工业现场应用需求。主板支持标准OPS接口、支持前后HDMI双路输出,具有即插即用、操作简单的特点,亦适用于数字标牌、自助终端、教育一体机等应用场景。
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说usb协议开发_基于事件驱动的架构,希望能够帮助大家进步!!!
按照高通SDX12平台产品规格,其支持RMNET、ECM、RNDIS、PPP、MBIM等拨号;但经测试,发现Windos下MBIM功能正常,而Linux发送MBIM命令均返回“error: couldn’t open the MbimDevice: Transaction timed out”错误,功能异常无法使用
SDIO-Wifi模块是基于SDIO接口的符合WiFi无线网络标准的嵌入式模块,内置无线网络协议IEEE802.11协议栈以及TCP/IP协议栈,能够实现用户主平台数据通过SDIO口到无线网络之间的转换。SDIO具有传输数据快,兼容SD、MMC接口等特点。
基于测试板卡:创龙科技TLIMX6U-EVM是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
与全球网络相连接 有两种让设备连接到网络的方式,一种是由设备本身直接连接全球网络,另一种是在本地区域内使用网关来连接全球网络(图 3.21)。近来,“生活记录”型的设备越来越多,其结构更接近前面说的第二种方式,例如通过蓝牙把可穿戴设备和智能手机配对,通过智能手机向服务器发送数据。
介绍:从事电气自动化行业,多次获得物联网设计竞赛,爱好嵌入式设计开发,物联网开发。
USB是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品,USB就是简写,中文叫通用串行总线。最早出现在1995年,伴随着奔腾机发展而来。自微软在Windows 98中加入对USB接口的支持后,USB接口才推广开来,USB设备也日渐增多,如数码相机、摄像头、扫描仪、游戏杆、打印机、键盘、鼠标等等,其中应用最广的就是摄像头和U盘了。
摘要: 目前关于CAN通讯报文解析使用的编程语言有很多,比如:Labviewer、C#、C语言等。但是很少有人用Python进行开发,使用Python进行开发该上位机可大大节省开发时间。本篇博客主要介绍一下基于Python的周立功CAN上位机。
实现物联网时,物联网服务大体上发挥着两个作用。 第一是把从设备收到的数据保存到数据库,并对采集的数据进行分析。 第二是向设备发送指令和信息。 本章将会为大家介绍如何构建物联网服务,以及用于实现物联网的重要要素。 整体结构 物联网大体上有 3 个构成要素,如图 2.1 所示。一个是设备,另一个是网关,再来就是服务器。关于设备的基本结构和使用的技术,我们会在第 3 章详细说明。因此本章并不涉及设备。我们来详细看一下用怎样的机制才能实现网关和服务器。
USB设备控制器(UDC)驱动的框图如下图所示,由三部分组成。第一部分是UDC驱动核心层,在drivers/usb/gadget/udc/core.c文件中实现,该层是一个兼容层,将USB Function驱动和具体的USB gadget驱动隔离开,抽象了统一的接口和数据结构,向USB Function驱动提供了统一且稳定的接口,同时完成USB Function驱动和USB gadget驱动的匹配。第二部分是gadget driver层,负责驱动硬件工作,和具体的USB设备控制器硬件相关,dwc3的gadget driver驱动在drivers/usb/dwc3/gadget.c文件中实现。第三部分是USB设备控制器硬件。
USB 本身是一个很庞大、复杂的体系, 本课程的重点在于工业互联, USB 是其中的一个 小小知识点。本章课程的目的在于:能理解 USB 的一些概念,能使用 USB 传输数据。 4.2~4.5 节, 介绍 USB 概念;4.6~4.7 节,移植 USBX 实现 USB 串口功能。
1 USB Type-C 1.1 电气参数 Rd: 5.1kΩ Ra: 1.0kΩ Rfrswap: 5Ω,for PD 3.0 FR_Swap 4b5b bit rate: 300kbps BMC bit rate: 600kbps Rp: Reference to the Figure 1-1
Slax Linux是一种便携式便携式操作系统,可以替代安装在硬盘驱动器上笨重复杂的Linux。
– 随着移动互联网技术的迅猛发展,两大主流智能移动设备iOS 和Android占据了绝对的市场,除了基本的通话、娱乐功能之外,这些移动设备已经成为新时代中重要的信息终端设备节点。 – 通用串行总线(USB)目前已经成为了最标准的接口,用于提供系统一个可靠且低成本的数字连接,目前在使用方面已经超越了电脑的范畴,并已广泛应用在工业、医疗、消费电子、通信网络等等。 – RS232接口长期广泛存在于在各种应用领域,随着安卓手机平板的大量上市,安卓系统下通过USB转RS232接口接入外设的应用需求也开始变得强烈起来。
This chapter is a basic tour of the kernel-provided device infrastructure in a functioning Linux system.
转载于:https://blog.51cto.com/aiweilun/140809
【CSDN 编者按】自去年苹果自研 M1 芯片发布之后,激发了无数用户的体验热情,与此同时,也吸引大批开发者在 M1 上开启探索模式。其中,国外一位资深操作系统移植专家 Hector Martin 发起了一项名为「Asahi Linux」项目,通过众筹的方式为苹果 M1 系列新机移植 Linux 系统。
USB是现代计算机系统中最常见的外设接口,其固有的安全性问题使其成为攻击者的目标。USB的一个众所周知的限制是数据流量未加密,这为攻击者在通信路径中执行中间人攻击提供了便利。本文介绍了一种新型攻击 - 对USB通信的路径外注入攻击(Off-Path Injection Attack),并展示了一个恶意设备,可以放置在目标设备和主机之间的通信路径之外。该恶意设备能向通信路径注入数据,从而伪造数据的输入来源,欺骗主机系统。
MTP的全称是Media Transfer Protocol(媒体传输协议),它是微软公司提出的一套媒体文件传输协议。Android从3.0开始支持MTP。不过,在今天的智能手机领域内,Google和微软是一对冤家,为什么Android中会使用MTP呢?请看下文。
年前曾在微博上推荐过OffensiveCon 2019大会议题,议题列表与介绍可参见官网(https://www.offensivecon.org/agenda/),很多专注于漏洞挖掘与利用的干货分享,目前只有部分议题ppt公开,通过点击文末的“阅读原文”可打包下载(包含8个议题),包括ppt、paper和code。
本文测试板卡为创龙科技TLT3F-EVM开发板,它是一款基于全志科技T3四核ARM Cortex-A7 + 紫光同创Logos PGL25G/PGL50G FPGA设计的异构多核国产工业开发板,ARM Cortex-A7处理器单元主频高达1.2GHz。评估板由核心板和评估底板组成,核心板CPU、FPGA、ROM、RAM、电源、晶振、连接器等所有器件均采用国产工业级方案,国产化率100%。同时,评估底板大部分元器件亦采用国产工业级方案。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
我将在接下来的这三篇文章中讲述如何搭建一个简便、实用的 NAS 云盘系统。我在这个中心化的存储系统中存储数据,并且让它每晚都会自动的备份增量数据。本系列文章将利用 NFS 文件系统将磁盘挂载到同一网络下的不同设备上,使用 Nextcloud 来离线访问数据、分享数据。
lifi作为一个入门门槛低、涉及范围广的实验,在理工高校中还是比较流行的。 通常实验分成3个部分,字符数据传输实验、音频传输实验、视频传输实验。在官方的实验指南中指定使用win7x64或者win xp来进行。老话题,这里说在mac怎么进行实验。 音频传输、视频传输实际跟电脑没关系,只要保证usb供电即可,找两个手机的usb充电器就足够了。 第一部分的实验则是使用了usb转串口卡,这个重点是安装mac版本的电脑驱动,比如我手头拿到的是CH341串口卡,可以在这里下载驱动。 首先安装驱动程序,安装完成后
lifi作为一个入门门槛低、设计范围广的实验,在理工高校中还是比较流行的。 通常实验分成3个部分,字符数据传输实验、音频传输实验、视频传输实验。在官方的实验指南中指定使用win7x64或者win xp来进行。老话题,这里说在mac怎么进行实验。 音频传输、视频传输实际跟电脑没关系,只要保证usb供电即可,找两个手机的usb充电器就足够了。 第一部分的实验则是使用了usb转串口卡,这个重点是安装mac版本的电脑驱动,比如我手头拿到的是CH341串口卡,可以在这里下载驱动。 首先安装驱动程序,安装完成后
本文档主要介绍基于iMX6ULL开发板分享物联网模块开发案例,其中内容包括SDIO WIFI模块测试、STA模式测试、NB-IoT模块测试、Zigbee模块测试、LoRa模块测试和4G模块测试由于篇幅过长,案例分为上下两部分,欢迎各位感兴趣的用户查看更多。
本文主要为嵌入式入门开发者的接口、网口等板卡基础快速测试,当初级学习的开发者拿到板卡,如何在最快时间内测试板卡正常?,继续测试教程(5)的看门狗测试、网络接口(RGMII ETH、RGMII ETH)、AUDIO音频、CVBS OUT接口、TVIN接口测试部分,接下来是蓝牙、WIFI模块、SDIO WIFI、4G模块、USB转网口模块等测试部分是否正常。
如下图所示,USB控制器可以呈现出两种不同的状态。USB控制器作为Host时,称为USB主机控制器,使用USB主机控制器驱动。USB控制器作为Device时,称为USB设备控制器,使用UDC(usb device controller)驱动。本节只分析USB控制器作为Device时的驱动框架。
汽车后装的辅助驾驶设备,一般需要知道汽车的CAN协议,各汽车厂家的CAN协议又是保密的,这时就需要激活成功教程,因为CAN协议是明文,所以激活成功教程也就轻松些。
领取专属 10元无门槛券
手把手带您无忧上云