<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[andro_wei的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/andro_wei</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; andro_wei]]></copyright><item><title><![CDATA[A Coin Game]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/7684929</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/7684929</guid><author>andro_wei</author><pubDate>Fri, 22 Jun 2012 18:04:54 +0800</pubDate><description><![CDATA[Suppose you play the following game with your opponent:
There is a sequence of n coins with values v[1], v[2], …, v[n] in a queue which are known in advance. Now each player takes alternate turn to p]]></description><category></category></item><item><title><![CDATA[awk引用shell中变量的几种方法]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/6757265</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/6757265</guid><author>andro_wei</author><pubDate>Wed, 07 Sep 2011 16:27:21 +0800</pubDate><description><![CDATA[一:"'$var'"
这种写法大家无需改变用'括起awk程序的习惯,是老外常用的写法.如:
var="test"
awk'BEGIN{print "'$var'"}'
这种写法其实就是把一对单引号分成了两段单引号，中间的shell变量直接按照shell变量的引用方式即可，]]></description><category></category></item><item><title><![CDATA[u-boot命令处理机制]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/6659264</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/6659264</guid><author>andro_wei</author><pubDate>Thu, 04 Aug 2011 11:20:20 +0800</pubDate><description><![CDATA[<!--
@page
	{margin:2cm}
h3
	{margin-top:0.46cm;
	margin-bottom:0.46cm;
	line-height:173%;
	page-break-inside:avoid}
h3.western
	{f]]></description><category></category></item><item><title><![CDATA[【转】ARM9 2410移植之ARM中断原理, 中断嵌套的误区，中断号的怎么来的]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/6656808</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/6656808</guid><author>andro_wei</author><pubDate>Wed, 03 Aug 2011 14:21:35 +0800</pubDate><description><![CDATA[几天前一个学生问我ARM中断嵌套的问题，我才发现原在我心中理所当然的事对学生来说理解实属不易。
     ARM有七种模式，我们这里只讨论SVC、IRQ和FIQ模式。
     我们可以假设ARM核心有两根中断引脚（实际上是看不见的），一根叫 irq pin, 一根叫fiq]]></description><category></category></item><item><title><![CDATA[Linux驱动中，probe函数何时被调用]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/6589580</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/6589580</guid><author>andro_wei</author><pubDate>Thu, 07 Jul 2011 09:47:50 +0800</pubDate><description><![CDATA[Linux驱动中，probe函数何时被调用声明：以下主要内容参考自：关于struct device_driver结构中的probe探测函数的调用http://blog.chinaunix.net/u2/71164/showart.php?id=1361188用SourceInsi]]></description><category></category></item><item><title><![CDATA[静态连接时undefindereference错误原因及解决方法]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/6588957</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/6588957</guid><author>andro_wei</author><pubDate>Wed, 06 Jul 2011 20:56:34 +0800</pubDate><description><![CDATA[<!--
		@page { margin: 2cm }
		H2 { margin-top: 0.46cm; margin-bottom: 0.46cm; line-height: 173%; page-break-inside: avoid }
		H2.western {]]></description><category></category></item><item><title><![CDATA[对象文件格式分析工具: objdump, nm,ar]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/6587071</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/6587071</guid><author>andro_wei</author><pubDate>Wed, 06 Jul 2011 08:28:47 +0800</pubDate><description><![CDATA[前言如果普通编程不需要了解这些东西，如果想精确控制你的对象文件的格式或者你想查看一下文件对象里的内容以便作出某种判断，刚你可以看一下下面的工具：objdump, nm, ar。当然，本文不可能非常详细的说明它们的使用方法和功能。如果你觉得本文不够清楚，你可以使]]></description><category></category></item><item><title><![CDATA[Android Audio System 之一：AudioTrack如何与AudioFlinger交换音频数据]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/6573220</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/6573220</guid><author>andro_wei</author><pubDate>Tue, 28 Jun 2011 17:37:00 +0800</pubDate><description><![CDATA[引子AndroidFramework的音频子系统中，每一个音频流对应着一个AudioTrack类的一个实例，每个AudioTrack会在创建时注册到AudioFlinger中，由AudioFlinger把所有的AudioTrack进行混合（Mixer），然后输送到AudioHardware中进行播放，目前Android的Froyo版本设定了同时最多可以创建32个音频流，也就是说，M]]></description><category></category></item><item><title><![CDATA[Android Display System --- Surface Flinger]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/6570617</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/6570617</guid><author>andro_wei</author><pubDate>Mon, 27 Jun 2011 16:44:00 +0800</pubDate><description><![CDATA[SurfaceFlinger是Android multimedia的一个部分，在Android的实现中它是一个service，提供系统范围内的surface composer功能，它能够将各种应用程序的2D、3D surface进行组合。在具体讲SurfaceFlinger之前，我们先来看一下有关显示方面的一些基础知识]]></description><category></category></item><item><title><![CDATA[[转载]stagefright框架（四）-Video Buffer傳輸流程]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/6556775</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/6556775</guid><author>andro_wei</author><pubDate>Mon, 20 Jun 2011 17:18:00 +0800</pubDate><description><![CDATA[這篇文章將介紹Stagefright中是如何和OMX video decoder傳遞buffer。(1) OMXCodec會在一開始的時候透過read函式來傳送未解碼的data給decoder，並且要求decoder將解碼後的data傳回來status_t O]]></description><category></category></item><item><title><![CDATA[stagefright之OpenMax实现]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/6556318</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/6556318</guid><author>andro_wei</author><pubDate>Mon, 20 Jun 2011 15:05:00 +0800</pubDate><description><![CDATA[http://disanji.net/2011/03/07/stagefright-openmax0realization/ ]]></description><category></category></item><item><title><![CDATA[stagefright + omx小结]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/6555807</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/6555807</guid><author>andro_wei</author><pubDate>Mon, 20 Jun 2011 11:14:00 +0800</pubDate><description><![CDATA[看了将近1个多月的stagefright和OMX IL,感觉对框架有了一点感觉,趁感觉还在,记录下来和大家分享,由于本人也是刚开始看多媒体框架,有认识不当的地方还请务必指正.由于stagefright和openmax运行在两个不同的进程上,所以他们之间的通讯要经过openBinder进行处理,对openBinder这一块还没有了解,所以恕stagefright和openmax之间的]]></description><category></category></item><item><title><![CDATA[块设备驱动编写总结]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/6406410</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/6406410</guid><author>andro_wei</author><pubDate>Mon, 09 May 2011 14:06:00 +0800</pubDate><description><![CDATA[

简介：这是块设备驱动编写总结的详细页面，介绍了和linux,有关的知识、技巧、经验，和一些linux源码等。<br />前一段时间一直在Linux下搞块设备驱动的开发，实现了多个块设备模块，现将块设备驱动开发的一些方法总结一下。块设备与字符设备的区别<br />1、
从字面上理解，块设备和字符设备最大的区别在于读写数据的基本单元不同。块设备读写数据的基本单元为块，例如磁盘通常为一个sector，而字符设备的基
本单元为字节。所以Linux中块设备驱动往往为磁盘设备的驱动，但是由于磁盘设备的IO性]]></description><category></category></item><item><title><![CDATA[RamDisk块设备驱动实例开发讲解一]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/6406375</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/6406375</guid><author>andro_wei</author><pubDate>Mon, 09 May 2011 13:57:00 +0800</pubDate><description><![CDATA[扇区(Sectors)：任何块设备硬件对数据处理的基本单位。通常，1个扇区的大小为512byte。 
块(Blocks)：由Linux制定对内核或文件系统等数据处理的基本单位。通常，1个块由1个或多个扇区组成。 
段(Segments)：由若干个相邻的块组成。是Linux内存管理机制中一个内存页或者内存页的一部分。 <br />    页、段、块、扇区之间的关系图如下：<br /><br />综合上描述：块设备驱动是基于扇区(sector)来访问底层物理磁盘，基于块(block)来访问上层文件系统。扇区]]></description><category></category></item><item><title><![CDATA[Android-与Android IPC有关的问题]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/6387392</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/6387392</guid><author>andro_wei</author><pubDate>Tue, 03 May 2011 15:49:00 +0800</pubDate><description><![CDATA[<br />1.文件描述符是如何在进程之间传递的？<br />我们知道文件描述符，就像虚拟内存的地址一样，是进程私有的资源。在一个进程中文件描
述符，在另外一个进程中，可能是无效的，也可能是对应另外一个文件。
Android却可以把文件描述符从一个进程传到另外一个进程。第一次发现这种情况时，让我感到很惊奇，所以花了点时间去研究。看明白之后，发现其实现也
很简单：1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />]]></description><category></category></item><item><title><![CDATA[Android的IPC机制Binder的各个部分  ]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/6387074</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/6387074</guid><author>andro_wei</author><pubDate>Tue, 03 May 2011 14:16:00 +0800</pubDate><description><![CDATA[1. Binder的组成1.1. 驱动程序部分<br />驱动程序的部分在以下的文件夹中：show sourceview sourceprint?1kernel/include/linux/binder.h2kernel/drivers/android/binder.c<br />binder驱动程序是一个miscdevice，主设备号为10，此设备号使用动态获得（MISC_DYNAMIC_MINOR），其设备的节点为：show sourceview sourceprint?1/dev/binder/dev]]></description><category></category></item><item><title><![CDATA[ 如何撰寫自己的第一個核心服務呢?]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/6386579</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/6386579</guid><author>andro_wei</author><pubDate>Tue, 03 May 2011 11:02:00 +0800</pubDate><description><![CDATA[<br /><br />1. 要點：<br />l           核心服務通常在獨立的進程(Process)裡執行。<br />l           必須提供IBinder介面，讓應用程式可以進行跨進程的綁定(Binding)和呼叫。<br />l           因為共用，所以必須確保多線裎安全(Thread-safe)。<br />l           以C++類別定義，誕生其物件，透過SM之協助，將該物件參考值傳給IServiceManager::addService()函數，就加入到B]]></description><category></category></item><item><title><![CDATA[Java对象的强、软、弱和虚引用 ]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/6384388</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/6384388</guid><author>andro_wei</author><pubDate>Mon, 02 May 2011 13:28:00 +0800</pubDate><description><![CDATA[<br /><br />在JDK1.2以前的版本中，当一个对象不被任何变量
引用，那么程序就无法再使用这个对象。也就是说，只有对象处于可触及状态，程序才能使用它。这
就像在日常生活中，从商店购买了某样物品后，如果有用，就一直保留它，否则就把它扔到垃圾箱，由清洁工人收走。一般说来，如果物品已经被扔到垃圾箱，想再
把它捡回来使用就不可能了。<br /><br />
   
但有时候情况并不这么简单，你可能会遇到类似鸡肋一样的物品，食之无味，弃之可惜。这种物品现在已经无用了，保留它会占空间，但是立刻扔掉]]></description><category></category></item><item><title><![CDATA[Android IPC框架分析 Binder，Service，Service manager]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/6384214</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/6384214</guid><author>andro_wei</author><pubDate>Mon, 02 May 2011 11:28:00 +0800</pubDate><description><![CDATA[<br /><br />我首先从宏观的角
度观察Binder,Service,Service
Manager，并阐述各自的概念。从Linux的概念空间中，Android的设计Activity托管在不同的的进程，Service也都是托管在不
同的进程，不同进程间的Activity,Service之间要交换数据属于IPC。Binder就是为了Activity通讯而设计的一个轻量级的
IPC框架。<br />　　在代码分析
中，我发现Android中只是把Binder理解成进程间通讯的实现，有点狭隘，而]]></description><category></category></item><item><title><![CDATA[Android Binder设计与实现 - 设计篇]]></title><link>https://blog.youkuaiyun.com/andro_wei/article/details/6372534</link><guid>https://blog.youkuaiyun.com/andro_wei/article/details/6372534</guid><author>andro_wei</author><pubDate>Fri, 29 Apr 2011 17:08:00 +0800</pubDate><description><![CDATA[<br />Binder Android IPC Linux 内核驱动<br />摘要<br />Binder
是Android系统进程间通信（IPC）方式之一。Linux已经拥有管道，system V
IPC，socket等IPC手段，却还要倚赖Binder]]></description><category></category></item></channel></rss>