- 博客(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 2093
原创 WiredAccessoryManager(有线辅助管理器)
1 音频外设状态要对音频外设进行管理,所以我们必须明确当前Andorid系统支持的外设设备有哪些。当前是通过一个整型变量去针对不同的音频外设进行标志与表示。任何可用的音频外设在这个整型变量中用1个二进制的标志为去表示。具体的音频表示如下:WiredAccessoryManager: newName=h2w newState=2 headsetState=2 prev headsetState...
2018-09-25 20:32:32 2355
原创 GO web
下载《Go Web 编程》的配套源码: https://github.com/sausheong/gwp一 、直接下载压缩包:在项目处点击弹出选择保存路径,下载完毕解压,用工具打开便可以研究学习。二 、用git版本控制工具命令下载:1、和上面一样,先点击 Clone or download 弹出这是该项目地址。2、打开git,进入要存放该项目代码的git目录。...
2018-09-19 11:19:37 394
原创 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 1241
原创 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 2293
原创 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 1997
原创 高通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 1773
原创 高通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 1071
原创 高通音乐播放的音量调试和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 3156
原创 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 3502
原创 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 1276
原创 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 943
原创 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 685
原创 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 487
原创 音频驱动—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 957
原创 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 388
原创 (最新内核3.4)Linux 设备树加载I2C client adapter 的流程(内核3.4 高通)
(最新内核3.4)Linux 设备树加载I2C client adapter 的流程(内核3.4 高通)
2016-09-14 16:52:57 5475
原创 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 2139
原创 Android/Linux I2C 的驱动框架
在我刚开始接触I2C是在单片机,通信协议就不说了,芯片的I2C adapter(适配器),这是硬件相关,所以可以理解为它是芯片固定的硬件功能。core层的通用API函数,在linux中,无处不体现这种设计的思想,比如,我们在驱动中最常见的file_operations的数据结构,我们只要实现它的各种具体的功能就可以了,比如:open ,write ,read,等。至于用户,他们只需要按照file的
2016-09-08 15:39:38 1745 1
原创 android 关机充电 充电动画 从入门到精通
android手机关机充电的过程就像一个我们看到的一样,插上充电接口->手机启动->屏幕进入log画面->再进入充电动画界面。稍微有点开发经验的就可以大致了解到它的启动经历了从bootloader->kernal->充电动画应用。所以我们可以先分析下在bootloader的状态获取。APP_START(aboot) .init = aboot_init,在aboot_init 中可以就
2016-08-17 15:47:01 6484 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 382
转载 c ++ vector
Vectors vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。为了可以使用vector,必须在你的头文件中包含下面的代码: #include <vector> 构造函数。
2016-08-10 17:21:11 11720
原创 c++中的Queue List
在实际的c++应用中数据的插入和删除通过list的这个类很好的管理。它的头文件#include <list> 可惜我说的是list的实现机理,不是鱼的产品,我是授渔的。 1.在C++中采用了大量的标志模板库(STL)实现程序的设计,这种设计方式使得不同类型的对象都能通用,而不再是C语言中的通常对于不同的类型需要重新设计或者或者比较采用间接的指针操作。C++中的这种方式简化了写代码的复杂度,但是
2016-08-10 16:13:44 1443
原创 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 1631 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 2918
原创 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 1366
原创 error: field ‘?’ has incomplete type
问题简单,注意结构体嵌套后,排序问题。类似于函数一样,先申明在使用。
2015-12-17 11:38:33 2343 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 1678
原创 java
方法的重载:overload 实现类的同一种功能的多种实现方式,到底采用哪些方法是取决于调用者 给出的参数。 注意事项: 方法名相同, 方法的参数类型、数量、类型顺序、至少有一项不同。 但是返回的类型不同、方法的修饰符不同、并不能构成方法的重载。方法的覆盖:override 子类对父类的方法重写。 注意事项: 子类的方法与父类的方法名称、返回类型、参数完全一样; 否则编译出错,那
2015-06-10 21:21:52 521
原创 java的四大特征
抽象: 我们去定义一个类的时候,实际就是把一类的事物的公共的属性和行为提取出来,形成一个物理的模型。 封装: 把抽象出来的数据和对数据的操作封装在一起,数据被保护在内部,程序的其他部分只有通过授权的操作(成员方法);才能对数据进行操作。(尽可能的将数据私有化),{ public;公开(不同包) protected;保护(子类) 默认(同包) privat
2015-06-09 21:37:19 1858
原创 java 类变量
类方法中不能访问非静态的变量; 静态方法不能访问非静态的变量; 静态方法可以访问静态的变量; 非静态的方法可以访问静态变量也可以访问非静态变量;
2015-06-09 19:42:26 406
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人