am335x usb linux配置,AM335xUSB调试的经验小结.PDF
AM335x USB 调试的经验小结
Yaoming
硬件调试
• 首先,将USB设备放到PC等设备上以确认该设备本身是否正常。
• 可以根据AM335x 的Schematics Check list进行第一步的检查:
– /index.php/AM335x_Schematic_Checklist#USB
• TI FAE 的经验总结:
– /question_answer/dsp_arm/sitara_arm/f/25/t/471
99.aspx
• 其他方法:
– 检查vbus是否上电,排除掉电源设计的问题。
– 查看ID脚是否配置正确。
– 串一个USB HUB到靠近AM335x侧,再进行测试。
• 一次可以初步判断是否是由于信号完整性的原因造成信号不稳定。
– Babble Event,一般为信号完整性问题,可以先用HUB进行调试,也可以通
过软件对USB降速(从USB 2.0 降到USB 1.1)进行调试。如果要从根本上
解决,一遍需要重新layout。
软件调试 -- Linux/Android/Starterware
一般调试流程:
– 首先,用最新的SDK进行调试,看是否问题已经解决。
– 获取USB driver的全部log
• 在Linux/Android中,可以在终端输入dmesg获取。
• 在Starterware中,没有log机制,所以是没有的,可以用JTAG 进行在线调试,可以
参考我以前的总结。
Log机制是进行初步判断问题再哪里的基本步骤。
– 判断是否是Babble Event。如果有,如前所述,需要硬件级的调试,或者绕
过去。
• 对于Linux,可以直接到dmesg 中查看是否有。
• 对于Starterware,需要连上JTAG,进行调试,是否状态为
USB_EVENT_BABBLE_ERROR。
• 主要的绕过方法:
– 可以尝试将USB 2.0降速到USB 1.1。
– 用PIO mode代替DMA mode。
– 用USB 总线分析仪进行调试。
• 这个方法主要是获取USB协议的实现情况的时序图,然后将其交个相应的专家进行
分析调试。
USB 2.0 降速到1.1的方法
• 在Linux/Android中:
– 在kernel/drivers/usb/musb/musb_core.c中
musb_writeb(regs, MUSB_POWER, MUSB_POWER_ISOUPDATE
| MUSB_POWER_SOFTCONN
- | MUSB_POWER_HSENAB
+ /*| MUSB_POWER_HSENAB */
/* ENSUSPEND wedges tusb */
/* | MUSB_POWER_ENSUSPEND */
);
• 在Starterware中:
– 可以参考/index.php/StarterWare_USB中:
Note: The MSC Host class is by default configured for Hi-Speed DMA transfer
mode. For Full-Speed mode, define 'USB_MODE_FULLSPEED' in 'Drivers',
'USBLib' and 'Application' make files.
USB DMA/PIO 模式切换的方法
• 对于Linux/Android
– 可在menuconfig中配置,可参考
/index.php/Usbgeneralpage
am335x usb linux配置,AM335xUSB调试的经验小结.PDF相关推荐
- am335x usb linux配置,AM335X Usb 配置设备 RNDIS
首先:打开linux 内核配置菜单: $ make CROSS_COMPILE=arm-arago-linux-gnueabi- ARCH=arm menuconfig 在主菜单选择 Device D ...
- linux coredump配置与调试
linux coredump配置与调试 Linux Core Dump 配置与调试 1.core文件的生成开关和大小限制 --------------------------------- 1)使用u ...
- redhat7图形界面网卡设置_Redhat Linux Interprise基本网络配置与调试
[实验4] Redhat Linux Interprise基本网络配置与调试 一.实验目的: 1) 熟练掌握Red Hat Linux 下的基本网络参数配置 2)熟练掌握Red Hat Linux 下 ...
- LINUX平台高级调试和优化(2018上海站)
关于LINUX的资料浩如烟海,学习LINUX的途径也有很多,如何才能在比较短的时间里获得一个比较大的提升呢?<软件调试高级研习班>将与各位LINUX爱好者共同探索这个问题的最佳答案.本着生 ...
- pycharm 远程调试图文_Pycharm配置远程调试的图文步骤
Pycharm配置远程调试方法总结 动机 一些bug由于本地环境和线上环境的不一致可能导致本地无法复现 本地依赖和线上依赖版本不一致也可以导致一些问题 有时一些bug跟数据相关,本地数据无法和线上数据 ...
- [Linux]core文件调试方法
来源: shaovey的专栏 在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息).使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行 ...
- clion 远程连接linux服务器 开发调试
Linux 配置 为了使用CLion 进行开发调试Linux相关的软件版本推荐如下 Cmake 3.x 以上 gdb 7.8.x 以上 本次配置使用的Linux 版本为Centos 7.4 mini ...
- 我在学python-我在大学毕业后学习Linux、python的一些经验
我在大学毕业后学习Linux.python的一些经验 掐指一算,自己已经毕业快半年了,这半年莫名其妙进外包圈子溜达了一圈,有幸退的早还是正常干一些事情吧,外包终究不是太适合刚入社会的毕业生,今天想把自 ...
- 我在大学毕业后学习Linux、python的一些经验
我在大学毕业后学习Linux.python的一些经验 掐指一算,自己已经毕业快半年了,这半年莫名其妙进外包圈子溜达了一圈,有幸退的早还是正常干一些事情吧,外包终究不是太适合刚入社会的毕业生,今天想把自 ...
最新文章
- java.lang.NoSuchMethodException 错误
- ElasticSearch(3)-安装kibana
- Win32 控件篇(3)
- 新华三,定义服务器虚拟化市场新格局
- spring: 使用Spring提供的JDBC模板(使用profiles选择数据源/使用基于JDBC驱动的数据源)...
- matlab去除坏点,图像处理之坏点校正及源码实现
- 实现Profile购物车的匿名用户迁移
- python的render函数_带函数return的Flask render_模板
- reverse函数:反转容器内容
- CSS3弹性盒子Flex
- 入门机器学习(十二)--课后作业解析-偏差与方差(Python 实现)
- MySQL中幻读是如何解决的
- [论文导读]Restoring and attributing ancient texts using deep neural networks深度学习复原古希腊铭文
- 电总协议串口调试助手
- Hive分区修复命令MSCK介绍与使用
- ScriptManager.RegisterStartupScript()方法
- PCI总线---深入理解PCI总线
- 解决png图片在IE6下的透明问题
- 深入理解Java之线程池
- ffmpeg编解码应用