<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ricks_wu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ricks_wu]]></copyright><item><title><![CDATA[vim 中Ctags的安装和使用]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/72954922</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/72954922</guid><author>ricks_wu</author><pubDate>Fri, 09 Jun 2017 11:02:47 +0800</pubDate><description><![CDATA[『插件介绍』

Ctags工具是用来遍历源代码文件生成tags文件，这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号（tag/symbol），如变量名，函数名等。比如，tags文件就是Taglist和OmniCppComplete工作的基础。


『下载和安装』

一、我是使用apt-get安装的：

sudo apt-get install ctags

]]></description><category></category></item><item><title><![CDATA[INIT_WORK和INIT_DELAYED_WORK详解]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/72885394</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/72885394</guid><author>ricks_wu</author><pubDate>Tue, 06 Jun 2017 17:18:11 +0800</pubDate><description><![CDATA[朋友,你相信,一只蝴蝶在北京拍拍翅膀,将使得纽约几个月后出现比狂风还厉害的龙卷风吗?看过那部经典的影片蝴蝶效应的朋友们一定会说,这不就是蝴蝶效应吗.没错.蝴蝶效应其实是混沌学理论中的一个概念.它是指对初始条件敏感性的一种依赖现象.蝴蝶效应的原因在于蝴蝶翅膀的运动,导致其身边的空气系统发生变化,并引起微弱气流的产生,而微弱气流的产生又会引起它四周空气或其它系统产生相应的变化,由此引起连锁反应,最终导]]></description><category></category></item><item><title><![CDATA[（DT系列六）devicetree中数据和 struct device有什么关系]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/72875807</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/72875807</guid><author>ricks_wu</author><pubDate>Tue, 06 Jun 2017 10:46:33 +0800</pubDate><description><![CDATA[devicetree中数据和structdevice有什么关系

总体来说，devicetree与structdevice的关系应该还是在其生成platformdevice的时候，一直传递的structdevice
 *parent参数。下面先把其源码中传递过程描述如下（仍以At91rm9200为例）：




1,

DT_MACHINE_START(at91sam_dt,"]]></description><category></category></item><item><title><![CDATA[（DT系列五）Linux kernel 是怎么将 devicetree中的内容生成plateform_device]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/72875774</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/72875774</guid><author>ricks_wu</author><pubDate>Tue, 06 Jun 2017 10:45:06 +0800</pubDate><description><![CDATA[Linux kernel 是怎么将 devicetree中的内容生成plateform_device


1，实现场景（以Versatile Express V2M为例说明其过程）
以arch/arm/mach-vexpress/v2m.c 为例，在该文件中的v2m_dt_init函数的作用就是利用 dt（device tree）结构初始化 platform device。
static]]></description><category></category></item><item><title><![CDATA[（DT系列四）驱动加载中, 如何取得device tree中的属性]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/72875741</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/72875741</guid><author>ricks_wu</author><pubDate>Tue, 06 Jun 2017 10:42:33 +0800</pubDate><description><![CDATA[本文以At91rm9200平台为例，从源码实现的角度来分析驱动加载时，Device tree的属性是如何取得的。
一：系统级初始化
DT_MACHINE_START 主要是定义"struct machine_desc"的类型，放在 section(".arch.info.init")，是初始化数据，Kernel 起来之后将被丢弃。
#define DT_MACHINE_START(_name]]></description><category></category></item><item><title><![CDATA[（DT系列三）系统启动时, dts 是怎么被加载的]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/72875686</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/72875686</guid><author>ricks_wu</author><pubDate>Tue, 06 Jun 2017 10:39:00 +0800</pubDate><description><![CDATA[一，主要问题:
系统在启动的时候，是怎么加载 dts的；
Lk，kernel中都应调查。


二：参考文字
dts加载流程如下图所示：




启动过程中，bootloader(默认是bootable/bootloader/lk)会根据机器硬件信息选择合适的devicetree装入内存，把地址等相关信息传给kernel。kernel中，会根据传入的信息创建设备。
1，先从l]]></description><category></category></item><item><title><![CDATA[（DT系列二）device tree的书写规范]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/72875616</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/72875616</guid><author>ricks_wu</author><pubDate>Tue, 06 Jun 2017 10:34:45 +0800</pubDate><description><![CDATA[devicetree的书写规范



下面从节点，属性，reg，ranges，中断控制器等几个方面叙述devicetree的书写规范。

1，dts的基本元素：节点
.dts（或者其include的.dtsi）基本元素为结点和属性。举例说明节点的概念：
/ {
    node1 {
        a-string-property = "A string";
        a]]></description><category></category></item><item><title><![CDATA[(DT系列一)DTS结构及其编译方法]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/72875585</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/72875585</guid><author>ricks_wu</author><pubDate>Tue, 06 Jun 2017 10:32:53 +0800</pubDate><description><![CDATA[DTS结构及其编译方法




一：主要问题

1,需要了解dtsi与dts的关系

2,dts的结构模型

3,dts是如何被编译的,以及编译后会生成一个什么文件.




二：参考文字

1，DTS(device
 tree source)
.dts文件是一种ASCII文本格式的DeviceTree描述。基本上，在ARMLinux内，一个.dts文件对应]]></description><category></category></item><item><title><![CDATA[非root用户安装软件]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/72875004</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/72875004</guid><author>ricks_wu</author><pubDate>Tue, 06 Jun 2017 10:04:21 +0800</pubDate><description><![CDATA[首先需要解释一下程序是怎样运行的。在Linux下，用户在终端下输入一个命令，比如ls，这个命令是怎样被执行的呢？大致流程为：在当前用户的path路径文件夹下查找名为ls的可执行文件名，如果找到，则执行ls文件；如果找不到，则提示未安装或者找不到。这里很重要的就是path路径的内容，如果没有指定路径，则会在path路径里寻找。可以echo $PATH看看里面的内容。在以冒号分割的文件夹下，你会发现你]]></description><category></category></item><item><title><![CDATA[编译android 之后生成的 img 文件介绍]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/72874641</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/72874641</guid><author>ricks_wu</author><pubDate>Tue, 06 Jun 2017 09:16:10 +0800</pubDate><description><![CDATA[在编译android 之后，会生成几个image 文件， 这些文件是：

   1。 ramdisk.img    :   一个分区影像文件，它会在kernel 启动的时候，以只读的方式被 mount ， 这个文件中只是包含了 /init 以及一些配置文件，这个ramdisk 被用来调用init，以及把真正的root file system mount 起来。

   2。system.i]]></description><category></category></item><item><title><![CDATA[Linux系統管理講義:VI編輯器]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/72874568</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/72874568</guid><author>ricks_wu</author><pubDate>Tue, 06 Jun 2017 09:08:24 +0800</pubDate><description><![CDATA[Linux系統管理講義:VI編輯器 
一、vi簡介： 
1.  vi是各種UNIX-Like系統都會支援的全螢幕文字編輯器，任何一位UNIX/Linux系統管理者都應該學會vi。 
2.  vi的操作環境是針對熟悉UNIX系統的使用者而設計，內建大量的快速鍵指令，初學者必須多加練習。 
二、vi的操作環境： 
vi 共分為三種模式，分別是命令模式（Command mode）、編輯模式（Insert]]></description><category></category></item><item><title><![CDATA[WIFI基本知识整理]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/65433932</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/65433932</guid><author>ricks_wu</author><pubDate>Thu, 23 Mar 2017 08:56:41 +0800</pubDate><description><![CDATA[这里对wifi的802.11协议中比较常见的知识做一个基本的总结和整理，便于后续的学习。因为无线网络中涉及术语很多，并且许多协议都是用英文描述，所以有些地方翻译出来会有歧义，这种情况就直接英文来描述了。
 
主要内容：
一、基本概述
二、实践基础
三、一些原理
四、补充
五、其它
 
 
一、基本概述
============================
1、有线和无线]]></description><category></category></item><item><title><![CDATA[linux内核input子系统解析]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/31360953</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/31360953</guid><author>ricks_wu</author><pubDate>Mon, 16 Jun 2014 11:26:22 +0800</pubDate><description><![CDATA[作者：刘老师,华清远见嵌入式学院讲师。

Android、X windows、qt等众多应用对于linux系统中键盘、鼠标、触摸屏等输入设备的支持都通过、或越来越倾向于标准的input输入子系统。

因为input子系统已经完成了字符驱动的文件操作接口，所以编写驱动的核心工作是完成input系统留出的接口，工作量不大。但如果你想更灵活的应用它，就需要好好的分析下input子系统了。

]]></description><category></category></item><item><title><![CDATA[等待队列（二）]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/30042065</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/30042065</guid><author>ricks_wu</author><pubDate>Wed, 11 Jun 2014 11:44:26 +0800</pubDate><description><![CDATA[通过 前一篇文章 的介绍我们队等待队列有了一个比较具体的认识，本文将来分析一下等待队列是如何睡眠一个进程和如何唤醒一个进程的。
使用等待队列前通常先定义一个等待队列头：static wait_queue_head_t wq ,然后调用wait_event_*函数将等待某条件condition的当前进程插入到等待队列wq中并睡眠，一直等到condition条件满足后，内核再将睡眠在等待队列wq上的]]></description><category></category></item><item><title><![CDATA[等待队列（一）]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/30041873</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/30041873</guid><author>ricks_wu</author><pubDate>Wed, 11 Jun 2014 11:41:57 +0800</pubDate><description><![CDATA[在Linux内核中等待队列有很多用途，可用于中断处理、进程同步及定时。我们在这里只说，进程经常必须等待某些事件的发生。等待队列实现了在事件上的条件等待: 希望等待特定事件的进程把自己放进合适的等待队列，并放弃控制全。因此，等待队列表示一组睡眠的进程，当某一条件为真时，由内核唤醒它们。
等待队列由循环链表实现，其元素包括指向进程描述符的指针。每个等待队列都有一个等待队列头(wait queue h]]></description><category></category></item><item><title><![CDATA[MTK camera image sensor driver]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/29851509</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/29851509</guid><author>ricks_wu</author><pubDate>Tue, 10 Jun 2014 15:58:39 +0800</pubDate><description><![CDATA[camera_sensor_driver

image_sensr首先要进行板极设备的初始化的工作：代码路径是在：/mediatek/platform/mt6577/kernel/core/mt6577_devs.c里面

#if1 ///defined(CONFIG_VIDEO_CAPTURE_DRIVERS)

retval =platform_device_register(&s]]></description><category></category></item><item><title><![CDATA[Mtk Ft6306 touch 驱动]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/29851417</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/29851417</guid><author>ricks_wu</author><pubDate>Tue, 10 Jun 2014 15:57:45 +0800</pubDate><description><![CDATA[Linux Tt6306 Touch 驱动

1、    MTk Touch 驱动程序
1.1、    MTK Touch 驱动的组成
Mtk  Touch  driver 驱动包括：Mtk platform 虚拟平台设备驱动、Module touch IC 驱动、Input subsystem。
Mtk platform 设备驱动是mtk为了兼容多个touch IC 驱动而设计出来的虚]]></description><category></category></item><item><title><![CDATA[mtk LCD 驱动过程详解]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/29850855</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/29850855</guid><author>ricks_wu</author><pubDate>Tue, 10 Jun 2014 15:55:03 +0800</pubDate><description><![CDATA[MTK 平台LCD 驱动的整个过程的讲解






MTK_LCD_Driver

代码的路是在/mediatek/source/kernel/driver/vedio/mtkfb.c

module_init(mtkfb_init);模块初始化函数

int__init mtkfb_init(void)

{

int r = 0;




MSG_]]></description><category></category></item><item><title><![CDATA[android电池（四）：电池 电量计(MAX17040)驱动分析篇]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/25799519</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/25799519</guid><author>ricks_wu</author><pubDate>Wed, 14 May 2014 14:52:59 +0800</pubDate><description><![CDATA[关键词：android 电池  电量计  MAX17040 任务初始化宏 power_supply
平台信息:
内核：linux2.6/linux3.0
系统：android/android4.0 
平台：samsung exynos 4210、exynos 4412 、exynos 5250
作者：xubin341719(欢迎转载，请注明作者)
欢迎指正错误，共同学习、共同进步！！]]></description><category></category></item><item><title><![CDATA[android 电池（三）：android电池系统]]></title><link>https://blog.youkuaiyun.com/ricks_wu/article/details/25799303</link><guid>https://blog.youkuaiyun.com/ricks_wu/article/details/25799303</guid><author>ricks_wu</author><pubDate>Wed, 14 May 2014 14:50:56 +0800</pubDate><description><![CDATA[关键词：android电池系统电池系统架构 uevent power_supply驱动






平台信息:


内核：linux2.6/linux3.0
系统：android/android4.0 
平台：S5PV310(samsungexynos4210) 、samsung exynos4412

作者：xubin341719(欢迎转载，请注明作者)


欢]]></description><category></category></item></channel></rss>