am335x otg-usb

任务: am335x一共有两个usb主机控制器,在天嵌的bsp中,一个配置为usb host ,一个配置为了usb otg。现在需要将otg也配置为host。

实际修改过程非常简单:将.config文件中,将CONFIG_USB_OTG,CONFIG_USB_OTG_WHITELIST,CONFIG_USB_OTG_UTILS这几个宏注释掉,重新编译即可。


修改过程中,大概看了一下usb总线驱动程序。

根据usb设备的插拔,根据串口的打印信息,查到了drivers/usb/core/hub.c

usb_hub_init

        kthread_run(hub_thread, NULL, "khubd")      开启hub_thread线程

            hub_thread 线程会阻塞,直到hub_irq中断到来调用kick_khubd来解除阻塞

                 hub_events

                            hub_port_connect_change

                                        choose_devnum      每一个usb主机控制器,可以支持127个设备,因此这个函数给新接入的设备分配一个设备号(1-127)

                                        hub_port_init  这里串口打印出了 "new high-speed USB device number 6 using"

                                        usb_new_device

                                                   usb_enumerate_device

                                                                 usb_enumerate_device_otg

                                                                            is_targeted  这里很关键,如果将usb设备插入到了otg中,这里会打印出"device v05e3 p0723 is not supported",这个函数在otg_whitelist.h。

                                                   announce_device    这里打印出"New USB device found, idVendor=05e3,idProduct=0723"


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/433776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux网络管理基本

子网掩码与IP地址同等长度,与IP地址每一位一一对应,IP地址中对应子网掩码为1的位为网络部分Linux中网卡标识为eth,第一块网卡叫做eth0,第二块叫做eth1,以此类推使用lspci或lsusb命令可查看网卡物理信息命令ifconfig (-…

python如果想测试变量的类型、可以使用_python里测试变量类型用什么

Python中测试变量类型可以使用isinstance()函数或type()函数来完成。 isinstance() 函数: isinstance()函数来判断一个对象是否是一个已知的类型,类似 type()。 isinstance()函数的语法:isinstance(object, classinfo) 参数: object -- 实例对…

参考文献起止页码怎么写_【求助】有全文参考文献但没有起止页码如何办

我的文章引用的文献中有5篇从PUBMED得到的全文电子版是没有起止页码的,在论文中参考文献的著录是要求起止页码的,这该如何办?这5篇文献如下,欢迎战友们伸出援手,1. Lpez-Revilla, R., Martnez-Contreras, L.-A., and Snchez-Garza, M. (2008): Prevalence of high-risk human…

平台系统云服务器配置,01-云平台连接配置

1云平台连接1.1 云平台连接简介云平台连接是指设备与H3C绿洲平台服务器(H3C Oasis server)通过Internet建立的远程管理通道。通过云平台连接,网络管理员可以在没有直接接入到设备所在网络的情况下,通过绿洲平台服务器对分布在不同地域的设备进行管理和维…

python 计算协方差矩阵_opencv2学习:计算协方差矩阵

图像的高级处理中,协方差矩阵计算是必不可少的,但opencv关于这方面的资料却相当少。首先,利用matlab计算一下,便于比较:>> data[1,2,3;10,20,30]data 1 2 310 20 30>> convarcov(data)convar 40.5000 81.0…

源码安装mysql5.1.51

1. ./mysql_install_db --force 2. 进入到mysql的安装目录执行下面4个命令 groupadd mysql useradd -g mysql mysql chown -R mysql . chgrp -R mysql . 3. 将源码里的my-medium.cnf文件拷贝到mysql的安装目录 cp support-files/my-medium.cnf etc/my.cnf 4. 执行…

python读取文件路径报invalid_关于Python读取文件的路径中斜杠问题

最近用Python读取文件,发现有时候用 \ 会报错,换成 \\ 就不会报错。查了下资料发现,\是Python的转义字符,如果路径中存在\t或者\r这样的特殊字符,\就无法起到目录跳转的作用,因此报错。解决办法就是告诉系统…

vb如何定义微软服务器stul,VBScrip微软官方教程.doc

VBScrip微软官方教程VBScript微软官方教程Microsoft Visual Basic Scripting Edition 是程序开发语言 Visual Basic 家族的最新成员,它将灵活的 Script 应用于更广泛的领域,包括 Microsoft Internet Explorer 中的 Web 客户机 Script 和 Microsoft Inter…

cocos2d-x for wp 之Box2D的应用

本文大部分内容是基于fengyun1989的博文,自己只是加深巩固而已 Box2d是一款用于2d游戏的物理引擎。在这个世界里创造出的物体都更接近于真实世界的物体。 首先,在项目添加Box2D.XNA.DLL。 新建一个页面BOX2DLayer并继承于CCLayer 重写init函数&#xff0…

qt 添加依赖库lib_在QT中添加LIB的方法

自动显示隐藏布局的listView借助View的OnTouchListener接口来监听listView的滑动,通过比较与上次坐标的大小,判断滑动方向,并通过滑动方向来判断是否需显示或者隐藏对应的布局,并且带有动画效果. 1.自动显示 ...ImFire即时通讯系统构建(需求)ImFire需求 一期需求(近期) 1.新用户…

python中集合运算_Python中的集合操作与集合运算

Python中的集合是一种无序的,无重复值的数据结构类型。Python中的集合可以用来检测元素检测或消除重复的元素。 一、python 集合概述 (1)Python中的集合元素是无序的,即元素没有顺序问题,也不能像数组、列表、字符串那…

Asp.net 定时任务

1.定时器 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.IO; using System.Text; using System.Web.Security; using System.Web.SessionState; using System.Timers;namespace WebApplication1 {public class Global :…

arm64入栈出栈_ARM64的内核栈、用户栈、寄存器上下文

1. 内核栈的分配,即thread_info的分配,是在do_fork->dup_task_struct中分配(默认为2个pages),并赋值给task_struct->stack;2. 用户栈的分配分两种:一是pthread create会事先mmap分配好用户栈,传给do_…

python程序怎么修改_python文件如何修改

以占用内存的方式修改文件 待修改的文件 word1.txt,文件内容如下:现在要将文中的“汪淼”修改为“WM”,代码如下:#!-*-coding:utf-8-*- old_str 汪淼 new_str WM f1 open(word1.txt,r,encoding"utf-8") #…

phpMyAdmin导入大的sql文件

在使用phpMyAdmin的时候经常用到数据的导入和导出(Export/Import),但是在导入大数据的时候由于php上传文件的限制和脚本响应时间的限制,导致phpMyAdmin无法导入大数据,对于导入大数据到mysql的,我以前使用过使用SHELL的方式导入几…

vue 计算属性和data_Vue:计算属性

一、为什么要使用计算属性1、什么是计算属性计算属性:可以理解为能够在里面写一些计算逻辑的属性。具有如下的作用:减少模板中的计算逻辑。数据缓存。当我们的数据没有变化的时候,不会再次执行计算的过程。依赖固定的数据类型(响应式数据)&am…

Linux添加/删除用户和用户组

本文总结了Linux添加或者删除用户和用户组时常用的一些命令和参数。 1、建用户: adduser phpq //新建phpq用户 passwd phpq //给phpq用户设置密码 2、建工作组 groupadd test …

mysql 计算近30天总金额_mysql┃一条更新语句是怎么执行的???

本文共:3018字 预计阅读时间:8分钟文章首发于我的微信公众号:哪儿来的moon,欢迎大家关注mysql┃一条更新语句是怎么执行的???前言 通过上一篇文章的内容,大家已经对mysql的基本架构有…

arduinowifi.send怎么获取响应_ChatterBot代码解读-获取对话

这个过程比较复制,安装处理的流程,依次进行代码解读。在定义一个ChatBot后,可以进行对话的训练,这个过程参考:水中的鱼:ChatterBot代码解读-训练数据​zhuanlan.zhihu.com然后就是用如下的代码&…

[jQuery] jQuery函数

(1)文档就绪函数$(document).ready(function(){--- jQuery functions go here ----});为了防止文档在完全加载(就绪)之前运行 jQuery 代码。如果在文档没有完全加载之前就运行函数,操作可能失败。下面是具体的例子&…