我是Android新手。
我有一个问题一直困扰着我。
在android中,我们有用Java编写的框架。然后用C语言写的HAL,这些层通过JNI层胶合。这部分我理解。
然后说一个应该在内核空间中运行的驱动程序(示例相机驱动程序)。
基本上,据我所知,我们将使用系统调用来调用Camera设备驱动程序。
但是在Android中,我找不到任何这样的IOCTL调用,他们使用的是一个名为HIDL的术语。
我不知道流是如何从用户空间调用到内核空间驱动程序调用的。
有人可以澄清一下吗?
此致 Prasath S。
答案 0 :(得分:0)
HIDL是一个用于在可以独立编译的代码库之间进行通信的系统。 它指定数据结构和方法签名,这些签名在收集到包中的接口中进行组织。
有关 HIDL的详情,请参阅官方网站: -
https://source.android.com/devices/architecture/hidl/
为了理解从Userspace调用到内核空间驱动程序调用的流程,我认为,堆栈溢出链接可能对您有用: -