I.MX6 OTG set as slave device hacking】的更多相关文章

/****************************************************************************** * IMX6 OTG set as slave device hacking * 声明: * 1. 本代码解析使用了倒序的方式跟踪内核驱动代码,从驱动反推需求: * 2. 代码解析的目标是找到OTG设置成Host.Slave设备的宏定义: * 3. 根据2中的宏定义,看make menuconfig中是否存在可直接裁剪的选项. * * 2…
/********************************************************************* * I.MX6 Ethernet MAC (ENET) MAC Address hacking * 说明: * Lee对相关的一些代码进行了修改,所以这边跟一下这边相关的设置原理, * 主要是为了知道MAC address在Uboot.Linux kernel阶段的的设置,获取的 * 工作机制. * * 2016-7-27 深圳 南山平山村 曾剑锋 ***…
/************************************************************************************ * I.MX6 天嵌 E9 U-boot menu hacking * 说明: * 天嵌在U-boot中添加了自己的选择menu,想看一下怎么实现的. * * 2016-8-5 深圳 南山平山村 曽剑锋 **************************************************************…
Platform : Qualcomm MSM8937 PMIC : Qualcomm PMI8940 OTG base on USB2.0,增加 device 可當 host 也可當 peripheral. 增加 HNP 用來交換 host peripheral 的 protocol. 增加 SRP, 當 A-device 關掉 Vbus,B-device 用來向 A-device 請求 打開 Vbus. OTG spec 定義 device 有兩種 roles, OTG A-device,i…
OTG 检测的原理是: USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG).USB OTG技术可实现没有主机时设备与设备之间的数据传输.例如:数码相机可以直接与打印机连接并打印照片,手机与手机之间可以直接传送数据等,从而拓展了USB技术的应用范围.在OTG中,初始主机设备称为A设备,外设称为B设备.也就是说,手机既可以做外设,又可以做主机来传送数据,可用电缆的连接方式来决定初始角色(由ID线的状态来决定).…
/*********************************************************************************** * am335x Qt SocketCAN Demo hacking * 说明: * 本源代码来自OK335xS,主要是为分析如何在Qt中使用SocketCAN的这种通信方式. * * 2015-9-12 晴 深圳 南山平山村 曾剑锋 ***********************************************…
OTG 检测的原理是: USB OTG标准在完全兼容USB2.0标准的基础上,增添了 电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG).USB OTG技术可实现没有主机时设备与设备之间的数据传输.例如:数码相机可以直接与打印机连接并打印照片, 手机与手机之间可以直接传送数据等,从而拓展了USB技术的应用范围. 在OTG中,初始主机设备称为A设备,外设称为B设备.也就是说,手机既可以做外设,又可以做主机来传送数据,可用电缆的连接方式来决定初始角色(由ID线的状态来决…
1 USB OTG的工作原理 OTG补充规范对USB2.0的最重要的扩展是其更具节能性的电源管理和允许设备以主机和外设两种形式工作.OTG有两种设备类型:两用OTG设备(Dualrole device)和外设式OTG设备(Peripheralonly OTG device) .两用OTG设备完全符合USB 2.0规范,同时,他还要提供有限的主机能力和一个MiniAB插座.支持主机流通协议(Host Negotiation Protocol, HNP),并和外设式OTG设备一样支持事务请求协议 (…
USB OTG 设备既能做主机,又能做设备.USB HOST是指主机.当OTG 插到 HOST 上,OTG 的角色 就是 device.当device 插到 OTG 上,OTG 的角色就是 HOST. 任何利用USB连接的装置,至少会有一台主机(就是我们所说的Host)与一台客机(Guest,即是我们使用的任何USB装置,键盘.鼠标.U盘等都属于此类).所谓的USB Host就是指这台“号令”其它USB装置的主机,就算是一般的USB连接也有存在. 而USB On the Go(OTG)就是一个确…
参考: 1.https://www.arduino.cc/ 2.https://www.arduino.cc/reference/en/ 3.https://www.arduino.cc/en/Reference/Wire 4.https://www.arduino.cc/en/Reference/WireRead 5.https://www.arduino.cc/en/Reference/WireWrite 6.https://github.com/settings/installations…
这个想法之前就在脑袋里有过,最近公司产品要用到,所以多做了些了解. 1. USB 简介 USB 是 Universal Serial Bus 的缩写,从字面上看,就是通用串行总线的意思.从物理上看,其实就是一对差分线,连接两台设备后,相互间进行数据传输.加上另外两路供电( 5V 和 GND)线,一共是 4 根线. 那么,既然是只有一对差分线,那么该如何决定由谁传给谁呢(如果两边同时在线上建立电平,线路上的电平会是不确定态的,以致无法通信)?这就要说到 USB 传输的一个重要基础:“询问-应答”…
1.前言 k64 datasheet描述了Freescale MCU的特性.架构和编程模型,主要是面向使用MCU的系统架构和软件应用开发人员. 2.模块划分 datasheet主要按功能对模块进行划分,包括如下模块: 模块名称 模块说明 ARM® Cortex®-M4 core ARM Cotex M4 32-bit MCU core,加上DSP指令和基于ARMV7架构的单精度浮点单元 System 系统集成模块? 电源管理和多模式控制 唤醒单元 杂项控制模块 Crossbar switch ?…
来源:http://www.bverhue.nl/g2dev/?p=65 Delphi Android USB Interface with the G2 Leave a reply I first tried to use Libusb to connect my Android tablet with the G2. I managed to compile the libusb sources for Android and call it from the application, on…
本文转载自:https://www.cnblogs.com/pied/p/4549614.html 这个想法之前就在脑袋里有过,最近公司产品要用到,所以多做了些了解. 1. USB 简介 USB 是 Universal Serial Bus 的缩写,从字面上看,就是通用串行总线的意思.从物理上看,其实就是一对差分线,连接两台设备后,相互间进行数据传输.加上另外两路供电( 5V 和 GND)线,一共是 4 根线. 那么,既然是只有一对差分线,那么该如何决定由谁传给谁呢(如果两边同时在线上建立电平,…
一. 概述 1. IIC总线是PHILIPS公司推出的一种串口总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串口总线. 2. IIC总线只有两根双向信号线.一根是数据线SDA,一根是时钟线SCL. 3. 连接到相同总线的IC数量,受总线最大电容400pF的限制. 4. IIC总线通过上拉电阻接正电源.当总线空闲时,两根线均为高电平.连到总线上的任何一个器件输出的低电平,都将使总线的信号变低, 即各器件的SDA和SCL都是线“与”的关系. 5. 每个连到总线上的器件都有一个唯…
工作需要写了我们公司一块网卡的linux驱动程序.经历一个从无到有的过程,深感技术交流的重要.Linux作为挑战微软垄断的强有力武器,日益受到大家的喜爱.真希望她能在中国迅速成长.把程序文档贴出来,希望和大家探讨Linux技术和应用,促进Linux在中国的普及.本文可随意转载,但请不要在盈利性出版物上刊登.------------------ linux操作系统网络驱动程序编写 ------------------------------- Contact the author by mailt…
KVM 是 Kernel-based Virtual Machine 的简称,是 Linux 下 x86 硬件平台上的全功能虚拟化解决方案: 使用 KVM ,可允许运行多个虚拟机,包括 Linux 和 Windows操作系统. KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术).是基于硬件的完全虚拟化. KVM 安装 在Windows 7系统中安装使用vmware,在vmware里安装linux系统,并在linux系统中安装使用kvm,虚拟化linux系统. VMware: …
蓝牙BLE实用教程 Bluetooth BLE 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过 设置 里的修改模板来改变新建文章的内容. 1.蓝牙BLE常见问答 Q: Smart Ready 和 Smart 以及传统蓝牙之间是什么关系? Q: 双模(dual-mode)和单模(single-mode)有什么区别? Q: There is a confusion between Server-Client vs Master-Slave vs Central-Peripheral.…
本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7497260 更多请看专栏,地址http://blog.csdn.net/column/details/linux-kernel-net.html 作者:闫明 注:标题中的”(上)“,”(下)“表示分析过程基于数据包的传递方向:”(上)“表示分析是从底层向上分析.”(下)“表示分析是从上向下分析. 经过前面两篇博文的分析,已经对L…
by @知道创宇(www.knownsec.com) @余弦 & 404团队 后续动态请关注微信公众号:Lazy-Thought 说明 关于知道创宇 知行合一 | 守正出奇 知道创宇是一家黑客文化浓厚的安全公司,愿景是让互联网更好更安全 本技能表为知道创宇研发工程师的技能树集合,是的,很庞大 聪明的人,会根据每个tip自驱动扩展 不聪明的人,坐等别人手把手,不仅不适合知道创宇,也不适合任何有极客精神的公司   附件标志是我们推荐的附加资源,感谢资源提供者 知道创宇研发技能表v3.1离线版打包下载…
转自:https://www.kernel.org/pub/linux/docs/lanana/device-list/devices-2.6.txt LINUX ALLOCATED DEVICES (2.6+ version) Maintained by Torben Mathiasen <device@lanana.org> Last revised: 25 January 2005 This list is the Linux Device List, the official regi…
EtherChannel最初是由cisco提出,通过聚合多条物理链路为单条逻辑链路,从而实现高可用及提高吞吐量等目的.AgP(Port Aggregation Protocol,Cisco专有协议).LACP(IEEE 802.3ad)是应用最广泛的两种实现.Linux中的实现称为Bonding,HA的实现需要系统层面Bonding和物理层面switch紧密配合. 参考资料:http://www.mjmwired.net/kernel/Documentation/networking/bondi…
作者信息 作者: 彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本:Linux-4.4.0 (支持device tree) u-boot版本:友善之臂自带的 U-Boot 2010.12 (为支持uImage启动,做了少许改动) busybox版本:busybox 1.25 交叉编译工具链: arm-none-linux-gnueabi-gcc (gcc vers…
1,用内核代码和规格书来印证数据格式: //命令3字节,IC地址 u8 end_cmd[] = {GTP_READ_COOR_ADDR >> , GTP_READ_COOR_ADDR & }; //总长度 前 3个字节.最大点数*8.加1 u8 point_data[ + + * GTP_MAX_TOUCH + ]={GTP_READ_COOR_ADDR >> , GTP_READ_COOR_ADDR & 0xFF};   2,读数据:调用STM32的方法,转换原来…
目录 . 进程相关数据结构 ) struct task_struct ) struct cred ) struct pid_link ) struct pid ) struct signal_struct ) struct rlimit . 内核中的队列/链表对象 ) singly-linked lists ) singly-linked tail queues ) doubly-linked lists ) doubly-linked tail queues . 内核模块相关数据结构 ) st…
知道创宇研发技能表v3.0 2015/8/21 发布 by @知道创宇(www.knownsec.com) @余弦 & 404团队 后续动态请关注微信公众号:Lazy-Thought 说明 关于知道创宇 知行合一 | 守正出奇 知道创宇是一家黑客文化浓厚的安全公司,愿景是让互联网更好更安全 本技能表为知道创宇研发工程师的技能树集合,是的,很庞大 聪明的人,会根据每个tip自驱动扩展 不聪明的人,坐等别人手把手,不仅不适合知道创宇,也不适合任何有极客精神的公司   附件标志是我们推荐的附加资源,感…
busybox配置telnetd的问题 进入busybox源码文件夹,选择telnet,telnetd.后确保在ramdisk的sbin文件夹下存在inetd和in.telnetd或telned.在ramdisk中的mnt/etc文件夹中,确保存在文件fstab,service,inetd.conf,passwd文件确保fstab文件里存在none /dev/pts devpts mode=0622 0 0这一行确保services文件里存在 telnet 23/tcp 这一行确保inetd.c…
include/linux/i2c.h struct i2c_msg;struct i2c_algorithm;struct i2c_adapter;struct i2c_client;struct i2c_driver;union i2c_smbus_data; I2C驱动主要包含三部分:I2C核心.I2C总线驱动.I2C设备驱动,它们主要的数据结构在目录:/include/linux/i2c.h struct i2c_driver /* * A driver is capable of ha…
1.UNIX Network Programming环境搭建 Unix NetWork Programming――环境搭建(解决unp.h等源码编译问题) http://blog.csdn.net/a649518776/article/details/6724121 注:按照连接操作即可,编译要加 -lunp  选项 2.用户态和核心态的交换方式 在 linux下,要实现核心态和用户态数据的交互,有多种方式:可以通用socket创建特殊套接字,利用套接字实现数据交互:通过proc文件系统创建文…
USB歷史簡介 USB規格演變 標準 USB 2.0 介面 實體層 訊號傳輸 傳輸速率 網路層 USB 通訊模型 Endpoints 傳輸型態 USB 資料連結 Transaction Frame Packet Token 封包 Data 封包 Handshake 封包 USB OTG (On-The-Go) 協定(Protocol) Attach Detection Protocol (ADP) Session Request Protocol (SRP, 對話請求協議) Host Negot…