我的 DIY Android之旅
文章平均质量分 75
fantasyhujian
Stay hungryStay foolish
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
我的DIY Android之旅--Android2.3源码初识
编译运行完Android源码,接下来的就是如何去学习Android庞大的源码,没有一个正确的方法去学习分析它,那么你用几年的时间估计也不能把其中的代码弄清楚,作为一个Android开发者,你需要的是从一个非常庞大复杂的代码中提取你想要的那部分,然后正确的去修好编写它! 闲话少说,源码(Android2.3)的目录结构如图:Makefile (makefile文件)bionic (b原创 2013-04-12 23:39:05 · 1455 阅读 · 0 评论 -
Android自动化解锁脚本实现解析
Android自动化测试有很多方式,常见的包括MonkeyRunner,Robotium,SL4A,Java Instrumentation,Shell脚本等(随机点击的Monkey测试太过低级不在此列)。因测试需要,便在网上百度一下Android自动化测试脚本编写,自己动手完成Shell脚本,来通过脚本自动化测试一些需要的操作,有时候是非常的实用! 手机上有很多输入设备,这些设备的编原创 2014-02-15 14:00:18 · 6099 阅读 · 0 评论 -
ubuntu下编译undefined reference to error解决方法
undefined reference to error解决方法Linux下编译程序时,经常会遇到“undefined reference error” 报错, 这里总结一些可能的原因和解决方案,给需要的朋友: 说道undefined reference error,先提一下Linux gcc链接规则: 链接的时候查找顺序是:原创 2014-04-30 13:28:50 · 9396 阅读 · 0 评论 -
Android工程模式下读取硬件信息
Android 从本质上说是 Linux,因此可以把 Android 当作 Linux 来访问,从而达到访问系统信息的目的: proc 文件系统proc 文件系统是Linux内核开发人员为了减少系统调用的复杂性而引入的一种特殊文件系统。有了这种文件系统,用户只需要像查看文本文件一样就能够读取内核中的各种数据,给开发人员和系统管理员带来很大的便利。很多Linux常用命令都原创 2014-04-20 21:10:20 · 5145 阅读 · 0 评论 -
怎样做更好的Android驱动工程师
说句实话,方案公司那个层次的驱动已经不能算驱动了,实际上已经做了好几次的硬件抽象的封装,跟写应用没什么两样。真正linux底层还是需要有点功底的才行,不过一般这样的角色都在外资芯片公司。外资芯片公司的驱动,可以拿35W。设计公司的驱动行吗?人家研究的都是linux的底层驱动代码,没有长期的看代码积累几乎是不可能成长的。因为驱动层和linux内核息息相关,比方看到linux都原创 2014-04-26 20:10:30 · 5083 阅读 · 4 评论 -
展讯Framebuffer驱动解析
众所周知,Android的显示驱动是基于Linux标准的FrameBuffer驱动,用来抽象出Android的底层显示驱动,以屏蔽不同的显示硬件造成的不兼容,下面就以展讯平台的显示驱动来分析一下FrameBuffer驱动,展讯在底层用一个叫做sprdfb_device的设备驱动来建立一个基于FrameBuffer的设备。计算机研究者从很早开始已经开始讨论理论上FrameBuffer的优点,但却一直苦于没有能力生产一台拥有足够内存的计算机。1969年,贝尔实验室的JoanMiller试验了第一个原创 2014-04-12 23:51:35 · 2936 阅读 · 0 评论 -
深入浅出理解linux inode结构
一、inode是什么?参考文档:http://tech.diannaodian.com/dw/lin/2012/0112/154629.htmlstruct inode 索引节点对象由inode结构体表示,定义文件在linux/fs.h中。 struct inode { struct hlist_node i_hash; 哈希表 struct list_head i转载 2014-04-12 23:56:36 · 6609 阅读 · 0 评论 -
展讯充电管理模块浅析(一)
展讯充电管理模块浅析电池在电子产品中所占的地位就不用说了。不过电池在物理接口上比较简单,就两条线:正极、负极,这个小学生科普知识都知道;不过真正用到电子产品中时,有关电池方面的东西还是有点多的。参考文档:http://m.blog.youkuaiyun.com/blog/Baiduluckyboy/8813662http://blog.youkuaiyun.com/xubin341719/article/原创 2013-12-18 13:18:14 · 5256 阅读 · 1 评论 -
Android系统SD驱动浅析
首次出关于MTK方面的驱动文章,网上也很少有这方面的文章,所以我立志要写几篇这样的文章来引导刚出道的朋友们,咱们一起努力!大家都说MTK简单,但我个人做过高通平台一年时间,然后转而做MTK平台,感觉还是能学到东西的,代码并不比所谓的高通简单,只是它做的好,封装的好,所以做这块驱动可能开发者做的事情没高通多,所以大家觉得容易,学不到东西。但只要自己对技术执着,深入到架构的实现,还是能学到转载 2014-05-25 22:42:09 · 3930 阅读 · 0 评论 -
ARM Linux 3.x的设备树(Device Tree)
ARM Device Tree起源Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach-xxx转载 2014-07-27 23:00:54 · 1897 阅读 · 0 评论 -
我的DIY Android 之旅--gps框架及简析
看Android的GPS模块有两个月了吧,终于可以写点东西出来。首先来看看GPS模块的代码结构:Framework:1.frameworks/base/location/java/android/location这里主要是用来被App调用的,API包是android.location。2.frameworks/base/location/java/com/android/inter原创 2014-01-13 22:37:40 · 3349 阅读 · 0 评论 -
Android LCD调试实例流程
调试前的参考文档:1)调试lcd背光,背光主要分为PMIC自带的和单独的DCDC,如果为PMIC自带的背光,一般平台厂商已经做好,直接调用接口即可,如果为单独的DCDC驱动,则需要用GPIO控制DCDC的EN端2)确认lcd的模拟电,io电是否正常3)根据lcd的分辨率,RGB/CPU/MIPI等不同的接口,配置控制寄存器接口4)根据lcd spec配置PCLK的频率,配置PCLK原创 2013-08-10 16:15:04 · 3320 阅读 · 0 评论 -
显示屏驱动相关的基础知识
做Android显示屏驱动,你必须对显示屏的一些基本知识有一定的了解,才能更容易编写其驱动代码!LCD的接口类型大致有:SPI/I2C/MCU/CPU/RGB/MDDI/MIPI,SPI/I2C用于低速黑白屏,MCU/CPU/RGB为并口,在智能机之前的功能机上用的多,手机进入到大屏时代后,并口的传输速度跟不上,特别是面临高清播放的应用,能力不足,所以出现了MDDI和MIPI,MDDI为高通推原创 2013-08-05 13:33:20 · 6320 阅读 · 0 评论 -
我的DIY Android之旅--在(32位)ubuntu11.04编译运行Android2.3.源码
虽然很多网友都已经写过在ubuntu11.04中编译运行Android2.3的文章,不过,任何东西都得亲自去做过才会更加清楚的知道其中的步骤,很久以前就想亲自编译一下Android源码,想做一下Android的嵌入式开发,最近才开始真正去做,当然之前加入一个CM10的开发团队的部分尝试还是很有用的,虽然没怎么做出点什么东西,还是蛮惭愧的!最近要回学校做毕业设计和论文答辩,黄石的夏天估计热的稀烂,和原创 2013-04-12 21:34:44 · 1787 阅读 · 0 评论 -
我的DIY Android之旅--下载编译并运行你的Android内核
前一段时间一直在弄毕业论文和答辩的事情,还要急着赶回来上班,已经有一段时间没有弄Android开发了,话不多说,在老罗前一篇文章提到,从源代码树下载下来的最新Android源代码,是不包括内核代码的,也就是Android源代码工程默认不包含Linux Kernel代码,而是使用预先编译好的内核,也就是prebuilt/android-arm/kernel/kernel-qemu文件。众所周知,一个原创 2013-05-30 23:01:09 · 2784 阅读 · 0 评论 -
我的DIY Android之旅--单独改造你的Android模块
大家编译过Android源码的童鞋肯定知道,编译整个Android源码需要非常长的时间,以后如果我们修改了Android源代码中的某个模块或者在Android源代码工程新增一个自己的模块,是不是还是执行make命令呢?答案是否定的,Google为我们准备了另外的命令来支持编译单独的模块,以及重新打包system.img的命令。在继续学习Android源代码之前,就让我们先来看看这个命令吧。原创 2013-06-02 22:28:56 · 2252 阅读 · 0 评论 -
我的DIY Android之旅--Android应用层APP调用底层驱动实例(辛酸历程实记)
现在在这个智能手机的时代, 我相信一个具有自己个性的手机才可以吸引到自己的用户,而iphone在具有创新和个性的硬件基础上建立了自己的iOS手机操作系统,给了用户一个非常特别的用户体验,从而赢得了市场,Android的迅猛发展,各种各种的Android手机不断推出,市场占有率不断上升,而且Android手机出货量也是在极大的增长,已经形成了手机操作系统三分天下的局面,并且在不断的增加着Androi原创 2013-06-16 22:46:39 · 5301 阅读 · 3 评论 -
我的DIY Android之旅--驱动并控制你的Android开发板蜂鸣器
这些天一直在想Android驱动框架层的实现,本文借助老罗老师的博客和现有通过过分析台湾的Jollen的mokoid 工程代码,并尝试在Android开发板上驱动一个简单的蜂鸣器,来解析Android下驱动的调用。 HAL架构由Patrick Brady (Google) 在2008 Google I/O演讲中提出的,如下图。 其实可以考虑先编写驱动代码,然后使用N原创 2013-06-22 17:18:16 · 4362 阅读 · 0 评论 -
超级牛人在华为工作十年的感悟-值得小小程序猿学习
超级牛人在华为工作十年的感悟作者背景:徐家骏是华为数据中心的头,技术超级牛人,一级部门总监,华为副总裁,年收入过千万。从一个应届毕业生,到年薪千万的华为副总裁,再到离开华为转战百度,徐家骏的十年从业经历和经验对于今年的应届毕业生来说绝对可资借鉴,我们从中也可以一窥华为公司的运作过程和徐的职业规划。世界上本没有好工作,下的功夫够了,好工作自会找上门的。上周,我正式提交了离职报告,准备转载 2013-07-27 16:51:30 · 3495 阅读 · 0 评论 -
Linux下I2C驱动分析
Linux的I2C驱动架构1. Linux的I2C驱动架构Linux中I2C总线的驱动分为两个部分,总线驱动(BUS)和设备驱动(DEVICE)。其中总线驱动的职责,是为系统中每个I2C总线增加相应的读写方法。但是总线驱动本身并不会进行任何的通讯,它只是存在在那里,等待设备驱动调用其函数。设备驱动则是与挂在I2C总线上的具体的设备通讯的驱动。通过I2C总线驱动提供的函数,设备驱动可以忽略不原创 2013-08-03 16:18:24 · 1704 阅读 · 0 评论 -
展讯平台的u-boot驱动流程解析
U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下: (1)第一阶段的功能Ø 硬件设备初始化Ø 加载U-Boot第二阶段代码到RAM空间Ø 设置好栈Ø 跳转到第二阶段代码入口 (2)第二阶段的功能Ø 初始化本阶段使用的硬件设备Ø 检测系统内存映射Ø 将内核从Flash读取到RAM中Ø 为内核设置启动参数原创 2013-08-04 22:57:05 · 3941 阅读 · 3 评论 -
Ubuntu配置vim增加Ctag+Tlist+Nerdtree方便使用
以前看别人使用vim,貌似比较方便,今天也参考配置了一下,貌似还不错!参考文档:blog.youkuaiyun.com/bokee/article/details/6633193blog.youkuaiyun.com/yangmingysc/article/details/7255272以下是我的.vimrc文件,仅供参考,map :call SaveInputData()func! Save原创 2014-11-27 17:47:43 · 2755 阅读 · 0 评论
分享