2

背景:

我正在尝试将新传感器集成到 Android 平台中。出于开发目的,我使用的是 Nvidia Jetson-TK1 开发板和 Spark Core。Spark Core 与传感器通信,并通过 USB 串行输出数据。

在高层次上,我的需求是:

  • 能够通过 USB 将串行数据读/写到 Spark Core
  • 使用 API 编写的 Android Service 处理数据
  • 高速完成这一切

将来当我在使用 HAL 方面变得更有经验时,我可能会完全消除 Spark Core,并使用 Jetson 上的 GPIO 引脚来控制传感器 IC。

进入细节:

我可以通过 command 读取数据cat /dev/ttyACM0,但我正在寻找一种更底层的方法。我想使用 HAL 与设备进行通信。具体来说,我希望 Spark Core 在cat /proc/bus/input/devices.
然后我希望能够使用getevent /dev/input/eventXX.

主要问题:

这是我的方法:

  1. 在本机 C 代码中查找或开发 USB 设备驱动程序
  2. 在Android源码中使用JNI编译驱动
  3. 使用 HAL 定义创建 HAL 模块(.so 二进制文件)
  4. 将 Android 源代码编译到内核中
  5. 闪到 Jetson
  6. 利润

这个对吗?有人能指出我第一步的方向吗?我很困惑,因为我知道 Android 是基于 Linux 内核构建的,而 Linux 内核应该内置 USB 设备驱动程序(对吗?)

4

0 回答 0