自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(16)
  • 资源 (7)
  • 收藏
  • 关注

原创 Android ADB原理(2)---ADB driver

ADB能工作,是因为有一个USB Gadget driver,所以host端才能连接到device。Gadget driver是device作为USB设备时候(而不是USB host时候)所使用的driver。看gingerbread的kernel code。kernel/dri

2011-07-10 11:19:28 232

原创 Android USB Storage原理(1)

当连上USB线后,从status bar上面,可以选择打开或者关闭USB Storage。代码在framework/base/packages/systemui/src/com/android/systemui/usbStorageManager.enableUsbMassSto

2011-07-09 23:59:24 382

原创 Android ADB原理(1)---ADB enable/disable

当用户选择“Settings”->"Applictions"->"devleopment"->"USB Debugging"时1. call: Settings.Secure.putInt(getContentResolver(), Settings.Secure.ADB_ENA

2011-07-09 22:50:00 8482 2

原创 Linux TTY设备驱动程序原理

如何写TTY设备驱动程序可以参考Linux Device Driver的第18章和例子程序tiny_tty.c,这里主要分析驱动程序调用的kernel API后面的细节.驱动程序主要做3件事:struct tty_driver *alloc_tty_driver(int lines)int tty_register_driver(struct tty_driver *driver)

2008-08-05 15:54:00 5226 1

原创 Linux网络协议栈(三)--如何写基本的网络驱动程序

Linux Device Driver(3rd version)的第17章已经解释的很详细了,大家可以参考,当然,在2.6.24之后的内核中,使用了N-NAPI,所以书中第17章的程序snull是无法在2.6.24内核中编译通过的,下面是我根据2.6.24内核所作的patch:--- /home/heyunqi/examples/snull/snull.c 2005-02-01 04:31:02.

2008-08-05 10:19:00 1877 2

原创 Linux网络协议栈(二)--数据链路层数据的接收与发送

 2.1 数据的接收数据的接收是通过net_rx_action进行的。这里简单描述一下使用NAPI方式的驱动程序的接收方式,没有使用NAPI的驱动,实际上系统里面也为其模拟了一个NAPI实体,所以其实是一样的。驱动程序收到数据包之后会调用,netif_rx_schedule,它的目的就是使软中断net_rx_action能够被执行。net_rx_action主要工作就是调用

2008-07-17 15:26:00 4812 1

原创 Linux网络协议栈(一)-网络系统初始化

1.1 Overviewsocket.c里面有:core_initcall(sock_init);  /* early initcall */因此在系统启动的时候,do_basic_setup(main.c)---->do_initcalls(main.c)会调用sock_init。同理在af_init.c中的fs_initcall(inet_init)导致inet_init在

2008-07-16 14:29:00 1635

原创 Linux网络协议栈(0)

最近想写有关Linux网络协议栈的文章,好久没有接触这一块了,再不复习一下,恐怕以后就全忘记了。曾经看过一本The Linux Networking Architecture,尽管说的是2.4内核的,不过还是挺有参考价值的。这次看的是2.6.24的代码。准备总结下列内容:1 网络子系统的初始化过程2 如何写基本的网络驱动程序3 数据链路层代码分析4 网络层代码分析5 传输层代码分析6 SOCKET

2008-07-15 16:02:00 716

原创 2.6 kernel preemption schedule

User-space preemption can occur·         When returning to user-space from a system call·         When returning to user-space from an interrupt handlerKernel-space preemption can occur·      

2008-06-02 15:30:00 420

原创 Linux同步和并行

Mutex and semopareDECLARE_SEMAPHORE_GENERIC(name, count)static DECLARE_MUTEX(name);sema_init(sem, count);init_MUTEX(sem);init_MUTEX_LOCKED(struct semaphore *)down_interruptible(struct sema

2008-05-29 16:21:00 378

原创 Linux网络驱动程序howto

1.in module_init   dev->your_netdev=alloc_netdev(sizeof(struct your_priv),intfname,your_setup);//in future, you can get your_priv by netdev_priv(your_netdev)   your_setup function will called befo

2008-05-22 16:25:00 360

原创 Qtopia Phone体系架构

Qtopia Telephony System Overview DialerControl•         The DialerControl class provides a convenient interface to the phone call manager. •         Application should use DialerControl inst

2007-11-22 12:31:00 652

原创 说说subsys_initcall

 在linux内核代码里, 到处充满了subsys_initcall,这个调用是用来干吗的呢?有人回答是系统启动时候用来初始化某些系统的,具体怎么初始化的呢,说起来还是有点复杂。以2.6.21内核作为例子。在linux/init.h里,有这样一段代码:#define pure_initcall(fn)  __define_initcall("0",fn,1)#define core_i

2007-11-21 22:30:00 8743 3

原创 some Linux kernel study resouce

Books:Linux Device Drivers, 3rd edition,Linux Kernel Development, 2nd EditionUnderstanding the Linux Kernel, 3rd edition,website you should check:http://lwn.netThe weekly digest off all Linux an

2007-11-21 21:30:00 681

原创 UCT IMS Client Source Code Analysis

UCT IMS Client Source Code AnalysisOverviewIt is an IMS user agent based on osip/eXsip library.  The source code the document analyzes is uctimsclient1.0.6•         Feature list:–     AKAv1 an

2007-11-19 13:59:00 2036

原创 osipe Xosip source code analysis

Osip/eXosip Source Code AnalysisThis analysis s based on libosip2-2.2.3 and libeXosip2-2.2.31 osip Overview1.1 How to use osipcall osip_init to init the osip librarycreate transport layer to

2007-11-19 13:47:00 1258

Design.Patterns.in.Ruby

Addison.Wesley.Design.Patterns.in.Ruby.Dec.2007 高清PDF英文版

2009-10-31

Programming Ruby - The Pragmatic Programmer's Guide

Programming Ruby - The Pragmatic Programmer's Guide 高清PDF英文版

2009-10-31

Professional Linux Kernel Architecture

Professional Linux Kernel Architecture 08年的新书,PDF英文高清版

2009-10-31

Manning.Flexible.Rails.Flex.3.on.Rails.2

Manning.Flexible.Rails.Flex.3.on.Rails.2.Jan.2008 PDF 英文版

2009-10-31

Getting.Started.with.Flex.3

OReilly.Getting.Started.with.Flex.3.Jun.2008 PDF英文版

2009-10-31

Virtualization with VMware ESX Server

Syngress.Virtualization.with.VMware.ESX.Server 英文版CHM格式

2009-10-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除