<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[android_huber的专栏]]></title><description><![CDATA[Linux驱动，Android           前进路上]]></description><link>https://blog.youkuaiyun.com/android_huber</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; android_huber]]></copyright><item><title><![CDATA[Android Native/Tombstone Crash Log 详细分析]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/50401457</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/50401457</guid><author>android_huber</author><pubDate>Fri, 25 Dec 2015 10:11:40 +0800</pubDate><description><![CDATA[Android 虽然已经有好几年了，但是NDK的开放速度却非常缓慢，所以目前网络上针对对Android Native Crash的分析说明还比较少，尤其是非常详细的分析方式更难以查询。因此大部分程序员在遇到难以进行addr2line的crash log时，会一筹莫展。事实上这份log中的其他部分同样提供了非常丰富的信息可供解读，所以在这里总结一下对在这方面的一些经验，在这里以Android sam]]></description><category></category></item><item><title><![CDATA[qualcomm platform camera porting]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/46524339</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/46524339</guid><author>android_huber</author><pubDate>Tue, 16 Jun 2015 22:18:08 +0800</pubDate><description><![CDATA[camera基本代码架构

   Camera原理:外部光线穿过lens后，经过color filter滤波后照射到sensor面上，sensor将从lens上传到过来的光线转换成电信号，再通过内部的AD转换为数字信号，如果sensor没有集成DSP，则通过DVP的方式传输到baseband，此时的数据格式是RAW DATA。必须通过平台的isp来处理。如果集成了DSP，这RAW DATA数据]]></description><category></category></item><item><title><![CDATA[LCD驱动中pixclock的计算]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/44341441</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/44341441</guid><author>android_huber</author><pubDate>Tue, 17 Mar 2015 14:43:07 +0800</pubDate><description><![CDATA[在LCD驱动程序中，需要我们根据LCD datasheet来设置相应的参数，这些参数包括：pixclock,left_margin,right_margin,upper_margin,lower_margin,hsync_len,vsync_len,VBP,VFB,VSPW,HBP,HFP,HSPW。下图是典型的TFT LCD时序图：
　
　  __u32 pixclock; /*像素时钟(皮]]></description><category></category></item><item><title><![CDATA[经典推荐之嵌入式系统 Boot Loader 技术内幕(詹荣开)]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/43982015</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/43982015</guid><author>android_huber</author><pubDate>Sat, 28 Feb 2015 09:19:27 +0800</pubDate><description><![CDATA[本文详细地介绍了基于嵌入式系统中的 OS 启动加载程序 ―― Boot Loader 的概念、软件设计的主要任务以及结构框架等内容。

一、引言

在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次： 



引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选)，和 Boot L]]></description><category></category></item><item><title><![CDATA[Linux内核Crash分析]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/41960989</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/41960989</guid><author>android_huber</author><pubDate>Tue, 16 Dec 2014 15:37:36 +0800</pubDate><description><![CDATA[在工作中经常会遇到一些内核crash的情况，本文就是根据内核出现crash后的打印信息，对其进行了分析，使用的内核版本为：Linux2.6.32。

       每一个进程的生命周期内，其生命周期的范围为几毫秒到几个月。一般都是和内核有交互，例如用户空间程序使用系统调用进入内核空间。这时使用的不再是用户空间的栈空间，使用对应的内核栈空间。对每一个进程来说，Linux内核都会把两个不同的数据结]]></description><category></category></item><item><title><![CDATA[我从其他人的Shell脚本中学到的]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/41958977</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/41958977</guid><author>android_huber</author><pubDate>Tue, 16 Dec 2014 13:19:22 +0800</pubDate><description><![CDATA[我是一个Shell脚本迷，也很喜欢从其他人的Shell脚本里学习一些有趣的东西。最近我偶然接触到用于方便ssh服务器双重认证的 authy-ssh 脚本。 浏览脚本后我学到了一些很酷的东西，在此也想分享给大家。

1. 让你的echo丰富多彩

很多时候，你会想让echo能以多种颜色区分不同输出。比如，绿色表示成功，红色告知失败，黄色提示警告。
NORMAL=$(tput sgr0)
G]]></description><category></category></item><item><title><![CDATA[串口通信 DTR DSR RTS CTS]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/39500703</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/39500703</guid><author>android_huber</author><pubDate>Tue, 23 Sep 2014 16:55:17 +0800</pubDate><description><![CDATA[串口通信可以连接两个设备， 当使用9芯线路时: 1) 地(GND)   2)接受数据(RX data) 3)传输数据 (TX data) 4) 数据终端准备(DTR)  5) GND  6)数据准备 (DSR) 7) 请求发送(RTS)    8)允许发送(CTS)  9)振铃指示(RI)

我举 PC 和Modem之间的通信为例子：

RTS/CTS 提供的是一种PC 和Modem 之间]]></description><category></category></item><item><title><![CDATA[sudoers  777 无法进入root]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/33744549</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/33744549</guid><author>android_huber</author><pubDate>Mon, 23 Jun 2014 18:26:40 +0800</pubDate><description><![CDATA[长按 Shift 进入grub mode
进入root shell
moun]]></description><category></category></item><item><title><![CDATA[快速USB学习]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/25637685</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/25637685</guid><author>android_huber</author><pubDate>Mon, 12 May 2014 17:04:09 +0800</pubDate><description><![CDATA[快速USB学习（单片机应用）
（由FLASHMAN编写，QQ28479691，如要转载请注明出处）

USB
的优点相信大家都知道了，而且还很赚钱，嘿嘿，这里就不多说，不懂的就去看看书吧，这里要说的是如何快速掌握USB技术。这篇文章一方面是我对USB学习
的一个总结，另一方面是为了方便初学者入门学习。学习USB，一本好的教材是少不了的，我以前看过了很多关于USB的书，但是大部分的书都看得]]></description><category></category></item><item><title><![CDATA[Linux的TCP/IP协议栈阅读笔记]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/23962703</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/23962703</guid><author>android_huber</author><pubDate>Thu, 17 Apr 2014 21:36:19 +0800</pubDate><description><![CDATA[1 从init/main.c的start_kernel函数说起。在这个函数里面调用kernel_thread启动了init进程，这个进程对应的函数是同一个文件里面的init函数，在init函数里面调用了一个叫do_basic_setup的在同一个文件里面的函数，这个函数调用了net/socket.c里面的sock_init函数，这个函数就是TCP/IP协议栈，也包括ipx等的入口。

首先so]]></description><category></category></item><item><title><![CDATA[Android深入浅出之Binder机制]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/18851453</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/18851453</guid><author>android_huber</author><pubDate>Tue, 28 Jan 2014 23:51:03 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/innost/archive/2011/01/09/1931456.html



Android深入浅出之Binder机制
一 说明
 Android系统最常见也是初学者最难搞明白的就是Binder了，很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话，在很大程度上就能理解程序运行的流程。
]]></description><category></category></item><item><title><![CDATA[ubuntu 12.04gedit 中文乱码问题解决]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/18259667</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/18259667</guid><author>android_huber</author><pubDate>Tue, 14 Jan 2014 11:40:12 +0800</pubDate><description><![CDATA[打开终端输入：




gsettings set org.gnome.gedit.preferences.encodings auto-detected "['GB18030', 'GB2312', 'GBK', 'UTF-8', 'BIG5',
 'CURRENT', 'UTF-16']"




gsettings set org.gnome.gedit.prefere]]></description><category></category></item><item><title><![CDATA[ubuntu下添加opera的flash插件]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/17999821</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/17999821</guid><author>android_huber</author><pubDate>Wed, 08 Jan 2014 14:18:27 +0800</pubDate><description><![CDATA[opera 确实是一款很不错的浏览器。非常好玩。
opera并没有带flash player 插件。可以通过几种方法安装：
一。
在firefox安装好flash插件后，将/usr/lib/firefoxXXXXX/plugins下的libflashplayer.so文件拷贝到/usr/lib/opera/plugins目录下，重启Opera,即可。
二。
最近在网上查到的另一个方法：]]></description><category></category></item><item><title><![CDATA[ubuntu右键添加打开终端的快捷菜单]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/17999803</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/17999803</guid><author>android_huber</author><pubDate>Wed, 08 Jan 2014 14:17:45 +0800</pubDate><description><![CDATA[可能有很多人从Redhat等Linux发行版转到ubuntu上面来遇到的第一个最常用的问题就是，右键单击桌面，发现没有“打开终端”这个选项，下面介绍两种方法来在右键添加“打开终端”这个选项。
第一种方法：
安装一个包，即可在右键里面添加一个“打开终端”的菜单。

sudo apt-get install nautilus-open-terminal


第二种方法：
进入主目录的.]]></description><category></category></item><item><title><![CDATA[dbus 例程]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/8284632</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/8284632</guid><author>android_huber</author><pubDate>Tue, 11 Dec 2012 22:38:20 +0800</pubDate><description><![CDATA[/*
* Example low-level D-Bus code.
* Written by Matthew Johnson 
*
* This code has been released into the Public Domain.
* You may do whatever you like with it.
*/
#include 
#include 
#includ]]></description><category></category></item><item><title><![CDATA[用Dbus与android的bluz通信]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/8284590</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/8284590</guid><author>android_huber</author><pubDate>Tue, 11 Dec 2012 22:30:19 +0800</pubDate><description><![CDATA[android的bluetooth架构是建立在bluez之上的，bluz通过dbus暴露了底层蓝牙设备的服务。先用android内置的命令bttest enable，开启bluedroid进程。这样bluz就可以接收dbus请求了。先来看段简单dbus代码：
 

char*
send_method_call_with_string_reply(char* objectPath,]]></description><category></category></item><item><title><![CDATA[Android怎样添加AT命令]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/8205952</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/8205952</guid><author>android_huber</author><pubDate>Tue, 20 Nov 2012 23:22:28 +0800</pubDate><description><![CDATA[frameworks/base/telephony/java/com/android/internal/telephony/Phone.java中添加所要发AT命令的上层函数.
　　
　　　　Phone是个接口，因此，添加完后，得在实现Phone接口的java类里面实现这个方法，实现Phone的类即GSMPhone.java
　　
　　　　位于
　　　　frameworks/base/t]]></description><category></category></item><item><title><![CDATA[Android RIL 本地代码(c/c++) 和 Java代码解析]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/8205932</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/8205932</guid><author>android_huber</author><pubDate>Tue, 20 Nov 2012 23:19:53 +0800</pubDate><description><![CDATA[Android系统源代码目录里面： hardware/ril 目录包含了所有有关于telephony的底层代码. 

1.目录架构(20101215的git版本): 
ril 
|-- CleanSpec.mk 
|-- include 
|   |-- telephony 
|       |-- ril_cdma_sms.h]]></description><category></category></item><item><title><![CDATA[蓝牙协议中HCI层的研究与开发]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/7727512</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/7727512</guid><author>android_huber</author><pubDate>Sun, 08 Jul 2012 23:08:57 +0800</pubDate><description><![CDATA[http://www.mc21st.com/techsubject/subjects/bluetooth/art/2001/b21.htm

刘向阳，沈连丰
（东南大学移动通信国家重点实验室， 南京 210096）
一、HCI在蓝牙软件协议模型位置的分析




蓝牙系统的协议模型如图1所示。从图中可以看出，HCI是位于蓝牙系统的L2CAP（逻辑链路控制与适配协议）层和LMP（链]]></description><category></category></item><item><title><![CDATA[linux 蓝牙驱动代码阅读笔记]]></title><link>https://blog.youkuaiyun.com/android_huber/article/details/7720658</link><guid>https://blog.youkuaiyun.com/android_huber/article/details/7720658</guid><author>android_huber</author><pubDate>Fri, 06 Jul 2012 07:15:07 +0800</pubDate><description><![CDATA[linux 蓝牙驱动代码阅读笔记
昨天看了一下介绍蓝牙协议文档，今天索性对照看了看kernel里的代码(bluez)，这里记点笔记，还是继承了老毛病，
只关注整体流程而忽略细节，先了解个大概，等真正需要时再仔细分析。

net/hci_core.c
HCI 在主机端的驱动主要是为上层提供一个统一的接口，让上层协议不依赖于具体硬件的实现。HCI在硬件中的固件
与HCI在主机端的驱动通信方]]></description><category></category></item></channel></rss>