Некоторые проблемы с разработкой драйверов Android - PullRequest
4 голосов
/ 26 мая 2011

Я очень новичок в этой области. На самом деле я только начинаю исследовать возможности.

Простая версия моего вопроса: что потребуется, чтобы разработать драйвер (скажем, USB <-> Serial), развернуть его на телефоне Android (коммерческий продукт, не настроенный) и написать приложения для использования Это? Это вообще возможно?

А вот и более длинная версия.

У меня уже есть опыт разработки драйверов для Windows и некоторые знания о драйверах для Linux. И я также провел некоторые исследования. Все, что я знаю, это NDK. Чего я не знаю, так это:

  1. Все ссылки, которые я нашел, по-видимому, подразумевают разработку драйвера при разработке устройства, а не для взлома существующего. Это тот случай?

  2. Как развернуть, если это возможно? Должен ли драйвер интегрироваться с ядром в ПЗУ и кисть?

  3. Если устройство не поддерживает USB-хост, это из-за аппаратного дизайна или просто чего-то не хватает в программном обеспечении или обоих?

Извините за длинный список вопросов. Любые предложения в этой области помогут, так как у меня есть другие планы, связанные с созданием устройства Android с нуля. Спасибо за ваше время.

И, кстати, ADK слишком дорогой (по крайней мере сейчас) для моего приложения, поэтому он выходит за рамки уравнения.

Ответы [ 3 ]

0 голосов
/ 26 мая 2011

Honeycomb может обеспечивать стандартизированную поддержку хоста USB и некоторых функций, использующих его, и многие сотовые устройства, кажется, имеют порт, но я не знаю, есть ли стандарт в сотах, который говорит, что он должен поставляться с последовательным портом USB <>драйверы, доступные в исходном ядре Linux.

Для всех более ранних версий любая возможность будет зависеть от устройства и требовать root-доступа.

ADK доступен для последних версий Android, но по мере того, как выотметил, что это очень неоптимальное решение, так как оно добавляет всю сложность к аксессуару, а также требует, чтобы обеспечить питание шины, оба из которых "обратные" по сравнению с обычным случаем.

0 голосов
/ 13 сентября 2011

Для установки драйвера потребуется root.

Например: http://groups.google.com/group/android-platform/browse_thread/thread/e1794bdecebb62cc?pli=1

0 голосов
/ 26 мая 2011

1., 2. Вы не можете внедрить пользовательский драйвер в исходный ROM. Чтобы внедрить драйвер, вашим пользователям нужно будет полностью рутировать устройство или прошить собственное ПЗУ.

3.- Это зависит от устройства. Некоторые могут использовать USB-хост с пользовательским программным обеспечением, некоторые - нет.

Ознакомьтесь с комплектом разработки для Android Open Accessory . При этом вы можете создать плату с последовательным портом, которая будет взаимодействовать со стандартными устройствами Android 2.3.4+ и Android 3.1+ через протокол аксессуаров Android.

...