1. Android 驱动开发-序

个人对Android驱动的理解,包括以下四部分:

  • 驱动

跟Linux驱动开发一模一样

  • 硬件抽象层(HAL)

这个要好好聊聊,好多文章都说的比较高大上,让人难懂(可能我笨)。驱动是工作在内核空间的,平时我们在 Linux 平台上做开发,写好驱动后,就可以在用户空间写应用程序,然后调用设备节点来操作具体设备了。而在Android,这个硬件抽象层其实就是在用户空间可以调用驱动的一个应用程序,由于这是在用户空间,就能使用 JNI 跟应用通信,那后面就到了Java的世界,一切都变得简单了;在做NDK开发的时候,可以绕过硬件抽象层,直接用 c/c++ 操作设备节点,供 Activity 使用,内部各种复杂的编译过程,动态链接库的生成和导入,这个工具已经全套完成了。

  • JNI

Java 跟 c/c++通信的接口,具体参考某某书籍吧,一大堆的描述

  • 系统服务

这部分还没理清楚,后续补充


接下来的各个小节,将以控制LED灯的开关为项目目标,分别描述各个层的实现。



- 瑞芯微 RK3066,MarsBoard 核心板及底板

- Android 4.4.2

- Linux 3.0.36+




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值