Android
文章平均质量分 79
sz_zh
这个作者很懒,什么都没留下…
展开
-
Android学习之 Platform总线 2
1 基于Platform总线的驱动开发流程·定义初始化platform bus·定义各种platform devices·注册各种platform devices·定义相关platform driver·注册相关platform driver·操作相关设备 基于Mx53QSB为例,实现流程如下:1.1 初始化platform_bus初始化代码在k原创 2011-06-27 17:13:00 · 2590 阅读 · 1 评论 -
在Ubuntu上为Android系统编写Linux内核驱动程序
在智能手机时代,每个品牌的手机都有自己的个性特点。正是依靠这种与众不同的个性来吸引用户,营造品牌凝聚力和用户忠城度,典型的代表非iphone莫属了。据统计,截止2011年5月,AppStore的应用软件数量达381062个,位居第一,而Android Market的应用软件数量达294738,紧随AppStore后面,并有望在8月份越过AppStore。随着Android系统逐步扩大市场占有率转载 2012-09-19 09:21:53 · 776 阅读 · 0 评论 -
学习 1-在Ubuntu上为Android系统编写Linux内核驱动程序
学习android以来,对于其从上到下的调用接口一直是做些修修补补的工作,为了系统的掌握Android从上到下的调用关系,更好的写好驱动以便为应用所调用,转载并学习了老罗的Android之旅的文章,收益颇深,在此表示感谢!按照老罗的描述,添加kernel中hello设备驱动,编译,仅在hello_create_proc时出现错误,经查看知道owner不是结构proc_dir_entry原创 2012-09-19 15:42:54 · 882 阅读 · 0 评论 -
在Ubuntu上为Android增加硬件抽象层(HAL)模块访问Linux内核驱动程序
在Android硬件抽象层(HAL)概要介绍和学习计划一文中,我们简要介绍了在Android系统为为硬件编写驱动程序的方法。简单来说,硬件驱动程序一方面分布在Linux内核中,另一方面分布在用户空间的硬件抽象层中。接着,在Ubuntu上为Android系统编写Linux内核驱动程序一文中举例子说明了如何在Linux内核编写驱动程序。在这一篇文章中,我们将继续介绍Android系统硬件驱动程序的另一转载 2012-09-20 15:52:53 · 548 阅读 · 0 评论 -
在Ubuntu为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口
在上两篇文章中,我们介绍了如何为Android系统的硬件编写驱动程序,包括如何在Linux内核空间实现内核驱动程序和在用户空间实现硬件抽象层接口。实现这两者的目的是为了向更上一层提供硬件访问接口,即为Android的Application Frameworks层提供硬件服务。我们知道,Android系统的应用程序是用Java语言编写的,而硬件驱动程序是用C语言来实现的,那么,Java接口如何去访问转载 2012-09-20 15:55:37 · 587 阅读 · 0 评论 -
在Ubuntu上为Android系统内置Java应用程序测试Application Frameworks层的硬件服务
我们在Android系统增加硬件服务的目的是为了让应用层的APP能够通过Java接口来访问硬件服务。那么, APP如何通过Java接口来访问Application Frameworks层提供的硬件服务呢?在这一篇文章中,我们将在Android系统的应用层增加一个内置的应用程序,这个内置的应用程序通过ServiceManager接口获取指定的服务,然后通过这个服务来获得硬件服务。转载 2012-09-22 10:58:06 · 580 阅读 · 0 评论 -
在Ubuntu上为Android系统的Application Frameworks层增加硬件访问服务
在数字科技日新月异的今天,软件和硬件的完美结合,造就了智能移动设备的流行。今天大家对iOS和Android系统的趋之若鹜,一定程度上是由于这两个系统上有着丰富多彩的各种应用软件。因此,软件和硬件的关系,在一定程度上可以说,硬件是为软件服务的。硬件工程师研发出一款硬件设备,自然少了软件工程师为其编写驱动程序;而驱动程序的最终目的,是为了使得最上层的应用程序能够使用这些硬件提供的服务来为用户提供软件功转载 2012-09-22 10:56:32 · 484 阅读 · 0 评论 -
android C调用JAVA的方法
学习并转载了老罗的Java到C通过JNI调用的过程,在自己的平台上逐一实现,很是受用。本文将在此基础上,进行C到JAVA调用的验证。C到JAVA的调用在android系统GPS部分数据上报部分已经用到。 为了测试,在hardware中添加dev->init函数,实现callback的简历,并在init中创建线程,循环上报,添加后的代码如下:/hardware/libhar原创 2012-09-26 11:59:03 · 5906 阅读 · 0 评论 -
在Ubuntu上为Android系统内置C可执行程序测试Linux内核驱动程序
在前一篇文章中,我们介绍了如何在Ubuntu上为Android系统编写Linux内核驱动程序。在这个名为hello的Linux内核驱动程序中,创建三个不同的文件节点来供用户空间访问,分别是传统的设备文件/dev/hello、proc系统文件/proc/hello和devfs系统属性文件/sys/class/hello/hello/val。进一步,还通过cat命令来直接访问/proc/hello和/转载 2012-09-19 13:43:33 · 815 阅读 · 0 评论 -
一种调试i2c、spi器件寄存器的方法
在调试芯片驱动的调试阶段,经常会碰到寄存器值不确定,需要不断更改寄存器的值来调试芯片驱动的效果到最佳状态,从而出现要不停的编译驱动代码,这样浪费了很多的时间,下面介绍一种调试的方法,通过创建节点,通过echo和cat来写和读设备寄存器的值,从而达到快速调试的效果。 首先要创建节点,在驱动的探测函数中,创建节点:device_create_file(devices*, device原创 2012-09-11 10:06:42 · 2692 阅读 · 0 评论 -
imx5 lvds屏调试
imx53含有两个lvds 通道,分别对应DI0,DI1,每个通道包含一组clk和四组data,可以根据自己的情况选择一下四种应用模式:• Single channel output• Dual channel output (one input source, two channels outputs for two displays)• Split channel output (原创 2012-09-26 16:45:26 · 7474 阅读 · 0 评论 -
Android学习之Platform总线 1
借鉴http://wenku.baidu.com/view/107d915377232f60ddcca113.html学习i.mx531.platformPlatform 总线是 2.6kernel引入的一种虚拟总线,用来管理CPU的片上资源,具有更好的移植性,很多驱动都用platform改写了。platform_bus_type在Kernel_imx/drivers/base/pla原创 2011-06-24 15:35:00 · 1751 阅读 · 1 评论 -
FSL Android Recovery Mode
FSL i.Mx53的Android Recovery Mode已经在i.MX_Android_R10.3_User_Guide.html这个文件中有介绍,引用如下:4.5.6 Software Update and Wipe Partition using Recovery ModeIt is possible to format the /data and /cache partiti原创 2012-08-10 17:04:57 · 3701 阅读 · 0 评论 -
GPIO按键处理流程
GPIO按键属于是系统的一种设备,挂载到platform总线上,其原理请参考Android学习之platform开发流程,以下直接介绍其在imx53qsb上的应用。1 Button设备的定义和注册1.1 Button设备的定义Kernel-imx\arch\arm\mach-mx5\Mx53_loco.c#L690#define GPIO_BUTTON(gpio_n原创 2012-07-27 15:52:05 · 8746 阅读 · 5 评论 -
FSL Camer 调试
1 概述FSL iMx53 Camera Android驱动调试完成,根据需要增加了Tw2836、Tw9912、NT99140模组的驱动代码。 2 CameraHal2.1 CameraHal代码分析Camera Hal层代码见下图1:图1其中CamerHal.cpp为camer硬件抽象层,主要是接口,完成CamerService到V原创 2012-07-27 15:53:43 · 3446 阅读 · 3 评论 -
调试FSL Android GPS学习select和epoll的用法
对于android GPS 接口和调用关系,已经在jshazk1989的blog里介绍很详细,引用链接如下 基于android 的GPS 移植——主要结构体及接口介绍和基于android 的GPS 移植——调用关系,在此不再过多介绍。 以下主要介绍在进行FSL i.Mx5 Android系统调试GPS遇到的一些问题和修改。系统使用的是车机的一块GPS芯片,支持标准的NMEA协原创 2012-07-30 18:29:26 · 3119 阅读 · 0 评论 -
Shell while read命令完成用户的交互输入
read是Linux的一个命令,主要完成用户的交互输入。参数如下:-a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。-d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志,会举例说 明。-p 后面跟提示信息,即在输入前打印提示信息。-e 在输入的时候可以时候命令补全功能。-n 后跟一个数字,定义输入文本的长度,很实用。-r原创 2012-08-17 10:58:15 · 13734 阅读 · 0 评论 -
FSL Imx53 启动流程分析(1) --上电启动
IMx53上电后,进入的是其内部的Memory,从iMx53RM.pdf Chapter 2中可以查看到System Memory Map图如下: 从片内地址的0x0000_0000至0x0000_FFFF这64K是Boot Rom的空间,其固化有Boot Code。IMx53在硬件复位后会强制Arm内核从Boot Rom启动,运行Boot Code。 Boot原创 2012-08-29 17:29:45 · 3669 阅读 · 0 评论 -
启动流程分析(2)-uboot
1 Uboot存放地址Uboot是是运行完固化的Boot Code后,Boot Code会跳转到选定设备的指定地址去运行,以EMMC为例,见下图起始的前0x200即512B为MBR,接着的是预留的Second Image Table,Boot Image( uboot)应该放在0x400(1024)的地址,即烧写uboot的时候,就应该烧写在emmc主分区的10原创 2012-08-31 17:43:29 · 5389 阅读 · 0 评论 -
Linux新手生存笔记[13]——SVN命令总结
转载自 http://blog.csdn.net/wklken/article/details/6594956目录(?)[+]回到全局目录-------------------------------------------------------目录一、从版本库获取信息... 1二、从版本库到本地... 2转载 2013-03-02 10:36:16 · 561 阅读 · 0 评论