2015-03-19 3 views
2

Я хотел бы спросить вас, есть ли способ создавать приложения реального времени в Android. Я знаю, что Android не поддерживает приложения в режиме реального времени, поэтому я задаюсь вопросом, есть ли альтернативный способ его решения. Можно ли это сделать с помощью другого (более реального времени) ядра?Ядро или разработка приложений в реальном времени

Есть ли способ спуститься и запрограммировать ядро ​​Linux в Android? Я не знаю, может ли Нативный код быть более полезным. Приложение должно иметь возможность контролировать управление камерой как можно быстрее, и не существует собственного API, предоставляемого Google. Любые другие предложения?

Благодаря

+0

Основываясь на вашем предыдущем вопросе о светодиодах, я думаю, вам придется либо идти по маршруту пользовательского ПЗУ, либо осознать, что вы пытаетесь сделать машину летать. И если это светодиод камеры/Flash - тогда вы находитесь в глубоком мире аппаратных драйверов. Одно из предложений - выгрузить светодиод строба на пользовательское USB-оборудование, которое можно вызвать через API-интерфейс USB. –

ответ

2

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

Возможно, вы сможете достичь производительности в режиме реального времени, внеся изменения в ядро. Увеличение количества исправлений в ядре (таких как изменения, внесенные патчем PREEMPT_RT) и реализация вашего кода в реальном времени в качестве процедуры обработчика прерываний, вызванной прерыванием с высоким приоритетом, может позволить вам получить время отклика в диапазоне от 10 до 100 с микросекунд , К сожалению, есть несколько проблем с этим подходом:

  • Хотя ядро ​​Linux в Android не сильно модифицировано, его достаточно много, чтобы существующие исправления в реальном времени Linux, вероятно, были несовместимы. Вам нужно будет исправить множество дополнений ядра Android с нуля.
  • Приложение Android не может просто установить модифицированное ядро ​​на устройство Android. Ядро должно быть распределено отдельно и свернуто на разблокированном устройстве. Это довольно непрактично для большинства приложений; однако это может быть разумным для целенаправленных систем.

Наконец, если у вас есть возможность разработки & взаимодействия пользовательского оборудования, вы можете легко выгружать в реальное время LED управление простым микроконтроллера. Большинство устройств имеют доступные интерфейсы, которые могут быть подключены к микроконтроллеру. И, конечно, если вы создаете собственное устройство, у вас есть много возможностей для взаимодействия с микроконтроллером.

Смежные вопросы