- 博客(153)
- 收藏
- 关注
原创 error: .repo/manifests/: contains uncommitted changes
repo sync同步时提示出错: error: .repo/manifests/: contains uncommitted changes解决方法:1、cd 进入.repo/manifestscd .repo/manifests2、执行如下三条命令git stashgit clean -f -d3、重新开始同步repo sync -c -j4 --no-clone-bundle...
2021-01-11 09:50:49
1296
转载 Android之 MTP框架和流程分析
概要本文的目的是介绍Android系统中MTP的一些相关知识。主要的内容包括:第1部分 MTP简介 对Mtp协议进行简单的介绍。第2部分 MTP框架 介绍Android系统下MTP的框架。第3部分 MTP启动流程 详细分析MTP服务的启动流程,包括Java层, JNI层, kernel相关知识的介绍。第4部分 MTP协议之...
2018-08-24 11:00:11
4920
1
原创 libusb win32简介以及应用
1.libusb win32 作用以及安装步骤。LibUSB-Win32是一个用于Windows操作系统(Win98SE、WinME、Win2k和WinXP、Vista、Win7等)上的通用USB设备驱动程序。该驱动程序允许使用者在不写任何一行核心驱动程序代码的情况下,可以访问Windows系统上的任意一个USB设备,具有以下特点:能够与任意一个已安装的USB设备进行通信可被用作自己开发的USB设...
2018-07-06 17:16:47
26681
5
原创 解析dump的几种方式
在开发调试过程中,经常会遇到手机/设备crash或者dump了,memory dump是分析系统crash/dump的重要办法在qualcomm的流程中,设备如果发生dump,会将dump的log缓存到某一个区域,用户可以利用个别工具将log取出来分析,以下就是基本qcom的基础上介绍几种获取dump log的方法:1.T32方法trace32 onlie软件,链接到主板/设备上,然后
2017-12-26 15:15:26
6753
转载 Linux Kernel数据结构:链表
Linux Kernel数据结构:链表原创 2016年10月20日 22:58:25标签:LINUX/kernel/链表 数据结构数据结构中链表是 节点中包含数据 , kernel中的链表是链表包含在数据结构中内核链表的优势尽可能的代码重用,将大堆的链表设计变为一个链表操作就可以搞定,总结起来可以为可扩展性,封装性。在数据结构的中的链
2017-11-03 16:34:30
1383
转载 互斥锁和自旋锁的区别
自旋锁(Spin lock)自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是 否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。其作用是为了解决某项资源的互斥使用。因为自旋锁不会引起调用者睡眠,所以自旋锁的效率远 高于互斥锁。虽然它的效率比互斥锁高,但是它也有些不足之处: 1、自旋锁一直占用CPU,他在未获得
2017-11-03 16:27:37
948
转载 Android Vendor Test Suite (VTS) 的概念、作用及测试方法
转自:http://blog.youkuaiyun.com/qidi_huang/article/details/76653677Android Vendor Test Suite (VTS) 的概念、作用及测试方法1、前言 - Project Treble Android 目前有一个比较明显的缺点是设备升级到新版本系统所要花费的时间太长(比如从 Android 6.0 升级到 Andr
2017-10-24 11:03:50
1575
转载 USB2.0协议分析
一、USB硬件介绍1.1、概述 一条USB传输线分别由地线、电源线、D+和D-四条线构成,D+和D-是差分输入线,它使用的是3.3V的电压(与CMOS的5V电平不同),而电源线和地线可向设备提供5V电压,最大电流为500mA(可以在编程中设置)。 USB设备可以直接和HOST通信,或者通过Hub和Host通信。一个USB系统中仅有一个USB 主机
2017-10-18 14:52:31
917
原创 USB y-cable 简介
Y-Cable带有一个标准USB接口,一个Micro USB插头,一个OTG接口,接口易于扩展。Y-Cable既是一根USB数据线,又能作为OTG数据线使用,所有它最基本的功能就是USB充电/数据传输功能,一端插入手机充电接口,另一端连接电脑、移动电源或者充电器都可以直接为手机充电、传输数据 一个接口时可以传输数据 两个口不能同时传输。
2017-10-11 11:26:52
4354
原创 安卓开发镜像烧写进开发板fastboot烧写方式
sudo minicom -s(配置硬件调为usb)选择serial port setup选择A -Serial Device 、/dev/ttyS0Hard flow control :nosoftware flow control : no1 on 2 3 4 off flash2 3 on 1 4 off sd4 on 1 2 3 off usb
2017-09-19 22:49:32
1716
原创 vim配置
$sudo apt-get install vim$sudo vim /etc/vim/vimrc添加:set nocompatibleset mouse=aset cindent "按C语言语法缩进set autoindentset showcmdset clipboard+=unnamed "共享剪切板set history=10
2017-09-19 22:47:48
551
原创 java jdk安装参考
Linux:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html1、把jdk-8u5-linux-x64.gz解压,然后把解压的文件夹放到/usr/lib/jvm/下,并重命名为jdk,这个目录可以自定义。2、编辑~/.basrc文件,在文件的末尾追加下面的命令,并保存
2017-09-19 22:45:45
537
原创 Dragonboard410c安卓5.1.1源码
见官网:https://wiki.codeaurora.org/xwiki/bin/QAEP/❖通过以下命令安装JDK sudo apt-get update sudo apt-get install openjdk-7-jdk❖安装必要的软件和lib库(Ubuntu 14.04) sudo apt-get install git-core gnu
2017-09-19 22:44:50
1156
原创 内核编译问题
1. 删除编译生成文件命令 make clean, make mrproer make distcleanmake clean 删除大多数的编译生成文件, 但是会保留内核的配置文件.config, 还有足够的编译支持来建立扩展模块make mrproper 删除所有的编译生成文件, 还有内核配置文件, 再加上各种备份文件make distclean mrproper删除的文件, 加上编
2017-09-19 22:43:33
743
原创 安装Python-qt5问题
首先安装:pipsudo apt-get install python3sudo apt-get install python3-pipsudo apt-get install python3-qt5 或者 python3-pyqt5sudo apt-get install python3-pyqt5.*
2017-09-19 22:42:35
4563
原创 Linux下配置Android Studio与Eclipse
一. 配置Android Studio 2.01.下载Linux版本的android studio 由于被墙的原因,可以在国内去AndroidDevtools网站下载。2. 配置Android Studio 下载完后解压缩到想放入的文件夹,如/opt/androidstudio,然后打开进入/opt/androidstudio/bin下运
2017-09-19 22:41:28
575
原创 如何在Linux上配置Java
一. 配置JDK1.下载Linux版本的JDK自行百度JDK下载即可。2.创建要放置JDK的目录例如我将它存放在/usr/lib/java目录下,首先在/usr/lib文件夹下创建java文件夹,命令如下cd /usr/libsudo mkdir Java3.将下载来的JDK解压至刚创建的目录sudo tar -C /usr/lib/Java -zxvf 下载来的J
2017-09-19 22:39:40
1333
原创 tools
-> adb控制多个设备$ adb devices$ adb -s 33304728528D00EC shell-> sqlite3$ sqlite3 LIHGHT.dbsqlite> select * from light_table;34 | PID: 5640 | PID: 61sqlite> insert into l
2017-09-19 22:37:20
558
转载 高通平台usb充电检测
基于Qualcom 8960/8921平台一,软件分析1. USB charger types & Power supply typesUSB_INVALID_CHARGER Invalid USB charger.USB_SDP_CHARGER Standard downstream port
2017-09-14 08:38:22
7357
转载 android5.1 init对rc文件解析执行顺序
备注,下面on对应的section下面内容的数字,代表内核启动log所在的行数比如我们的init.rc文件部分内容如下:import /init.environ.rcimport /init.usb.rcimport/init.${ro.hardware}.rcimport /init.${ro.zygote}.rcimport /init.trace.
2017-08-15 15:42:25
1462
转载 USB CDC / USBnet (ECM, NCM, ACM)
USB CDC-ACM (Abstract Control Model), CDC-ECM (Ethernet Networking Control Model), CDC-NCM (Network Control Model),OBEX (Object Exchange) andWCM-Device Management USB class and function driver
2017-08-09 19:29:43
5014
1
转载 windows adb不识别(VID PID更改)
在 android 设备的 Linux 内核中把 USB 驱动的 PID VID 修改以后,也许之前的 adb 工具就不能识别设备了,会打印出 "device not found" 的提示,特别是 windows ,adb 驱动也不能用了。这个时候该怎么办呢?方法一(临时方法)一,先搞清现在的 PID ,VID 为多少,例如分别为 aaaa、bbbb
2017-08-07 16:19:00
2303
转载 USB port 如何识别不同的Charger类型
一,软件分析1. USB charger types & Power supply typesUSB_INVALID_CHARGER Invalid USB charger.USB_SDP_CHARGER Standard downstream port. Refers to a downstream
2017-08-03 18:38:26
2476
转载 高通平台USB2.0和3.0接口充电器识别原理
CS v1.2的充电器探测原理如下:当OTG驱动捕获到VBUS中断的时候,断开DP/DM与SIE接口的连接,然后等待数据线的连接(DCD)并设置超时,一般是750ms,如果超时,可启动usb gadget驱动做识别;否则在DP上加载0.6V的电压,检测DM上是否有0.6V的电压,这里有两种情况:情况一:如果有0.6V电压,那么可能是DCP或者CDP充电器,接着在DP上撤销0.6V电
2017-08-02 20:04:04
4609
转载 USB Type-C Configuration Channel (CC) pin function
USB Type-C Configuration Channel (CC) pin function转载2016-03-14 22:42:34标签:信息技术喜欢就扫码关注USB Type-C定義了CC pin,理解了CC pin的功能,大致上就等於理解了Type C。下面六個項目是Type C Spec所定義的CC pin功能。1. D
2017-08-01 19:34:29
8030
1
转载 USB协议分析仪在实际USB连通中的作用
在现代电子设备中,越来越多的使用USB接口,不仅因为其使用方便,即插即拔,更因为其价格低廉,协议开放,而广泛使用在各种电子设备上,并且已经发展为不可缺少的一种接口形式。但USB接口的开发过程中,对于工程师来说还是会遇到这样或那样的问题,如何提高调试效率,缩短研发周期,就需要一种调试测试工具——USB协议分析仪。USB协议分析仪 USB协议分析仪是协议层的分析工具,是测试设备的一
2017-07-20 20:05:02
863
1
转载 USB gadget设备驱动解析
利用Linux USB gadget设备驱动可以实现一些比较有意思的功能,举两个例子: 1、一个嵌入式产品中的某个存储设备,或是一个存储设备的某个分区,可以作为一个U盘被PC;设别,从而非常方便的完成文件交互,这个功能被广泛的应用于手机、数码相机等产品中。2、一个嵌入式设备通过USB连接到你的PC后,在你的PC端会出现一个新的网络连接,在嵌入式设备上也会有一个网卡设备,你可以配置它们的IP地址,并
2017-07-20 20:02:41
1456
转载 USB中CDC-ECM的了解和配置
USB中典型类及子类:类别解释子类典型应用IC芯片备注UVC视频类 免驱USB摄像头 CDC通讯类RNDIS ECM(p24)
2017-07-20 17:45:28
3933
转载 Android USB驱动源码分析(-)
Android USB驱动中,上层应用协议里最重要的一个文件是android/kernel/drivers/usb/gadget/android.c。这个文件实现USB的上层应用协议。首先包含了一些系统级别的头文件,如模块、电源管理、of API等 1 /* 2 * Gadget Driver for Android 3 * 4 * Copyright (C) 2008
2017-07-20 11:03:17
5489
转载 Linux如何自动挂载U盘
某些场景下,服务器可能没有必要的键盘等输入设备、屏幕等输出设备。此时需要在没有人为干预的情况下实现当插入U盘或者硬盘后自动挂载,并执行某些脚本动作。以下是我的实践过程。必要组件udev,udisksbusybox (需要用到blkid)可以直接获取到设备的卷标,这样就可以指定挂载路径名称了。实现规则编写编写udev规则实现U盘插入时候的动作。规则文件写在/etc/udev/
2017-07-19 14:48:10
3286
原创 Android Logcat调试使用方法
android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母分别对应VERBOSE,DEBUG,INFO, WARN,ERROR。1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("","");2、Log.d的输出颜色是蓝色的,仅输出debu
2017-07-14 10:08:32
779
转载 高通平台进FFBM的三种模式
最近用到了高通平台的FFBM模式,我想给大家分享下进FFBM测试模式的三种方法:1.用QFIL工具下载,只要下载的时候选择rawprogram_for_FFBM 就可以;然后开机就可以进到FFBM测试模式;2.在正常开机后,用fastboot 烧录misc.img到misc分区3使用工具QRCT来修改,截图暂时还没弄好,下次再更新。
2017-07-13 13:23:30
2190
原创 如何在inf文件中修改pid、vid
Inf文件即Device Information File(设备信息文件),用于引导驱动程序(*.sys)的安装。它实质上是一个文本文件,可以用记事本工具打开查看和编辑。简单介绍一下USB设备驱动程序的安装过程:1. 当USB设备连接到计算机上时,系统从USB设备中获取设备描述符,读取供应商ID(Vendor ID)和产品ID(Product ID),即VID和PID,得到设备的硬
2017-07-12 21:07:34
20802
2
转载 fastmmi(ffbm)的使用
为方便工厂快速测试、提高生产效率,高通开发了一套半开机模式下的 测试界面--fastmmi,为方便以后查找,使用方式记录如下:1、创建文件misc.img2、写入内容: ffbm-013、fastboot烧写到misc分区即可注意:这个触屏的报点模式有可能需要更改在文件 kernel/drivers/input/touchscreen/mstar_drv_new
2017-07-12 11:36:22
3809
转载 USB设备的VID与PID
一、VID和PID PID/VID唯一标识一个设备,HardwareID是为了给系统识别的 ,他是根据PID/VID而生成的。这个与序列号没什么关系,序列号一般都是厂家固化到芯片中的信息而已。GUID只是为了标志你安装的设备是属于一个什么类当中,这个类可以显示再设备管理器中。比如:你可以定义一个类,当然这个类有与系统中任何类都不同的GUID,然后选择一个图标和类名,就可以同网卡等其他设备一起
2017-07-11 15:16:52
2401
原创 高通snapdragon平台下编译生成运行Android可执行程序小白教程
高通snapdragon平台下编译生成运行Android可执行程序小白教程这里以高通msm8996为例:1、源码准备(1)在android目录下新建文件夹(这里为hello_test),将源代码(这里为hello.c)放入其中。以最简单代码为例:(2)新建一个Android.mk脚本文件,最简单的模板如下:LOCAL_PATH:=$(call my-dir)
2017-07-06 20:08:24
1280
原创 Android中contentprovider详解
Android中contentprovider详解1.初识ContentProviderContentProvider是android四大组件之一。它是不同应用程序之间交换数据的标准api(前面提到各个activity之间的通讯是Intent),ContentProvider以某种uri的形式对外提供数据,允许其它应用程序对其访问或者修改数据,其它应用程序使用ContentResolver
2017-07-06 20:06:11
785
原创 APP层控制呼吸灯
APP层控制呼吸灯 Android是基于Linux内核,设备的节点是设备驱动的逻辑文件,可以通过设备节点来访问设备驱动。但是由于Android 5.0及以上的版本,Google对源码环境普遍采用了SELINUX安全访问机制,APP及Framework层在默认情况下是无权限访问设备节点的。解决办法有两种:以SystemAPP或者System Server进程开放权限。1)SEAndroid
2017-07-06 20:05:31
1112
转载 快速充电技术介绍
一、电池的发展历史电池的发展史由1836年丹尼尔电池的诞生到1859年铅酸电池的发明,至1883年发明了氧化银电池,1888年实现了电池的商品化,1899年发明了镍-镉电池,1901年发明了镍-铁电池,进入20世纪后,电池理论和技术处于一度停滞时期。但在第二次世界大战之后,电池技术又进入快速发展时期。首先是为了适应重负荷用途的需要,发展了碱性锌锰电池,1951年实现了镍-镉电池的密
2017-06-26 17:25:34
2153
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人