<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[在水一方]]></title><description><![CDATA[Love you forever!]]></description><link>https://blog.youkuaiyun.com/bdc995</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bdc995]]></copyright><item><title><![CDATA[Linux ACL 学习笔记]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/43151725</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/43151725</guid><author>bdc995</author><pubDate>Mon, 26 Jan 2015 13:55:50 +0800</pubDate><description><![CDATA[一、 为什么要使用ACL
先让我们来简单地复习一下Linux的文件权限。


在 linux下,对一个文件(或者资源)可以进行操作的对象被分为三类: file owner(文件

的拥有者),group(组,注意不一定是文件拥有者所在的组), other (其他)而对于每一类

别又分别定义了read, write and execute/search 权限 (这里不讨论SUID,]]></description><category></category></item><item><title><![CDATA[Android图像处理简介の图像存储和元数据]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/41543793</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/41543793</guid><author>bdc995</author><pubDate>Thu, 27 Nov 2014 11:31:40 +0800</pubDate><description><![CDATA[Android提供Content Provider来实现应用程序之间的数据共享，provider提供了标准的接口用于存储和检索多种类型的数据。图像 、音频和视频的标准content provider就是MediaStore。
1）获取图像的URI
要获得标准的图像存储路径，我们需要获得MediaStore的引用，而这是通过content resolver来实现的（因为使用Content res]]></description><category></category></item><item><title><![CDATA[Android命令行启动程序正确使用技巧解析]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/9245719</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/9245719</guid><author>bdc995</author><pubDate>Thu, 04 Jul 2013 18:13:31 +0800</pubDate><description><![CDATA[Android程序启动的方式除了使用界面方式进行启动之外，还能通过命令行启动。那么就让我们大家一起来看看Android命令行启动程序的具体操作方法。


Android应用程序的启动方法有许多种，大家可以通过我们以前介绍的快速启动方法来启动，同时还能通过本文介绍的Android命令行启动程序的具体方法来启动程序。在Android中，除了从界面上启动程序之外，还可以从命令行启动程序，使用的是命]]></description><category></category></item><item><title><![CDATA[http://www.linux-usb.org/usb.ids]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/9225831</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/9225831</guid><author>bdc995</author><pubDate>Tue, 02 Jul 2013 16:04:50 +0800</pubDate><description><![CDATA[USB vid pid
http://www.linux-usb.org/usb.ids]]></description><category></category></item><item><title><![CDATA[request threaded-only IRQs with IRQF_ONESHOT]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/8697374</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/8697374</guid><author>bdc995</author><pubDate>Wed, 20 Mar 2013 17:02:48 +0800</pubDate><description><![CDATA[Gitweb:     
http://git.kernel.org/linus/;a=commit;h=9b7e31bbf4bb58b12e11a7f24b7c3e48bbd2f4da
Commit:     9b7e31bbf4bb58b12e11a7f24b7c3e48bbd2f4da
Parent:     1cecc5cc0658e128bcad0b29edb96f28606657]]></description><category></category></item><item><title><![CDATA[USB UMS MTP设置过程]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/8696574</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/8696574</guid><author>bdc995</author><pubDate>Wed, 20 Mar 2013 15:12:09 +0800</pubDate><description><![CDATA[选择MTP，PTP，UMS的选项界面就定义在UsbSettings.java，选择其中一个选项时会执行以下代码。

packages/apps/Settings/src/com/android/settings/deviceinfo/UsbSettings.java


        if (preference == mMtp) {          
            mUs]]></description><category></category></item><item><title><![CDATA[Android api error]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/8506364</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/8506364</guid><author>bdc995</author><pubDate>Tue, 15 Jan 2013 16:36:16 +0800</pubDate><description><![CDATA[android SDK中有些JAVA类是开放的，有些是不开放的，API同样如此。这里所谓开放的类或API，只是javadoc的范畴，并不是java中public和private，也就是说，对于源码的编译无所谓，只是对javadoc的生成有影响关于类的开放和隐藏，但是对android的上层应用有影响，因为非开放的类或API,android上层应用无法直接访问。
    类或API是否开放，是通过d]]></description><category></category></item><item><title><![CDATA[alsa config]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/8291280</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/8291280</guid><author>bdc995</author><pubDate>Thu, 13 Dec 2012 16:12:26 +0800</pubDate><description><![CDATA[#title:box:HDMI Audio
#author:wangsijie
#:0,1
------------------------------------------------------------------------------
硬件环境
Nvidia(290)
----------------------------------------------------]]></description><category></category></item><item><title><![CDATA[ubuntu12.04 make menuconfig error]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/8235429</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/8235429</guid><author>bdc995</author><pubDate>Wed, 28 Nov 2012 17:15:21 +0800</pubDate><description><![CDATA[ubuntu 12.04 ,error:

$make menuconfig 

HOSTLD  scripts/kconfig/mconf
scripts/kconfig/mconf.o: In function `show_help':
mconf.c:(.text+0x744): undefined reference to `stdscr'
scripts/kconfig/m]]></description><category></category></item><item><title><![CDATA[DebugFS]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/8151848</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/8151848</guid><author>bdc995</author><pubDate>Tue, 06 Nov 2012 10:50:57 +0800</pubDate><description><![CDATA[DebugFS，顾名思义，是一种用于内核调试的虚拟文件系统，内核开发者通过debugfs和用户空间交换数据。类似的虚拟文件系统还有procfs和sysfs等，这几种虚拟文件系统都并不实际存储在硬盘上，而是Linux内核运行起来后才建立起来。
通常情况下，最常用的内核调试手段是printk。但printk并不是所有情况都好用，比如打印的数据可能过多，我们真正关心的数据在大量的输出里不是那么一目了然]]></description><category></category></item><item><title><![CDATA[Android如何生成设备节点]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/8025060</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/8025060</guid><author>bdc995</author><pubDate>Thu, 27 Sep 2012 15:06:36 +0800</pubDate><description><![CDATA[在Android中，由于没有mdev和udev，所以它没有办法动态的生成设备节点，那么它是如何做的呢？
我们可以在system/core/init/下的init.c和devices.c中找到答案：
init.c中
int main(int argc, char **argv) {     ...          /* Get the basic filesystem setup we ne]]></description><category></category></item><item><title><![CDATA[Android 侦听Usb或者SDCard热拔插事件]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/7944032</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/7944032</guid><author>bdc995</author><pubDate>Tue, 04 Sep 2012 21:44:53 +0800</pubDate><description><![CDATA[有时候我们可能要侦听Usb或者SDCard一些拔插事件，其实很简单，当我们做拔插的时候比如Usb或者SDCard，android底层会发出相应的Intent出来给上层应用成使用，比如SDCard或者Usbandroid都会发这样一个Intent.ACTION_MEDIA_MOUNTED，所以我们在上层应用程序中只要侦听这个Intent就可以了，看到网上很多人不知道怎么去区分到底是Usb或者SDCa]]></description><category></category></item><item><title><![CDATA[Linux tty  driver]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/7884289</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/7884289</guid><author>bdc995</author><pubDate>Sun, 19 Aug 2012 21:55:51 +0800</pubDate><description><![CDATA[tty的架构其实分为三层：
第一层：
tty_core
所有tty类型的驱动的顶层构架，向应用曾提供了统一的接口，应用层的read/write等调用首先会到达这里。此层由内核实现，代码主要分布在
drivers/char目录下的n_tty.c,tty_io.c等文件中
static const struct file_operations tty_fops = {
    .llsee]]></description><category></category></item><item><title><![CDATA[git patch]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/7840231</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/7840231</guid><author>bdc995</author><pubDate>Tue, 07 Aug 2012 17:53:16 +0800</pubDate><description><![CDATA[UNIX世界的软件开发大多都是协作式的，因此，Patch（补丁）是一个相当重要的东西，因为几乎所有的大型UNIX项目的普通贡献者，都是通过 Patch来提交代码的。作为最重要的开源项目之一，Linux，也是这样的。普通开发者从软件仓库clone下代码，然后写入代码，做一个Patch， 最后用E-mail发给Linux Kernel的维护者就好了。Git最初作为Linux的版本控制工具，提供了透明、]]></description><category></category></item><item><title><![CDATA[input system]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/7821460</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/7821460</guid><author>bdc995</author><pubDate>Thu, 02 Aug 2012 09:56:22 +0800</pubDate><description><![CDATA[本文简单介绍一下linux的input system，并通过一个实际的案例介绍一下在具体的项目中如何实现自己的inputsystem。
1.  系统结构
钻研技术的总是喜欢了解细节以及系统的整个框架，那首先就从linux的input system的结构开始说起，如下图所示：

Input system 有三大块组成：

Drivers：相当于输入设备的驱动程序，负责接收来自硬件的输入中]]></description><category></category></item><item><title><![CDATA[Manual driver binding and unbinding]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/7815295</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/7815295</guid><author>bdc995</author><pubDate>Tue, 31 Jul 2012 17:34:00 +0800</pubDate><description><![CDATA[One new feature in the 2.6.13-rc3 kernel release, is the ability to bind and unbind drivers from devices manually from user space.  Previously, the only way to disconnect a driver from a device was us]]></description><category></category></item><item><title><![CDATA[Usage of uvent,bind and unbind interface in /sys]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/7815179</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/7815179</guid><author>bdc995</author><pubDate>Tue, 31 Jul 2012 17:11:19 +0800</pubDate><description><![CDATA[In /sys, there are many kobject which have the attribute of uevent. Mainly thay are used as the interface for communication between kenel and udev. To udev and the netlink protocol, they doesn’t have]]></description><category></category></item><item><title><![CDATA[USB Class Codes]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/7783524</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/7783524</guid><author>bdc995</author><pubDate>Wed, 25 Jul 2012 10:23:06 +0800</pubDate><description><![CDATA[USB Class Codes                     
November 17, 2009 

USB defines class code information that is used to identify a device’s functionality and to nominally load a device driver based on that fun]]></description><category></category></item><item><title><![CDATA[Android 内核修改了标准Linux内核的那些内容]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/7721020</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/7721020</guid><author>bdc995</author><pubDate>Fri, 06 Jul 2012 09:56:30 +0800</pubDate><description><![CDATA[ARCH -- 这是Android修改了arch/arm下面的一些文件：
arch/arm: 
Chg: arch/arm/kernel/entry-armv.S 
Chg: arch/arm/kernel/module.c 
Chg: arch/arm/kernel/process.c 
Chg: arch/arm/kernel/ptrace.c 
Chg: arch/arm/ker]]></description><category></category></item><item><title><![CDATA[自动挂载U盘]]></title><link>https://blog.youkuaiyun.com/bdc995/article/details/7718591</link><guid>https://blog.youkuaiyun.com/bdc995/article/details/7718591</guid><author>bdc995</author><pubDate>Thu, 05 Jul 2012 14:42:04 +0800</pubDate><description><![CDATA[目前一些主流桌面系统(如Gnome,KDE,Xfce)的较新版本都支持自动挂载(mount)U盘了. 一个流传很广的说法是 HAL(硬件抽象层) 起了自动挂载的作用, 其实这是误解. 对于2.6内核而言, udev 才是直接从内核接收设备连接或断开信息的主体.
          udev 从内核得到信息后,根据一些简单规则(注意,是简单规则), 在 /dev 目录下创建相应的设备节点, 并进行]]></description><category></category></item></channel></rss>