- 博客(29)
- 资源 (40)
- 收藏
- 关注
转载 init.rc分析
1,init.rc是一个可配置的初始化文件,通常定制厂商可以配置额外的初始化配置,init.%PRODUCT%.rc2,init.rc是在$GINGERBREAD/system/core/init/init.c中读取的,它基于“行”,包含一些用空格隔开的关键字(它属于特殊字符)3,如果关键字中有空格,处理方法类似于C语言,使用/表示转义,使用“”防止关键字被断开,另外注意/在末尾表示换行
2013-04-28 13:33:20 829
原创 linux sysfs(8)
今天正式看sysfs_init:按照我们前面分析的理论,准备一个FS,应该提供5个部分内容1)标题2)超级块3)目录表4)inode表5)mnt操作方法其实这一步比准备rootfs还要早,而对sysfs初始化,除了也就是说file_systems的指针先是指到sysfs的一个file_system_type结构体,然后才是sysfs的next指向了rootfs.
2013-04-25 17:36:51 1237
原创 linux sysfs(7)
关于linux的文件系统,我觉得需要补充说明一下,中间牵涉的概念比较多,文件系统,文件,目录,目录文件,超级块,挂载,节点,挂载点等等一对概念糅合在一起有点晕。文件系统,file system是指由标题、目录、节点和数据实际存储地方组成的一个系统,我们可以根据这个系统提供的方法存储文件和提取文件。所以,从数据结构上,文件系统至少五个方面表示,一个是标题、一个超级块、一个是目录,一个是节点,
2013-04-24 16:23:33 996
原创 linux sysfs(6)
好了,我们按照我们的思路来一点一点分析吧,假设你是美国人,现在公司派你来中国开拓市场,你将怎么办?(这辈子做不成美国人的屌丝,期待为了做美国人的老爸吧!有了儿子再移民)1)从哪里来?从来处来2)到哪里去?直到公司关门歇业为止。3)为啥?钱呗,扩大市场占有率。好,公司已经决定了,公司赶紧建立一个紧急团队,来筹备中国公司的筹建。这个筹备工作就是所谓的bootloader或者bios完成
2013-04-23 18:00:47 1151
原创 linux sysfs (5)
如果我们把device和driver比喻成员工,那么,kobject和kset就是人力资源部所保存的所有员工的个人信息,包括笔试面试成绩,考核等,这些东西可能是以纸质文档保存。那么,sysfs就可以比喻成,在网站后台数据库中间的所有员工信息,没有前面说的纸质信息那么多,不过可以看出整体结构信息。也就是说我们从console上面输入ls /sys -l,显示的东西是一个确确实实的文件系统,不过属
2013-04-22 13:16:55 1289
原创 linux sysfs(4)
通过上一节,我们使用公司模型来理解设备驱动,我们基本上建立一个运动会模型。KObject就是基本的人,/sys下面的每一个目录必须是KObjectKset也是一个人,不好意思,她不是公司,她只是公司请来的礼仪小姐Bus,一个礼仪小姐,扛着一个牌子写着bus名称devices,不好意思,这个是真的员工了。driver,这个我们比作家长或者说亲属。但是,除了这几个东西外,我们看
2013-04-20 21:35:43 1160
原创 linux sysfs(3)
linux sysfs(3)我一直有一个看法,就是有些程序是变态写出来的。我认为最有可能变态三个语言就是1)C语言2)make语言3)shell脚本随便举几个例子1)C语言void mystrcat(char *d , char *s ){ while(*d) d++; while(*s) *(d++) = *(s++); *d = '\0';}int my
2013-04-20 08:41:29 1423 1
原创 linux sysfs (2)
中国有一句俗话,叫做“耳听为虚,眼见为实”,真的吗?海森堡早就说过了,测不准的。别说听到的见到的,就来闻到的,也不一定是真的。要不然,小六脚臭,吕轻侯也在洗脚,结果被郭芙蓉冤枉是秀才的脚臭。那么到底什么是本质,什么是表象?哲学范畴,本质就是表象,表象就是本质。特别是量子物理许范畴,谁都不可能把脑袋伸到原子核内部,拿着万用表测试原子核的实际数据。这样来说,我们就必须通过诸多实验测试表象,然后,建
2013-04-19 17:40:35 1281
原创 linux USB子系统之我的见解。
昨夜西风凋碧树。独上高楼,望尽天涯路::读薄阶段,可能会有错误。------王国维的读书三境界------------读书三境界,是清代文学家王国维提出的读书理论。王国维在《人间词话》说:“古今之成大事业、大学问者,必经过三种之境界:‘昨夜西风凋碧树。独上高楼,望尽天涯路’。此第一境也。‘衣带渐宽终不悔,为伊消得人憔悴。’此第二境也。‘众里寻她千百度,蓦然回首,那人却在灯火阑珊处’。此第三
2013-04-17 11:28:52 3061 2
原创 linux内核的串口驱动架构之我的形象理解
前面我们分析i2c的驱动框架的时候,我们把整个的linux系统比喻成一个超大型公司,其中i2c的一条总线类似一个测试部,另外一条总线是另外一个测试部,两个测试部门测试的类型是不同的,所以成了不同的部门。这样,i2c_core我们必须成了公司的管理部门和管理制度,有了这个制度,我们就知道如何新建一个测试部门(i2c总线啊),如何理顺这个测试部门的工作流程(i2c所谓的算法),以及测试部门如何招聘
2013-04-16 18:28:22 7232 1
原创 关于linux mmc/sd驱动程序架构
关于linux mmc/sd驱动程序架构今天花了时间简单看了mmc/sd部门内容和代码,我觉得形式上,这个部分和i2c非常相似系统也是分成core层,host层(对应i2c的adapter),设备层如果这样讲,那么core层主要功能应该是提供host注册,总线注册,设备注册的几个方法以及所谓sdio总线接口的算法了。host层已经是注册一个platform设备,其中应该提供主要sd
2013-04-16 15:03:18 7193 1
转载 android的binder机制研究(C++部分) 分享
(一) 概述 android的binder机制提供一种进程间通信的方法,使一个进程可以以类似远程过程调用的形式调用另一个进程所提供的功能。binder机制在Java环境和C/C++环境都有提供。 android的代码中,与C/C++的binder包括一些类型和接口的定义和实现,相关的代码在下面这几个文件中: frameworks\base\include\ut
2013-04-15 19:31:32 826
转载 Android 中input event的分析
文章将分析Android 的Input Event 子系统的来龙去脉。Android 系统里面有很多小工具,运行这些工具,我们对它们有一个感性的认识,进而阅读和分析这些小工具源代码,再顺藤摸瓜,就可以把整个子系统的来龙去脉弄清楚。1.运行toolbox的getevent 工具。# getevent -helpgetevent -helpUsage: getevent [-t]
2013-04-15 17:29:46 1027
原创 一个直观感性的方法认识linux的系统驱动架构
一个直观感性的方法认识linux的系统驱动架构接触计算机和Android很多年了,照葫芦画瓢可以写和调试linux的驱动程序,但是对linux的驱动体系理解一直觉得不深入,这段时间花一点时间深入思考这个问题,忽然觉得略有所获。我觉得linux系统,非常像一个大的跨国公司的管理系统,非常非常的像,而驱动程序像其中的一个部门职能。首先,什么是操作系统的核心,操作系统的核心就是一个公司的最重要的
2013-04-15 14:38:12 3096
原创 关于I2C驱动系统,将今天总结的内容简单总结一下
关于I2C驱动系统,将今天总结的内容简单总结一下:1,I2C_DEV的初始化中间,会向系统注册file_operations的结构,这个结构就包含了设备文件的注册,设备文件的打开,读写,IOCTRL等操作都包含在这里。2,具体的sysfs中间提供的adapter、device、client、bus、class等概念,都是为这里的file_operations提供支持作用的,具体如何支持,后
2013-04-15 10:59:40 1049
原创 设备节点注册和操作方法连接
今天把驱动程序乱七八糟的看了一通,简单总结一下。一个完整的驱动,需要提供如下的东西,第一,用户空间/dev下面的设备节点。当然,如果该设备仅仅是内核的使用,例如I2C,则不需要在/dev下面建立设备节点。第二,驱动程序,就是能到映射到/dev下面的fopen等系列操作。中间有些负责,不过这些基本的东西都还是能够找到,具体细节上的联系,还需要后面认真分析。从简单的sd卡驱动来看这些内
2013-04-13 15:00:14 3895
原创 linux设备驱动模型:xxxx_core之个人理解
linux设备驱动模型:xxxx_core之个人理解对于linux,一些常用的设备驱动,例如codec、uart、i2c等,都有一个xxxx_core的程序实现,例如serial_core,这是一个什么样的结构呢?其实,这就是提供了一般的原理实现机制。什么意思,打个比方来说,你想上网,你不需要自己做一个modem的板子,然后再写如何驱动联网的程序,而你只需要买一个modem回来,然后提供电
2013-04-13 10:20:17 1357
原创 关于linux设备驱动模型,今天做一个简单的理解总结,可能有错误,后面可能会更正
关于linux设备驱动模型,今天做一个简单的理解总结,可能有错误,后面可能会更正。1,在module_init(test_init);中间调用的test_init里面,一般会调用两个初始化,设备初始化和驱动初始化 platform_device_register(&test_device); return platform_driver_register(&test_dr
2013-04-12 10:26:26 1251
转载 MTK android flash 配置
关于6573集成MCP nandflash的方法,driver_allinone 和Memory Customer Document pdf的说明里面漏了很多细节.在此补上.1.首先确认flash型号.如sumsung的KA100O015E_BJTT.2.查看MTK_MVG_Release的MemoryDeviceList_MT7673.xls,看一看这颗flash是否经过mtk验
2013-04-11 18:11:18 1683
转载 MTK6515 android打版软件配置
1一、配置GPIO2二、配置emmc3三、配置LCM3.11、增加LCM驱动文件3.22、配置驱动文件3.33、配置背光4四、配置touch panel4.11、通过dct配置gipo及其对应的别名4.22、配置mediatek/config/bbk15_td_ics/ProjectConfig.mk4.33、增加 tp 驱动目录及驱动文
2013-04-11 17:11:50 1617 1
原创 关Kobject一篇文章!
李白游黄鹤楼,看了崔浩的黄鹤楼,感慨“眼前有景道不得,崔浩有诗在上头”!今天看了这位老兄的文档,觉得写得甚好http://blog.chinaunix.net/space.php?uid=13321460&do=blog&id=2902417转载地址在:【转】个人对kobject的一点研究 http://blog.chinaunix.net/uid-26434
2013-04-11 11:40:31 806
原创 Sysfs
摘自 维基百科,自由的百科全书Sysfs 是 Linux 2.6 所提供的一种虚拟文件系统。这个文件系统不仅可以把设备(devices)和驱动程序(drivers) 的信息从内核输出到 用户空间,也可以用来对设备和驱动程序做设置。历史Linux内核开发团队在 Linux 2.5 的开发过程中,引入了‘Linux 驱动程序模型’(Linux driver model)
2013-04-11 10:30:03 785
转载 Linux设备驱动概述(3)
Linux设备驱动概述1. 内核和驱动模块操作系统是通过各种驱动程序来驾驭硬件设备,它为用户屏蔽了各种各样的设备,驱动硬件是操作系统最基本的功能,并且提供统一的操作方式。正如我们查看屏幕上的文档时,不用去管到底使用nVIDIA芯片,还是ATI芯片的显示卡,只需知道输入命令后,需要的文字就显示在屏幕上。硬件驱动程序是操作系统最基本的组成部分,在Linux内核源程序中也占有较高的比例。Li
2013-04-09 14:31:23 774
转载 Linux设备驱动概述(2)
一、Linux device driver 的概念 系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,它完成以下的功能: 1、对设备初始化和释放; 2、把数据从内核
2013-04-09 14:30:08 654
转载 Linux设备驱动概述(1)
linux的设备驱动程序与外界的接口可以分为三个部分: 1,驱动程序与操作系统内核的接口。通过file_operations(include/linux/fs.h)数据结构来完成的。 2,驱动程序与系统引导的接口。这部分利用驱动程序对设备进行初始化。 3,驱动程序与设备的接口。这部分描述了驱动程序如何与设备进行交互,与具体的设备密切相关。根据功能划分,
2013-04-09 14:29:30 780
转载 让你自己写的Android的Launcher成为系统中第一个启动的,也是唯一的Launcher
如果你要定制一个Android系统,你想用你自己的Launcher(Home)作主界面来替换Android自己的Home,而且不希望用户安装的Launcher来替换掉你的Launcher.我们可以通过修改Framework来实现这样的功能。这里以Android2.1的源代码为例来实际说明。1)首先了解一下Android的启动过程。 Android系统的启动先从Zygote开
2013-04-08 14:08:37 787
原创 Android手机的USB
Android手机的USBAndroid的手机很少使用USB Host功能,不过很多平板上倒是有,其实Android USB Host功能比较简单,就是驱动USB Controller和Port的驱动程序而已。我们主要讨论USB Slave功能,这是每一个USB手机上没都有的。我们一般如何使用USB呢?基本上有如下几个功能。1,充电2,连接到电脑,当作大硬盘使用3,连接到电脑,
2013-04-07 16:43:25 6331
原创 关于aapt回编译%的错误的解决
出现did you mean to add the formatted="false" attribute?错误,这个问题有两个原因,第一,反汇编的时候,应该是%2$的方式,但是有的时候反编译成2$%第二个就是%字符应该是%%,所以,必须两个,但是反编译的时候只有一个了。加回去就ok了。
2013-04-01 16:30:34 1736
Gdb+gdbserver无源码调试Android 动态链接库的技巧
2013-06-13
使用hello-gl2建立ndk-gdb环境(有源码和无源码调试环境)
2013-06-11
apktool 1.5.3
2013-05-15
ARM平台下ELF文件反汇编
2013-05-08
linux kernel 的文件系统操作以及设备操作分析
2013-04-25
一遍很好介绍VFS文件系统结构的文章
2013-04-25
陀螺仪测试程序
2013-04-03
Linux usb gadget
2013-03-27
make_ext4fs
2013-03-15
bmp_to_grb565
2013-03-10
image change to bmp file
2013-03-10
Image Search Editor
2013-03-10
LG flash工具
2013-02-26
mtk6577 root.zip
2013-02-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人