<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[fdaopeng的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/fdaopeng</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fdaopeng]]></copyright><item><title><![CDATA[YouCompleteMe unavailable : requires Vim 7.4.143]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/53326012</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/53326012</guid><author>fdaopeng</author><pubDate>Thu, 24 Nov 2016 20:51:15 +0800</pubDate><description><![CDATA[sudo add-apt-repository ppa:jonathonf/vim
sudo apt-get update && sudo apt-get upgrade]]></description><category></category></item><item><title><![CDATA[MEMS Industry Group]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/53196434</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/53196434</guid><author>fdaopeng</author><pubDate>Thu, 17 Nov 2016 10:17:10 +0800</pubDate><description><![CDATA[https://github.com/memsindustrygroup]]></description><category></category></item><item><title><![CDATA[android系统属性的使用]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/41549663</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/41549663</guid><author>fdaopeng</author><pubDate>Thu, 27 Nov 2014 18:13:22 +0800</pubDate><description><![CDATA[一 Property系统的属性名称

Property系统中使用的属性名称有一定的命名规则。我们所设置的属性名称hw.akm.resetdoe会与system/core/init/property_service.c中的结构体property_perms中的前缀做比较，如果满足，则又会比较uid。

从源代码可知结构体property_perms的定义如下：



struct {]]></description><category></category></item><item><title><![CDATA[ubuntu14.04环境搭建]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/40480395</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/40480395</guid><author>fdaopeng</author><pubDate>Sun, 26 Oct 2014 20:58:51 +0800</pubDate><description><![CDATA[https://www.codeaurora.org/xwiki/bin/QAEP/
版本：ubuntu14.04
1 添加源：
Ubuntu 官方更新服务器（欧洲，此为官方源，国内较慢，但无同步延迟问题，电信、移动/铁通、联通等公网用户可以使用)：
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe]]></description><category></category></item><item><title><![CDATA[Linux之pre-cpu变量]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/38512357</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/38512357</guid><author>fdaopeng</author><pubDate>Tue, 12 Aug 2014 11:14:58 +0800</pubDate><description><![CDATA[在Linux系统中，per-cpu变量用在SMP系统中，用来为每个cp]]></description><category></category></item><item><title><![CDATA[LINUX-smp]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/38512307</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/38512307</guid><author>fdaopeng</author><pubDate>Tue, 12 Aug 2014 11:01:15 +0800</pubDate><description><![CDATA[在SMP系统中：
获取当前活动cpu的ID：int cpu = smp_processor_id();]]></description><category></category></item><item><title><![CDATA[MTK-当修改一些代码时,使用什么编译命令可以最有效率]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/38382103</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/38382103</guid><author>fdaopeng</author><pubDate>Tue, 05 Aug 2014 10:55:01 +0800</pubDate><description><![CDATA[[SOLUTION]
1: ./mk n(r) kernel; ./mk bootimage;当修改build-in 到kernel相关代码时,要使用此命令,具体文件参考如下:
     alps/kernel/
     alps/mediatek/platform/mt65xx/kernel/
     alps/mediatek/source/kernel/
     alps/m]]></description><category></category></item><item><title><![CDATA[linxu 线程创建]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/38339137</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/38339137</guid><author>fdaopeng</author><pubDate>Fri, 01 Aug 2014 17:20:00 +0800</pubDate><description><![CDATA[例1：
static struct task_struct *pmic_thread_handle = NULL;]]></description><category></category></item><item><title><![CDATA[struct sockaddr_nl 结构体 由来、含义以及使用——获取Linux路由表]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/23739775</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/23739775</guid><author>fdaopeng</author><pubDate>Tue, 15 Apr 2014 10:01:31 +0800</pubDate><description><![CDATA[Linux 用户态与内核态的交互
  在 Linux 2.4 版以后版本的内核中，几乎全部的中断过程与用户态进程的通信都是使用 netlink 套接字实现的，例如iprote2网络管理工具，它与内核的交互就全部使用了netlink，著名的内核包过滤框架Netfilter在与用户空间的通 读，也在最新版本中改变为netlink，无疑，它将是Linux用户态与内核态交流的主要方法之一。它的通信依据是]]></description><category></category></item><item><title><![CDATA[Android使用socket使底层和framework通信]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/23684139</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/23684139</guid><author>fdaopeng</author><pubDate>Mon, 14 Apr 2014 15:52:30 +0800</pubDate><description><![CDATA[一般的native和framework的通信是通过jni，但是这一般只是framework调用native，native如果有消息要怎样通知上层呢？Android中GSP模块提供一种解决思路，但是实现有些复杂，这里介绍一种使用socket通信的方法可以使native和framework自由通信，具体实现如下：

android中使用jni对linux中的socket进行了封装。使用起来十分的方]]></description><category></category></item><item><title><![CDATA[如何在设置中默认打开EPO，AGPS功能以提高用户体验]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/15503247</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/15503247</guid><author>fdaopeng</author><pubDate>Tue, 12 Nov 2013 15:22:43 +0800</pubDate><description><![CDATA[平台：MT6589，MT6572
默认打开EPO,AGPS功能，以减少GPS定位时间，提高用户体验
做如下修改：
alps\mediatek\frameworks\base\agps\etc\agps_profiles_conf.xml
  
    agps_enable="no"  ==> 改成"yes"
    disable_after_reboot="no" ==> 保持"n]]></description><category></category></item><item><title><![CDATA[采用Fuel Gauge可能出现的几种电量现象及解释]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/8803996</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/8803996</guid><author>fdaopeng</author><pubDate>Mon, 15 Apr 2013 15:00:39 +0800</pubDate><description><![CDATA[首先应该熟悉两个变量，bat_volt_check_point是UI上面显示的值。
gFG_capacity_by_C,库仑计计算的电量值.也等于SOC的值.
公式 DOD1 = DOD0 + (-Car/Qmax).
DOD1对应当前的电量值.
DOD0对应初始的电量值.
Car 为t时间内, 流过Rfg电阻电流的电量.
Qmax为电池的容量.
下面几种情况会更新DOD0的值，]]></description><category></category></item><item><title><![CDATA[How to enter deep idle with USB plugged in (Used For Debugging)]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/8803821</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/8803821</guid><author>fdaopeng</author><pubDate>Mon, 15 Apr 2013 14:35:12 +0800</pubDate><description><![CDATA[有时在抓取dpidle state 信息的时候，如果通过ADB下命令，由于这时的USB 的clock 被拉起来，会阻止系统进入dpidle；所以
 
无法抓取到dpidle信息，这时为了debug的方便，可以使用如下命令bypass掉USB clock，就是说即使USB plug in，系统仍然可以
 
进dpidle：
 

–     echo enable 10  >/sys/]]></description><category></category></item><item><title><![CDATA[audiosystem之audio_track_cblk_t]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/8285650</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/8285650</guid><author>fdaopeng</author><pubDate>Wed, 12 Dec 2012 11:26:59 +0800</pubDate><description><![CDATA[audio_track_cblk_t这个结构是FIFO实现的关键，该结构是在createTrack的时候，由AudioFlinger申请相应的内存，然后通过IMemory接口返回AudioTrack的，这样AudioTrack和AudioFlinger管理着同一个audio_track_cblk_t，通过它实现了环形FIFO，AudioTrack向FIFO中写入音频数据，AudioFlinger从]]></description><category></category></item><item><title><![CDATA[AudioSystem::popCount]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/8282216</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/8282216</guid><author>fdaopeng</author><pubDate>Tue, 11 Dec 2012 14:12:31 +0800</pubDate><description><![CDATA[01.uint32_t AudioSystem::popCount(uint32_t u)  
02.{  
03.    u = ((u&0x55555555) + ((u>>1)&0x55555555));  
04.    u = ((u&0x33333333) + ((u>>2)&0x33333333));  
05.    u = ((u&0x0f0f0f0f) + ((u>>4]]></description><category></category></item><item><title><![CDATA[android-alsa架构]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/8278896</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/8278896</guid><author>fdaopeng</author><pubDate>Mon, 10 Dec 2012 16:39:29 +0800</pubDate><description><![CDATA[linux的alsa驱动层

在kernel/sound/core/pcm_native.c文件中的snd_pcm_f_ops是alsa驱动层对alsa_lib层的接口；

从Android的角度由下往上看：首先是cpp库层，然后是框架层，最后是java应用层。

库层分3部分：首先是硬件接口层AudioHardwareInterface，其派生类负责调用alsa_lib接口，形成re]]></description><category></category></item><item><title><![CDATA[Linux __setup解析]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/7895037</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/7895037</guid><author>fdaopeng</author><pubDate>Wed, 22 Aug 2012 11:45:25 +0800</pubDate><description><![CDATA[__setup这条宏在Linux Kernel中使用最多的地方就是定义处理Kernel的启动参数的函数及数据结构，宏定义如下：
#define __setup(str, fn) \
__setup_param(str, fn, fn, 0)

#define __setup_param(str, unique_id, fn, early) \
static char __setup_st]]></description><category></category></item><item><title><![CDATA[Android消息队列模型——Thread,Handler,Looper,Massage Queue]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/7863840</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/7863840</guid><author>fdaopeng</author><pubDate>Tue, 14 Aug 2012 11:05:53 +0800</pubDate><description><![CDATA[Android系统的消息队列和消息循环都是针对具体线程的，一个线程可以存在（当然也可以不存在）一个消息队列（Message Queue）和一个消息循环（Looper）。Android中除了UI线程（主线程），创建的工作线程默认是没有消息循环和消息队列的。如果想让该线程具有消息队列和消息循环，并具有消息处理机制，就需要在线程中首先调用Looper.prepare()来创建消息队列，然后调用Loope]]></description><category></category></item><item><title><![CDATA[Android AudioManager]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/7863318</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/7863318</guid><author>fdaopeng</author><pubDate>Tue, 14 Aug 2012 09:57:25 +0800</pubDate><description><![CDATA[本章内容是android.media.AudioManager　　
结构 
　　继承关系 
　　public class AudioManager extends Object 
　　java.lang.Object 
　　android.media.AudioManager 

　　类概述 
　　AudioManager类提供访问音量和振铃模式的控制。 
　　用Context.]]></description><category></category></item><item><title><![CDATA[可延迟函数、内核微线程以及工作队列]]></title><link>https://blog.youkuaiyun.com/fdaopeng/article/details/7391377</link><guid>https://blog.youkuaiyun.com/fdaopeng/article/details/7391377</guid><author>fdaopeng</author><pubDate>Sat, 24 Mar 2012 23:14:12 +0800</pubDate><description><![CDATA[http://www.ibm.com/developerworks/cn/linux/l-tasklets/?ca=drs-tp4608]]></description><category></category></item></channel></rss>