自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

☆ 默默地牛逼着

彪悍的人生不需要解释,彪悍的代码不需要注释

  • 博客(165)
  • 资源 (6)
  • 收藏
  • 关注

原创 语法

1.c++ Thread 线程1、Android把线程C++封装Thread类,它是线程的基类2、使用Thread时,创建一个类继承于Thread类,实现threadLoop()方法是纯虚函数,在子类中实现3、启动线程,调用run()函数,先调用 readyToRun ,再调用 threadLoop

2017-07-28 11:25:31 313 1

原创 linux环境常用配置

1.vim(1)快捷键 gg 开始 shift + g 末尾 ctrl+f 下页 ctrl+u 上页(2)配置项set syntax=onset fenc=utf-8 set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk2312,cp936set nocpset numberset tabstop=4set rulerset incsearc

2016-08-29 16:06:16 904

原创 优秀blog

1.wxie的Linux人生 http://blog.csdn.net/Tommy_wxie/article/list/22.audio http://blog.csdn.net/droidphone?viewmode=contents3.蜗窝科技 http://www.wowotech.net/sort/pm_subsystem4.Innost的专栏 http://blog.csdn.ne

2016-08-25 16:42:21 720 2

原创 android note

1.重要的property属性 #define ANDROID_RB_PROPERTY "sys.powerctl" // 控制启动状态 property_set(ANDROID_RB_PROPERTY, "shutdown,&quot

2016-08-02 16:02:17 6242

原创 linux kernel note

1.?????v1#define CHARGER_PRINT(fmt,arg...) printk(" "fmt"\n",##arg)v2 #define CHARGER_PRINT(fmt,arg...) printk(" "fmt"\n

2016-08-02 14:49:13 3034 1

转载 ramdump crash工具

一.怎么抓取kernel ramdump 1.手机准备到代码的根目录 执行python vendor/xiaomi/securebootsigner/Qualcom...

2020-04-15 22:43:14 2613 1

转载 谈谈Linux下动态库查找路径的问题

<p></p> </div> <div class="Blog_wz1" style="word-wrap: break-word;"> <span style="font-size:16px;">&

2019-02-12 10:53:09 458

原创 解决挂载ext4格式文件系统错误 JBD2: Unrecognised features on journal问题

1.mount demo.img /mntdmesg 报如下错误[1479130.280508] JBD2: Unrecognised features on journal[1479130.280512] EXT4-fs (loop1): error loading journal2.原因出现该问题主要是由于host上新版的mkfs.ext4工具在制作镜像时部分默认的特性在orang...

2019-01-14 15:36:10 2714

转载 内核current宏解析

内核 current宏解析 Technorati 标签: current thread_info      在内核中,可以通过current宏来获得当前执行进程的task_struct指针。现在来简要分析以下:      最原始的定义如下: #define...

2018-12-28 10:25:26 673

转载 virtio pci设备基础

这段时间又再次revisit了一把virtio,把笔记整理一下贴出来,大部分内容都是网上找的,+上我个人的一些理解在里面我们首先关注virtio设备的配置空间,virtio设备本身是基于PCI总线的,因此本质上就是一个PCI设备,和所有其他PCI设备一样,virtio也有自己的vendor ID 0x1AF4,device ID从0x...

2018-12-24 17:13:08 3026 1

转载 virtio前端机制详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_15437629/article/details/82084470 Virtio 基本概念KVM是必须使用硬件虚拟化辅助技术(如Intel VT-x、AMD-V...

2018-11-20 15:16:21 2881

转载 高通Quick Charge快速充电原理分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zoosenpin/article/details/29799709 1 QC2.01.1 高通Quick Charge 2.0 快速充电原理分析高通的QC2.0快...

2018-10-26 09:51:22 7962

转载 Qcom Platform开机流程概述

前言高通芯片平台种类众多涵盖低端到高端的各种档次种类繁多:低端有诸如8909,中端有8916、8929、8937等,高端的有8953、8953、8953pro、8993,8996、8996pro。从存储介质上讲,从早期emmc慢慢发展到emcp最终由向ufs转化的趋势,运行位数更是从早期的32位全体过渡到64位地址总线...

2018-08-07 11:29:58 2490

原创 在线工具

在线UML工具 : https://www.draw.io/

2018-07-31 20:23:35 298

原创 qcom charger

1.充电类型The four power source types that are detected are:1. Standard downstream port (SDP)– This is a computer USB port capable of USB 1.1 (100 mA), USB 2.0 (100/500 mA), or USB 3.0 (150/900 mA). ...

2018-02-09 10:37:13 7654

原创 充电类型一二次检测过程及充电类型

1. Primary DetectionD+被vdp_src拉高(一般为0.6v);此时检测D-的电压值:将 D- 与vdat_REF(一般为0.4v)比较,若大于则表示高,则可能的充电类型为 DCP (dp、dm短接)或者CDP (需要secondary detection进一步确认) 2.Secondary DetectionD-被vdm_src拉高;此时检测D+的电压值,将其与

2018-01-12 11:28:30 2288 1

转载 USB BC1.2的三种端口

BC1.2规范简要规定了三种不同类型的USB端口和两种关键对象。“充电”端口是可提供500mA以上电流的端 口;“下行”端口按照USB 2.0规范传输数据。BC1.2规范也确定了每个端口应如何向终端设备枚举,以及识别应用 端口类型的协议。         三种USB BC1.2端口类型为SDP、DCP和CDP 。 BC1.2的三种端口            ● 标准下行端口(SDP)

2018-01-12 09:59:59 4799

转载 Battery Charging Specification, Revision 1.2, December 7, 2010 中文

Battery Charging SpecificationRevision 1.2December 7, 20102014.04.03 Rev0.1转载请注明转自:http://blog.csdn.net/liglei1. Introduction  第一章 简介1.1 Scope    适用范围规范定义了设备通过USB端口充电的检测、控制和报告机制,这些机制是USB2.0

2018-01-12 09:57:01 2180

原创 mtk charger

// xxx_tb_xxx_n_bat_setting.dtsibat_comm: bat_comm {... usb_charger_current = <50000>; /* Unit: 0.01 mA */ ac_charger_current = <100000>; /* Unit: 0.01 mA */ };// select_jeita_c

2017-12-22 14:51:46 2372

转载 MTK Battery系统

MTK方案的电池充电过程分为预充、恒流充电(CC模式)、恒压充电(CV模式)三种模式,整个充电过程如下充电状态图所示:        从充电状态图看出来,刚开始充电的时候,代码先判断是插USB充电还是插ac充电,电池在进入充电阶段分为快速充电、CC(恒流充电)、CV(恒压充电)。而从CC模式切换到CV模式在代码中的alps/mediatek/kernel/drivers/power/l

2017-12-21 16:27:47 1935

转载 在linux内核中 读写上层文件

在VFS的支持下,用户态进程读写任何类型的文件系统都可以使用read和write着两个系统调用,但是在linux内核中没有这样的系统调用我们如何操作文件呢?我们知道read和write在进入内核态之后,实际执行的是sys_read和sys_write,但是查看内核源代码,发现这些操作文件的函数都没有导出(使用EXPORT_SYMBOL导出),也就是说在内核模块中是不能使用的,那如何是好?通过查

2017-10-17 14:59:04 629

转载 关于中断处理程序中的关中断函数disable_irq和disable_irq_nosync

disable_irq关闭中断并等待中断处理完后返回, 而disable_irq_nosync立即返回. 那么在中断处理程序中应该使用哪一个函数来关闭中断呢?在中的按键驱动中, 使用disable_irq来关闭中断, 但是我在测试时进入中断后系统会死在中断处理程序, 而改为disable_irq_nosync则能正常退出中断处理程序.下面从内核代码来找一下原因:先看一下disable_ir

2017-10-09 14:43:36 2142

原创 android log 关键字

记录下常用的log关键字1.windowmanager接收到全局按键 WindowManager: interceptKeyTq keycode=26 interactive=false keyguardActive=true policyFlags=2000000 WindowManager: interceptKeyTq keycode=26 interactive=false keyguar

2017-09-30 10:43:24 1372

转载 PowerManager的用法分析

在分析PMS的工作原理之前,我们先来分析下PowerManager的用法[java] view plain copyprint?PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);    PowerManager.WakeLock wl = pm.newWake

2017-09-30 09:18:59 1864

原创 adsp gsensor 校准失败问题

1.校准接口工模调用 SensorUserCal.performUserCal 方法进行校准 (import com.qualcomm.qti.sensors.core.sensortest.SensorUserCal; )2.根据打印log解决问题关键字 : “user_cal_algo|sensor_user_cal”diff --git a/vendor/qcom/proprietary/

2017-09-06 17:07:15 1489

转载 MSM RF Driver Configuration

1、原理MSM/MDM+WTR RF Frontend(MIPI)结构    2、MIPI ASM CustomizationReference80-NG377-1_A_MIPI_Device_Customization.pdf添加或者修改天线开关设备。 2.1 Step1 ASM设备驱动文件路径:/modem_proc/rfdevice

2017-08-29 15:25:13 2568

原创 sysfs attr

1. dev->kobj 下面创建属性方法一:static inline int __must_check sysfs_create_file(struct kobject *kobj, const struct attribute *attr)方法二:就是方法一的封装int device_create_file(struct device *dev, const st

2017-08-25 14:24:10 600

原创 linux device

struct device.kobj.name // device namestruct device->driver_data void dev_set_drvdata(struct device *dev, void *data) void dev_get_drvdata(struct device *dev, void *data)str

2017-08-25 10:12:47 343

原创 uevent 事件上报demo

1.驱动上报diff --git a/kernel/msm-3.18/drivers/input/touchscreen/ft8006u/focaltech_core.c b/kernel/msm-3.18/drivers/input/touchscreen/ft8006u/focaltech_core.cindex 990e636..8fbdb8c 100644--- a/kernel/msm

2017-08-24 17:17:49 2054

转载 linux ALSA & ASOC (3) — widget 、route

目录(?)[+]DAPM的基本单元widgetwidget的种类widget之间的连接器pathwidget的连接关系route上一篇文章中,我们介绍了音频驱动中对基本控制单元的封装:kcontrol。利用kcontrol,我们可以完成对音频系统中的mixer,mux,音量控制,音效控制,以及各种开关量的控制,通过对各种kcontrol的控制,使得音频硬件能够按照我们预

2017-08-23 16:17:22 1597

转载 notifier chain — 内核通知链

大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生的事件感兴趣。为了满足这个需求,也即是让某个子系统在发生某个事件时通知其它的子系统,Linux内核提供了通知链的机制。通知链表只能够在内核的子系统之间使用,而不能够在内核与用户空间之间进行事件的通知。通知链表是一个函数链表,链表上的每一个节点都注册了一个函数。当某个事情发生时,链表上所有节点对应的函数就会被执行。所以对于通知链表来说

2017-08-22 16:31:16 826

转载 linux gpio 控制 基于 sysfs

简介    相信大家在进行嵌入式linux设备开发时,会多或少都会涉及到对gpio的控制。以前通用的方式是在内核中增加一个gpio驱动,然后再在上端条用它从而实现对gpio的控制。    今天我给大家介绍一个简单的方式(不用写代码)用以控制gpio。该方式主要基于内核提供的gpio控制接口文件。也就是通过读写/sys/class/gpio目录下的文件来控制对应的gpio接口。 

2017-08-10 09:46:02 1246

转载 qcom modem 名词缩写

ASM: Antenna switch matrix 天线开关模块AGC :Automatic gain control  ,自动增益控制APT :Average power tracking 平均电源开关CDMA :Code division mutiple access  ,码分多址RFC: RF cardMPSS :*这个单词不知道,估计整个词翻译都有问题~~*

2017-08-07 14:37:23 811

转载 qcom rf 硬件连接

RF总体的连接图如下左边为天线开关模块跟功放的集成体,如RF360,QFE23XX,SKYXXXX                                                  下边以SKY简称中间的WTR4X05作用:射频收发器,工作过程为(基带信号上/下变频滤波放大信号)    下边以WTR简称最右边modem_ic指处理器芯片,我们这里可以假设为高通的MS

2017-08-07 14:35:17 1650

转载 《Android深入透析》之常用设计模式经验谈

前言: Android开发的设计模式,基本设计思想源于java的设计模式,java的设计模式有N多种,据不完全统计,迄今为止,网络出现最频繁的大概有23种。Java只是一门开发语言,学会并掌握这门语言进行代码编写,这是每个程序员必修的课程,但如何写出高质量、易维护和复用性强的代码,那就体现出程序员的层次和水平了。设计模式的出现就是为了解决这些问题。 开始学习设计模式的

2017-07-27 16:22:29 258

转载 linux pinctrl 配置

Linux内核中的pinctrl子系统应用实例主要函数struct pinctrl *devm_pinctrl_get(struct device *dev)pinctrl_lookup_state //寻找一个pin的配置pinctrl_select_state // 设置选择一个pin的配置由于近期在做一个项目用到了p

2017-07-25 14:51:33 10478 4

转载 asoc 如何定义各种widget、route

上一节中,介绍了DAPM框架中几个重要的数据结构:snd_soc_dapm_widget,snd_soc_dapm_path,snd_soc_dapm_route。其中snd_soc_dapm_path无需我们自己定义,它会在注册snd_soc_dapm_route时动态地生成,但是对于系统中的widget和route,我们是需要自己进行定义的,另外,widget所包含的kcontrol与普通的k

2017-07-04 17:23:26 1021

转载 asoc widget path route(audio_map)

上一篇文章中,我们介绍了音频驱动中对基本控制单元的封装:kcontrol。利用kcontrol,我们可以完成对音频系统中的mixer,mux,音量控制,音效控制,以及各种开关量的控制,通过对各种kcontrol的控制,使得音频硬件能够按照我们预想的结果进行工作。同时我们可以看到,kcontrol还是有以下几点不足:只能描述自身,无法描述各个kcontrol之间的连接关系;没有相应的

2017-07-04 16:55:59 519

转载 DBI接口与DPI接口与DSI接口

(1)DBI接口       A,也就是通常所讲的MCU借口,俗称80 system接口。The lcd interface between host processor and LCM device list as below,The LCM driver will repeated update panel display。MCU借口通过并行接口传输控制命令和数据,并通过往LCM模组自带的

2017-06-26 10:40:37 678

转载 Virtualbox 启用USB 设备支持

VirtualBox 默认不支持USB设备接入,所以此处分三步,添加支持。1.VirtualBox 使用宿主机的USB设备需要安装扩展包。根据自己的vbox的版本,到vbox官网下载对应的扩展包。下载完毕后,在“管理”菜单下的“全局设定”里的“扩展”标签下,加入、启用即可。如图: 2.打开虚拟系统设置,在“USB设备”标签下,勾选上"启用USB控制器"以及"2.

2017-06-22 14:27:30 14803 3

qcom PSY framwork &drv

qcom PSY framwork &drv

2016-08-26

qcom lcd framwork 时序图

qcom lcd framwork 时序图

2016-08-15

qcom lcd framwork

qcom lcd framwork

2016-08-15

ASOC/ALSA framwork框图

ASOC框图

2016-08-02

runtime PM

runtime PM

2016-08-01

linux字符设备驱动模型

linux字符设备驱动模型

2014-03-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除