自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (2)
  • 收藏
  • 关注

原创 MTK ubuntu 使用SP Flash Tool

[DESCRIPTION]QT FlashTool can not flash under ubuntu14.04, while under windows XP/7/8.1 and ubuntu 12.04/10.04 it’s ok.For now, QT flashtool can flash under ubuntu 10.04/12.04/14.04, and the windows...

2019-03-27 17:27:37 2050

原创 WiredAccessoryManager(有线辅助管理器)

1 音频外设状态要对音频外设进行管理,所以我们必须明确当前Andorid系统支持的外设设备有哪些。当前是通过一个整型变量去针对不同的音频外设进行标志与表示。任何可用的音频外设在这个整型变量中用1个二进制的标志为去表示。具体的音频表示如下:WiredAccessoryManager: newName=h2w newState=2 headsetState=2 prev headsetState...

2018-09-25 20:32:32 2319

原创 GO web

下载《Go Web 编程》的配套源码: https://github.com/sausheong/gwp一  、直接下载压缩包:在项目处点击弹出选择保存路径,下载完毕解压,用工具打开便可以研究学习。二 、用git版本控制工具命令下载:1、和上面一样,先点击 Clone or download 弹出这是该项目地址。2、打开git,进入要存放该项目代码的git目录。...

2018-09-19 11:19:37 383

原创 android wlan bt 和gps小工具使用

//命令行测试wlan //加载驱动#insmod /system/lib/modules/wlan.ko //root 权限#iwpriv wlan0 version //查看固件等信息#iwpriv wlan0 getChannelList //wifi信道查看方法 #iw reg get // 强度#ifconfig wlan0 up#ifconfig wla

2017-07-25 14:38:27 1221

原创 android HAL层代码

AudioFlinger往hal层写数据时会调用到Hal层的out_write函数在打开pcm stream设备的时候会调用到select_device和pcm_open函数enable_snd_device和 enable_audio_route函数 打开设备通路的流程:int select_devices(struct audio_device *adev, audio_usecase_t u

2017-07-24 23:04:15 2267

原创 msm8x16 耳机阻抗检测

耳机插入后中断相应,在wcd_mbhc_report_plug上报的时候可以读取阻抗动态,动态的提高驱动能力。static void wcd_mbhc_report_plug(struct wcd_mbhc *mbhc, int insertion, enum snd_jack_types jack_type){ struct snd_soc_codec *

2017-07-21 18:37:11 1969

原创 高通WIFI GPS 测试demo

Android.mkLOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_SRC_FILES := \ wifi.cLOCAL_CFLAGS += -DCONFIG_LIBNL20# Silence some warnings for now. Needs to be fixed upstream. b/26105799LOCAL_CFL

2017-07-20 17:32:56 1755

原创 高通ffbm的一些问题随笔记 7 19

1.进入ffbm:echo ffmb-01 misc.img fastboot flash misc misc.img fastboot reboot2.iw使用root权限, insmod /system/lib/modules/wlan.ko ifconfig wlan0 up iw dev wlan0 scan ifconfig wlan0 down rmmod wlan3.iw

2017-07-19 17:06:47 1060

原创 高通音乐播放的音量调试和FM 音量调试

Modify codes as shown in below:const AudioPolicyManagerBase::VolumeCurvePointAudioPolicyManagerBase::sSpeakerMediaVolumeCurve[AudioPolicyManagerBase::VOLCNT]= {-{1, -56.0f}, {20, -34.0f}, {60, -11.0

2017-07-19 08:18:24 3134

原创 PM8916 Codec Hardware Multibutton Headset Control (MBHC)

这个是NC和NO的区别在det脚的初始的状态。 qcom,msm-mbhc-hphl-swh = <0>; 拉低中断, 简单的理解就是低电平检测还是高电平检测 static const struct wcd_mbhc_intr intr_ids = { .mbhc_sw_intr = MSM8X16_WCD_IRQ_MBHC_HS_DET, .mbhc_btn_pr

2017-07-18 01:31:29 3476

原创 alsa 音频配置 7 16

在sound/soc/codecs目录中有很多音频codec的codec驱动;这里个驱动文件中定义了很多widget和control,alsa在playback或record的时候,sound/soc/soc-dapm.c中的dapm_power_widgets函数会根据“配置情况”打开相应的widget,搭建一个完整的音频路径,只要该路径搭建成功,就可以正常工作; sound/soc/codec

2017-07-17 06:32:31 1261

原创 kernel的属性文件到android的java的读取(7 14)

1.实现的原因,kernel与android的上层的简单文件交互。 2.实现的原理,kernel写文件,android的app层读取。kernel中实现属性文件:static struct class *myusb_class = NULL;static dev_t myusb_devno;struct device *myusb_dev = NULL;static int usb_flag

2017-07-14 23:37:23 929

原创 linux alsa笔记 widget建立dapm kcontrol 7 13

1.widget建立dapm kcontrol定义一个widget,我们需要指定两个很重要的内容:一个是用于控制widget的电源状态的reg/shift等寄存器信息,另一个是用于控制音频路径切换的dapm kcontrol信息,这些dapm kcontrol有它们自己的reg/shift寄存器信息用于切换widget的路径连接方式。创建了widget的实例,并把它们注册到声卡的widgts链表中,

2017-07-14 01:24:33 676

原创 linux alsa笔记 widget 7-12

1. ASoc中对Codec的数据抽象 描述Codec的最主要的几个数据结构分别是:snd_soc_codec、snd_soc_codec_driver、snd_soc_dai、snd_soc_dai_driver、其中snd_soc_dai和snd_soc_dai_driver在ASoc的Platform驱动中也会使用到,Platform和Codec的DAI通过snd_soc_dai_link

2017-07-12 23:26:10 478

原创 音频驱动—7-11

dts的解释通路的调试参考高通的bring up的方法MIC_IN1_M MIC_IN1_P MIC_IN2_M 耳机的GND MIC_IN2_P 耳机的MIC mic分为硅MIC和柱体MIC MIC_BIAS1 主mic MIC_BIAS2 耳机MIC 偏置就是为放大电路提供适合的静态工作点。 由于mic产生的模拟电压是很小的,所以codec需要将信号放

2017-07-11 18:59:58 932

原创 sensor_class.c驱动文件看看

没啥追求!代码猛貼不止,呵呵。。

2016-10-28 18:00:36 1202

原创 ST480的驱动分析(三轴磁力计ST480MC)

以下的纯粹是无聊的写着玩!

2016-10-28 15:55:01 3241

原创 linux下的/dev/mem设备认识和使用

最近在为了读取一个寄存器的值动心思时,突然发现,一个好用的工具”r”,源码

2016-10-27 17:42:40 8915

原创 无名管道的pipe的demo

无名管道

2016-10-26 17:04:34 300

原创 FFBM 的设计于实现

关机工模,厂测的工具。

2016-10-24 16:33:49 2638 1

原创 qt/QT安装指导

QT 的安装包与指导qt-everywhere-opensource-src-4.7.3.tar.bz2 qt-creator-opensource-linux-x86-3.5.0.run

2016-09-29 14:38:52 382

转载 android 设备树中的devices_node的数据获取

android/linux下devicetree中常用的of函数

2016-09-28 15:32:26 3526 1

转载 Linux内核的开始main.c

linux mian.c

2016-09-18 10:20:16 3565 1

原创 (最新内核3.4)Linux 设备树加载I2C client adapter 的流程(内核3.4 高通)

(最新内核3.4)Linux 设备树加载I2C client adapter 的流程(内核3.4 高通)

2016-09-14 16:52:57 5443

原创 Linux加载DTS设备节点的流程(高通一)

ARM : 一. 启动条件 通常从系统上电执行的boot loader的代码, 而要从boot loader跳转到linux kernel的第一条指令处执行需要一些特定的条件。 这里讨论下进入到linux kernel时必须具备的一些条件,这一般是boot loader在跳转到kernel之前要完成的: 1. CPU必须处于SVC(supervisor)模式,并且IRQ

2016-09-12 10:17:21 2119

原创 Android/Linux I2C 的驱动框架

在我刚开始接触I2C是在单片机,通信协议就不说了,芯片的I2C adapter(适配器),这是硬件相关,所以可以理解为它是芯片固定的硬件功能。core层的通用API函数,在linux中,无处不体现这种设计的思想,比如,我们在驱动中最常见的file_operations的数据结构,我们只要实现它的各种具体的功能就可以了,比如:open ,write ,read,等。至于用户,他们只需要按照file的

2016-09-08 15:39:38 1729 1

原创 linux input系统的分析笔记(一)

linux input的学习

2016-09-06 17:32:36 1601

原创 android SD卡的热插拔实现,及调试

linux/android 的sd驱动分析

2016-09-01 14:16:11 7370

原创 android 关机充电 充电动画 从入门到精通

android手机关机充电的过程就像一个我们看到的一样,插上充电接口->手机启动->屏幕进入log画面->再进入充电动画界面。稍微有点开发经验的就可以大致了解到它的启动经历了从bootloader->kernal->充电动画应用。所以我们可以先分析下在bootloader的状态获取。APP_START(aboot) .init = aboot_init,在aboot_init 中可以就

2016-08-17 15:47:01 6439 1

转载 c++迭代器(iterator)

迭代器(iterator)是一中检查容器内元素并遍历元素的数据类型。 (1) 每种容器类型都定义了自己的迭代器类型,如vector: vector::iterator iter;这条语句定义了一个名为iter的变量,它的数据类型是由vector定义的iterator类型。 (2) 使用迭代器读取vector中的每一个元素: vector ivec(10,1); for(vector::it

2016-08-10 17:39:31 372

转载 c ++ vector

Vectors vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。为了可以使用vector,必须在你的头文件中包含下面的代码: #include <vector> 构造函数。

2016-08-10 17:21:11 11701

原创 c++中的Queue List

在实际的c++应用中数据的插入和删除通过list的这个类很好的管理。它的头文件#include <list> 可惜我说的是list的实现机理,不是鱼的产品,我是授渔的。 1.在C++中采用了大量的标志模板库(STL)实现程序的设计,这种设计方式使得不同类型的对象都能通用,而不再是C语言中的通常对于不同的类型需要重新设计或者或者比较采用间接的指针操作。C++中的这种方式简化了写代码的复杂度,但是

2016-08-10 16:13:44 1430

原创 linux 本地socket通信

linux 本地socket通信在linux中的进程间通信,不仅仅有消息队列,共享内存,管道,等! 本地socket也是不错的机制,效率只比消息队列低一点。#include <ctype.h>#include <dlfcn.h>#include <dirent.h>#include <errno.h>#include <fcntl.h>#include <inttypes.h>#inc

2016-08-10 11:05:46 1609 1

原创 fastboot cmd 分析

fastboot cmd 分析usage: fastboot ”option” “command“ commands: update <filename> reflash device from update.zip flashall "flash boot" + "flash system" flash <partition> [ <filename> ] write

2016-08-05 10:23:26 2902

原创 TI am3352 gpio 驱动

最近用到了am3352 linux gpio 的驱动贴出来一起共勉。有瑕疵请留言哦。#include #include #include #include #include #include #include #include #include #include #include #include #include #include #incl

2016-01-05 13:50:09 1360

原创 error: field ‘?’ has incomplete type

问题简单,注意结构体嵌套后,排序问题。类似于函数一样,先申明在使用。

2015-12-17 11:38:33 2312 3

原创 json移植到ARM板

工具有:jsoncpp-src-0.5.0.tar.gz     arm工具链   测试程序sudo apt-get install scons       可惜没有使用,tar xvf  jsoncpp-src-0.5.0.tar.gz资源包   http://pan.baidu.com/s/1dDpwfeT编译arm下使用的动态库由于不会使用scons最后还是自

2015-11-04 09:27:40 1664

原创 java

方法的重载:overload 实现类的同一种功能的多种实现方式,到底采用哪些方法是取决于调用者 给出的参数。 注意事项: 方法名相同, 方法的参数类型、数量、类型顺序、至少有一项不同。 但是返回的类型不同、方法的修饰符不同、并不能构成方法的重载。方法的覆盖:override 子类对父类的方法重写。 注意事项: 子类的方法与父类的方法名称、返回类型、参数完全一样; 否则编译出错,那

2015-06-10 21:21:52 514

原创 java的四大特征

抽象: 我们去定义一个类的时候,实际就是把一类的事物的公共的属性和行为提取出来,形成一个物理的模型。 封装: 把抽象出来的数据和对数据的操作封装在一起,数据被保护在内部,程序的其他部分只有通过授权的操作(成员方法);才能对数据进行操作。(尽可能的将数据私有化),{ public;公开(不同包) protected;保护(子类) 默认(同包) privat

2015-06-09 21:37:19 1843

原创 java 类变量

类方法中不能访问非静态的变量; 静态方法不能访问非静态的变量; 静态方法可以访问静态的变量; 非静态的方法可以访问静态变量也可以访问非静态变量;

2015-06-09 19:42:26 397

两张BMP图片合成一张

两张BMP图片合成一张

2016-08-05

天翼宽带客服端

好用上网的必须用,我也是天天用,你也会喜欢上它的

2013-10-06

空空如也

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

TA关注的人

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