Преимущества UNIX или варианта UNIX на микроконтроллере?

Это может быть глупый вопрос, но я некоторое время искал и не вижу четкого ответа. Я видел несколько микроконтроллеров, рекламируемых как работающие с Unix-подобным программным обеспечением (Linux, Ubuntu), например, BeagleBone Black и Arduino Yun. Может кто-нибудь объяснить мне пользу этого? До сих пор я использовал пару микроконтроллеров, таких как Arduino Uno/Duo, Freescale FRDM и STM32 Discovery, которые либо не имели этой функции, либо я не знал о ней. Я все чаще и чаще вижу его на новых микроконтроллерах, поэтому мне хотелось бы знать, что он дает на столе.

Полное раскрытие: до сих пор у меня было минимальное знакомство с UNIX и его вариантами, поэтому, пожалуйста, говорите медленно и используйте короткие слова =)

Надеюсь услышать от вас, Юсиф Нуризаде


person Yusif_Nurizade    schedule 24.06.2014    source источник
comment
Это не микроконтроллеры под управлением Linux, на которые вы указали. Они могут иметь или не иметь другие микросхемы на борту, которые могут быть или иметь микроконтроллеры, но процессоры под управлением Linux - нет.   -  person old_timer    schedule 25.06.2014
comment
dwelch, вы правы, спасибо за поправку. Я начинаю понимать, какую роль варианты UNIX играют во встраиваемых системах, и буду изучать ее более подробно.   -  person Yusif_Nurizade    schedule 25.06.2014
comment
Linux/Unix предоставит вам настольное приложение, похожее на интерфейс для программ, требует гораздо больше энергии и денег, но не требует специальных навыков программирования. За копейки за штуку у вас все еще есть микроконтроллеры, и у них есть среды, облегчающие жизнь, но системы значительно более ограничены, чем встроенные системы Unix. Телевизионная приставка, такая как Roku, встроенный Linux имеет смысл, стоит мощности и стоимости, пульт дистанционного управления, который запускает этот Roku, микроконтроллер имеет смысл.   -  person old_timer    schedule 25.06.2014
comment
raspberry pi и beaglebone black и другие демонстрируют, что за некоторое количество долларов за плату eval вы можете получить Linux и, возможно, добавить микроконтроллер или несколько для развлечения, но плата eval или доска для домашнего пивоварения — это одно, когда вы ее включаете. в продукт даже 25 долларов против 0,25 доллара имеют большое значение, батареи, которые разряжаются за секунды, а не дни и т. д.   -  person old_timer    schedule 25.06.2014
comment
dwelch, спасибо за уточнение. Уточните, пожалуйста, какой из этих вариантов проще реализовать? Вы упоминаете, что опция Linux/Unix не требует специальных навыков программирования, но также и то, что микроконтроллеры имеют среду, которая упрощает жизнь, но более ограничена, чем опция Unix/Linux. Ниже Махендра упоминает, что вариант Unix/Linux имеет крутую кривую обучения, поэтому я немного смущен тем, насколько легко его использовать.   -  person Yusif_Nurizade    schedule 26.06.2014
comment
Вы уже сказали, что использовали обнаружение stm32 и Arduino, каков был ваш опыт по сравнению с написанием командной строки или приложения с графическим интерфейсом в операционной системе, такой как Windows или Linux?   -  person old_timer    schedule 26.06.2014
comment
Использование компилятора C для микроконтроллера также может иметь свои издержки, зависит от компилятора и микроконтроллера, возможно, иногда можно выбрать контроллер с половиной флэш-памяти или оперативной памяти, если вы пишете на ассемблере вместо C, но тогда есть разработка и обслуживание стоимость использования asm по сравнению с C.   -  person old_timer    schedule 26.06.2014
comment
что проще, лучше и т. д., то есть все в глазах смотрящего, ваш ответ может отличаться от моего, который может отличаться от ответа следующего человека, и все может быть правильным ответом.   -  person old_timer    schedule 26.06.2014
comment
Я полагаю, что ничего не остается, как попробовать и посмотреть, как это сравнивается. Еще раз спасибо за совет!   -  person Yusif_Nurizade    schedule 26.06.2014
comment
Что касается Linux, вы, конечно, можете просто запустить его на компьютере или виртуальной машине (virtualbox и т. д.). Есть некоторые встроенные платы, которые также имеют некоторый уровень симуляции в qemu, в основном вы можете попробовать это бесплатно.   -  person old_timer    schedule 26.06.2014


Ответы (2)


Вы бесплатно получаете комплексные драйверы, уже включенные в Linux (USB, интернет-протоколы, носители и файловые системы).

Вы можете использовать множество бесплатных программ для вещей, не включенных в ядро.

Программу проще разрабатывать на полноценной ОС (проще отлаживать, смотреть, что происходит, менять конфигурацию и т.д. и т.п.).

Недостаток в том, что возможности реального времени в целом хуже, чем у какой-нибудь мелкой RTOS, да и ресурсов нужно больше (пара мегабайт памяти).

person starblue    schedule 24.06.2014
comment
Спасибо за ваш ответ starblue. Можно ли сказать, что эта опция предназначена для более опытных пользователей? Например, я использовал CodeWarrior для платы FRDM, и хотя он дает вам гораздо больше возможностей для управления и отладки, чем Arduino, код был гораздо более сложным, и потребовалось некоторое время, чтобы привыкнуть к нему. - person Yusif_Nurizade; 25.06.2014

В основе всех Android и iPhone лежит встроенная система Linux. Не слишком углубляясь

  • Linux + Java = Android
  • Вариант BSD Unix + C/C++/Object C = iOS

Теперь, если вы углубитесь в два приведенных выше утверждения, можно утверждать, что они точны.

Все устройства Android работают на микропроцессорах на базе ARM. Beaglebone — одна из таких аппаратных платформ с открытым исходным кодом, на которой можно запускать Android, а также дистрибутив Embedded Linux и даже Ubuntu.

Теперь (ИМХО) Ubuntu в первую очередь для настольных и серверных приложений. Многие из популярных ферм компьютерных серверов используют Ubuntu.

Теперь STM32 — это микроконтроллер CORTEX-M на базе ARM. Еще раз (ИМХО) в основном используется для встроенных приложений с голым металлом. Мне трудно, что FreeRTOS можно портировать на TM4C123 ARM Cortex-M TM4C123.

Теперь преимущества использования базовой архитектуры микроконтроллера Linux очевидны.

  1. ОС по большей части бесплатна
  2. Расширенное сообщество пользователей
  3. Индустрия движется к открытому исходному коду
  4. Множество бесплатных ресурсов ускоряются

Недостатком являются

  1. Кривая обучения довольно крутая
  2. Ожидайте споткнуться и упасть несколько раз

Ниже приведены два хороших ресурса для изучения разработки с открытым исходным кодом Beaglebone.

  1. Бигльбон
  2. Введение в разработку Beaglebone Дерека Моллоя из Дублинского городского университета

ХТ и удачи

person Mahendra Gunawardena    schedule 25.06.2014
comment
Махендра, спасибо; это было очень глубоко! Я думаю, что понимаю преимущества использования варианта UNIX в качестве ОС. Когда я обратился к starblue, меня беспокоила кривая обучения, связанная с этой функцией. Это определенно стоит изучить для будущего применения, но из-за крутой кривой обучения я не думаю, что буду использовать его сейчас. - person Yusif_Nurizade; 25.06.2014
comment
Обратите внимание, что Cortex-M не имеет MMU. Таким образом, вы можете использовать только ucLinux, который имеет некоторые ограничения (в основном фиксированное расположение памяти). - person starblue; 25.06.2014