24小时论文定制热线

热门毕设:土木工程工程造价桥梁工程计算机javaasp机械机械手夹具单片机工厂供电采矿工程
您当前的位置:论文定制 > 毕业设计论文 >
快速导航
毕业论文定制
关于我们
我们是一家专业提供高质量代做毕业设计的网站。2002年成立至今为众多客户提供大量毕业设计、论文定制等服务,赢得众多客户好评,因为专注,所以专业。写作老师大部分由全国211/958等高校的博士及硕士生设计,执笔,目前已为5000余位客户解决了论文写作的难题。 秉承以用户为中心,为用户创造价值的理念,我站拥有无缝对接的售后服务体系,代做毕业设计完成后有专业的老师进行一对一修改与完善,对有答辩需求的同学进行一对一的辅导,为你顺利毕业保驾护航
代做毕业设计
常见问题

Android操作系统摄像头HAL封装技术

添加时间:2019/07/30 来源:北方工业大学 作者:梁宗希
本章主要介绍了相关的Linux2.6,Android2.3的新特性,详细说明了作为实验载体的Smart210开发板的各类参数和ov9650的参数,介绍了设计的s5pv210HAL模块的编译方法,并且给出了测试结果,实验结果证明,本文关于Android下Linux摄像头驱动的HAL封装方法正确可靠。
以下为本篇论文正文:

摘要

  随着Android系统的推广,手机、移动设备以及各种智能终端大量釆用Android作为操作系统。在Android系统当中,camera HAL (硬件抽象层)是联系上层摄像头接口与下层Linux摄像头驱动的纽带,它的设计好坏,直接影响到摄像头功能的发挥。现今,很多Android硬件厂商如三星、高通等都有自己的camera HAL代码,但是由于它们的HAL闭源,并且鲜见对Android摄像头HAL开发进行深入研宄的论文,使得普通开发者无从研究HAL,这给在Android下提高摄像头效能和进一步开发摄像头程序带来了很大的困难。

  鉴于上述现状,本文首先在Linux系统下,根据开源的摄像头驱动程序,设计和优化了 ov/9650驱动、FIMC驱动、i2c驱动,提出了 Linux摄像头驱动与Android HAL开发的一体化架构,然后,通过对Camera子系统的深入分析研宄,提出了一种Android camera HAL的封装方法,设计并实现了一个s5pv210HAL模块,有了该模块,Android系统中上层应用程序通过一系列的调用,最终会调用到设计的HAL模块,HAL模块会调用Linux V4I2接口并最终调用摄像头驱动,使摄像头正常工作,实验结果证明,提出的HAL封装方法正确可靠,设计的s5pv210模块能够保证摄像头的正常工作。

  关键词:Linux摄像头驱动;0V9650; Android硬件抽象层;Android HAL封装设计

ABSTRACT

  With the popularization of Android system, many cell phones, mobile devices, as well as all kinds of intelligent terminals begin to use Android system as the operating system. In the Android system,camera HAL is the bridge to connect the upper camera interface and lower Linux camera drivers,which can directly affect the duality of the camera function. Nowadays, many Android hardware manufacturers such as Samsung, Qualcomm all have their own HAL code, while, because their source code of HAL is closed and rare papers discuss about the development of Android camera HAL in-depth,it makes ordinary developers barely improve camera performance and further development.

  In view of the above situation, the paper firstly designed and optimized the ov9650 camera driver,FIMC driver, i2c driver according to the open source Linux camera driver, put forward a unified architecture of Linux camera driver and Android HAL development. Secondly, through the deep study of camera sub-system, the paper put forward an Android camera driver HAL encapsulation method and designed an s5pv210 HAL module, with this module, the upper application layer can finally invoke the Linux camera driver and make the camera regular work. The experiment results show that the proposed HAL method is correct and reliable, the designed s5pv210 module can guarantee the normal operation of the camera.

  KEY WORDS: Linux camera driver; OV9650; Android HAL; Android HAL encapsulation methods

  Android操作系统,是以Linux内核为基础,并在其上搭建若干框架层之后所建立的操作系统,Android操作系统一经推出,便以其易用、美观、稳定等特性吸引了大量的用户。随着近年来Android智能操作系统在全球掀起热潮,越来越多的用户、开发者选择在Android平台下进行业务的操作和软件的开发。

  在Android系统问世之前,嵌入式领域由Linux WinCE等几家公司共享,但是,随着Android智能操作系统不断快速发展和完善,越来越多的嵌入式设备开始使用Android操作系统,Android逐渐成为最主流的操作系统了。本来,Android操作系统是以Li~内核为基础,Linux下丰富的资源应该成为Android发展的一大优势,但是,Google为了保护照顾硬件厂商的利益,在Linux内核与Android上层框架之间另外加了一层硬件抽象层(Hardware Abstract Layer ),这就为Linux下的资源直接在Android下利用带来了巨大的不便。

  本课题的意义在于研究Android下Camera HAL的具体封装方法,设计一个HAL模块,使其过程透明化,为个人开发者研究摄像头硬件抽象层提供一种思路,为移植Linux的驱动资源到Android做好准备。

  现今,硬件的更新速度越来越快,在嵌入式系统当中,更换硬件之后,往往造成原有操作系统内部驱动无法支持新的硬件,目前,很多嵌入式设备都开始使用Android操作系统,Android系统当中的硬件抽象层,封装了硬件驱动的具体实现细节,是控制Android系统硬件资源正常工作的核心。

  目前,在Android操作系统下,只有部分比较有实力的大型硬件厂商有自己的硬件抽象层代码,并且这些代码处于闭源的状态。Android操作系统虽然提供了HAL的封装接口,但是很少看到专门对于具体的驱动进行HAL封装的实例,因此,很少有个人用户能够独立的进行HAL模块的开发,这给独立开发者移植硬件驱动资源资源到Android以及优化硬件系统带来了很大的不便。

  随着越来越多的个性化需求出现,许多开发者开始关注硬件抽象层,并试图去尝试各种开源的封装方法,随着研究的不断深入,相信未来对于硬件抽象层的研究会越来越完善和深入。

  课题工作主要包含了两个设计和一个研究,Linux摄像头驱动设计以Linux下开源驱动为基础,对其进行了修改设计和优化,HAL设计重点展示了摄像头硬件抽象层的具体封装方法,提供了一种有效的HAL封装思路,HAL模块的开发与设计是本课题的重点,一个研究是对Camera子系统的研究,主要集中在了系统框架分析和Binder进程间通讯机制分析,这是正确封装HAL不可或缺的一环,这是本课题的难点。

  第一章:从整体上介绍了本课题状况,包括背景与意义,叙述课题研究领域在国内外的发展现状,总结本文所做的工作。

  第二章:重点分析和研究了Android系统下的Camera子系统,分析了其总体框架、调用流程,研究了Binder进程间通讯机制,分析了HAL的封装规范。

  第三章:在原有Linux摄像头驱动的基础之上,设计并优化了ov9650驱动,FIMC驱动,i2c驱动,进行了Linux摄像头驱动与Android HAL开发的一体化设计。

  第四章:进行了Linux摄像头驱动在Android下的HAL模块的设计,首先提出了一种可行的函数封装方法,然后设计了一个s5pv210模块,它有三个线程,由于三个线程封装方法类似,本课题具体实现了其中的预览线程。

  第五章:系统试验,首先详细介绍了本课题的开发环境,然后详细讲解了实验步骤,给出了实验结果。

  第六章:总结与展望。

Android操作系统摄像头HAL封装技术:

Smart210核心板
Smart210核心板

Smart210 底板
Smart210 底板

OV9650功能模块
OV9650功能模块

编译HAL过程
编译HAL过程

Linux摄像头驱动加载
Linux摄像头驱动加载

ov9650预览效果(视频分辨率800*480)
ov9650预览效果(视频分辨率800*480)

目录

  摘要
  1.引言
    1.1 本课题研究的背景和意义
    1.2 本课题在国内外的发展现状
    1.3 本文所做的工作
  2. Android操作系统中的Gamera子系统及HAL模块相关
    2.1 Camera子系统的总体架构
    2.2 Binder进程间通信机制
      2.2.1 Binde。进程间通讯库
    2.3 Camera子系统中的C/S结构
      2.3.1 Client端
        2.3.1.1 ICameraClient
        2.3.1.2 Camera
        2.3.1.3 ICamera
        2.3.1.4 ICameraService
      2.3.2 Server端
      2.3.3 Camera 子系统所使用到的HAL
    2.4 Android中的HAL及其封装规范
    2.5 HAL的封装
      2.5.1 HAL模块文件的命名
      2.5.2 HAL模块结构体定义规范
        2.5.2.1 hw module t的定义
        2.5.2.2 hw module methods t
        2.5.2.3 hw device t
    2.6 HAL的加载
    2.7 本章小结
  3. Linux摄像头驱动的设计与优化
    3.1 Linux摄像头模块与Android HAL的一体化设计
      3.1.1 V4L2驱动程序架构
      3.1.2一体化设计总体方案
    3.2 12C驱动的设计
    3.3 FIMC驱动的设计与Linux摄像头模块的优化
    3.4 本章小结
  4. Linux摄像头驱动在Android下的HAL设计
    4.1 HAL模块的总体设计
    4.2 s5pv210 HAL模块的实现
    4.3 本章小结
  5.系统试验
    5.1 Linux 2.5特性
    5.2 Android 2.3特性
    5.3 搭载s5pv210芯片的Smart210开发板
      5.3.1 s5pv210简介
      5.3.2 Smart210开发板特性
      5.4 ov9650摄像头特性
    5.5 编译HAL模块
    5.6 实验结果
    5.7 本章小结
  6.总结与展望
  参考文献
  申请学位期间的研究成果及发表的学术论文
  致谢

(如您需要查看本篇毕业设计全文,请您联系客服索取)
相关内容
好优论文定制中心主要为您提供代做毕业设计及各专业毕业论文写作辅导服务。 网站地图
所有论文、资料均源于网上的共享资源以及一些期刊杂志,所有论文仅免费供网友间相互学习交流之用,请特别注意勿做其他非法用途。
如有侵犯您的版权或其他有损您利益的行为,请联系指出,论文定制中心会立即进行改正或删除有关内容!