安卓 hal 串口驱动学习。。。

安卓是一个基于linux的系统,说的明白点其实安卓就是linux的应用程序。只是它对linux进行了封装。最底层的内核 其实并没有什么变化,开发安卓的驱动,最底层的跟linux没有任何分别。差别就在这个驱动要让java虚拟机里面跑的应用程序调用,并且正常使用。在安卓里实现的方法是 hal jni server  然后是客户端。这个hal曾其实就是典型linux平台下的操作底层驱动的编程。可以理解为unix编程。第二层 jni 就是为了方便java调用hal 而编写的转换层,第三层server 已经是完全的java了。他的主要功能就是调用第二次的jni接口。

最后每个使用这个驱动的应用程序 调用这个server 就实现了对底层驱动的操作。不得不说,有点曲折。有点复杂。实际上只要掌握了 linux的驱动编写,对于开发hal,我想难度已经不大了。因为 就算在linux下面 我们也要写对驱动的测试程序。而hal本质上 更那个底层测试程序太大的差别。


想使用安卓的usb转串口 首先要在内核里加载usb转串口的驱动程序。这样安卓启动的时候在/dev目录就出现了ttyUSB0 这样的文件。接着hal层 直接打开这个设备。进行设置,读写都做成接口。然后jni层,按照那些案例 修改代码 就差不多了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值