Сделать драйвер для цифрового микроскопа для Android / arm устройства - PullRequest
2 голосов
/ 09 января 2012

У меня есть планшетный ПК с Android.

Конфиг:

marvell mohawk rev 0 v51
bogoMIPS: 797.00
Особенности: swp, half, thumb, fastmult, edsp, java, iwmmxt
Реализатор ЦП: 0x56
арка процессора: 5te
часть процессора: 0x840
Редакция процессора: 0
Аппаратное обеспечение: платформа разработки pxa168

Моя цель - разработать собственный драйвер, который будет получать поток от usb (из микроскопа), а затем отображать его в приложении Android на моем планшетном ПК.

Как я понимаю, я должен изучить не только арку arm v5, но и получить компилятор arm-gnu C и знать, как правильно обрабатывать поток байтов от usb.

Я посмотрел на проект usblib (OpenUSB), но, похоже, это не совсем понятный проект для arm arch и вызовет много проблем.

Итак, как я могу получить исходный поток от usb моего планшетного ПК (armv5 / android), затем получить в нативной части (ndk), чем через JNI отправить данные на Java и отобразить их на моем планшетном ПК.

Правильно ли я думаю и какие неприятности у меня будут на этом пути?

Танакс,
С наилучшими пожеланиями

Ответы [ 2 ]

1 голос
/ 06 февраля 2012

Android работает на ядре Linux. Поэтому вам нужен либо драйвер ядра Linux для вашего микроскопа, либо программа пользовательского режима для взаимодействия с ним (некоторые USB-устройства могут управляться исключительно с земли пользователя). В любом случае вам нужно будет рутировать ваше устройство. Используйте Android NDK, если вам нужно написать программу в основном режиме. Если вам нужно написать модуль ядра, получите исходные коды ядра для вашей платформы (либо из https://android.googlesource.com/kernel/common.git, либо, если применимо, из репозитория производителя). Прежде чем приступить к написанию драйвера, проверьте, не существует ли его уже для Linux; есть вероятность, что он будет работать с незначительными изменениями, если вообще будет работать на Android (что точно не сработает, это любое приложение с графическим интерфейсом для Linux).

1 голос
/ 17 января 2012

Android в настоящее время не поддерживает сторонние драйверы для USB-устройств. Однако, начиная с Android 3.1 (Honeycomb), существует API Java для прямой связи с USB-устройствами. Вы можете написать приложение для Android, которое полностью распознает и связывается с вашим микроскопом на Java. Если обработка данных, поступающих с микроскопа, требует более высокой производительности, вы можете написать собственный код (через NDK / JNI) для выполнения обработки.

...