zoukankan      html  css  js  c++  java
  • 《Android深度探究HAL与驱动开发》学习笔记----第四章

    第四章 源代码的下载和编译

     

    Ubuntu 上为Android 系统编写Linux 内核驱动程序

    这里,我们不会为真实的硬件设备编写内核驱动程序。为了方便描述为Android 系统编写内核驱动程序的过程,我们使用一

    个虚拟的硬件设备,这个设备只有一个4 字节的寄存器,它可读可写。想起我们第一次学习程序语言时,都喜欢用“Hello, World”

    作为例子,这里,我们就把这个虚拟的设备命名为“hello”,而这个内核驱动程序也命名为hello 驱动程序。其实,Android 内

    核驱动程序和一般Linux 内核驱动程序的编写方法是一样的,都是以Linux 模块的形式实现的,具体可参考前面Android 学习

    启动篇一文中提到的Linux Device Drivers 一书。

    要想学好Android驱动开发,首先了解Linux内核,Linux驱动开发。

    1. 熟悉linux C应用程序编程,熟悉常用的API等(这是基础,很重要)
    2. 学习LDD,LKD,这两本书可以说是入门,也可以说是大纲,对驱动开发很有帮助。
    3. 如果还有余力和时间,就看看ULK。

    然后嘛,了解一下Android的HAL吧,罗升阳那本《Android系统源代码情景分析》好像还不错,也可以看看他的系列博客文章。照着文章里的实例,实现,写代码练习。

    真正想学习好驱动开发建议自己买一块开发版,这样可以实践与理论相结合从而可以便于理解相关知识点。

    Don't part with your illusions. When they are gone you may still exist, but you have ceased to live. (Mark Twain, American writer) 不要放弃你的幻想。当幻想没有了以后,你还可以生存,但是你虽生犹死。((美国作家 马克·吐温)
  • 相关阅读:
    记MongoDB的安装
    Python格式化输出指定宽度及占位符
    LMDB数据库加速Pytorch文件读取速度
    IDEA设置输入后自动提示
    IDEA2020 最新激活
    java 编译执行cmd命令
    算法9:What is the sum of the digits of the number 21000
    JAVA8 LocalDateTime
    算法8:已知 a^2+b^2=c^2(a,b,c 为自然数,a<b<c),且a+b+c=1000,求abc的值?
    ROS学习笔记
  • 原文地址:https://www.cnblogs.com/stilwaters/p/5451690.html
Copyright © 2011-2022 走看看