Jump to content

Встроенное программное обеспечение

Встроенное программное обеспечение — это компьютерное программное обеспечение , написанное для управления машинами или устройствами, которые обычно не считаются компьютерами, обычно называемыми встроенными системами . Обычно он специализирован для конкретного оборудования , на котором работает, и имеет ограничения по времени и памяти. [1] Этот термин иногда используется как взаимозаменяемый с прошивкой . [2]

Крупный план чипа SMSC LAN91C110 (SMSC 91x), встроенного Ethernet . чипа

Точная и стабильная характерная особенность заключается в том, что не все функции встроенного программного обеспечения инициируются/управляются через человеческий интерфейс , а вместо этого — через машинные интерфейсы. [3]

производители встраивают программное обеспечение в электронику автомобилей , телефонов, модемов, роботов , бытовой техники, игрушек, систем безопасности, кардиостимуляторов , телевизоров и телеприставок, а также цифровых часов . Например, [4] Это программное обеспечение может быть очень простым, например, управление освещением, работающее на 8-битном микроконтроллере с несколькими килобайтами памяти, с подходящим уровнем сложности обработки, определяемым с помощью структуры вероятно приблизительно правильных вычислений. [5] (методика, основанная на рандомизированных алгоритмах ). Однако встроенное программное обеспечение может стать очень сложным в таких приложениях, как маршрутизаторы , элементы оптических сетей, самолеты , ракеты и управления технологическими процессами . системы [6]

Операционные системы

[ редактировать ]

В отличие от стандартных компьютеров, которые обычно используют такие операционные системы, как macOS , Windows или Linux , встроенное программное обеспечение может не использовать операционную систему. Когда они все-таки используют одну, можно выбрать широкий спектр операционных систем, обычно операционную систему реального времени . Код для встроенного программного обеспечения обычно пишется на C или C++ различные языки программирования высокого уровня , такие как Java , Python и JavaScript . , но в настоящее время для микроконтроллеров и встроенных систем широко используются [7] Языки ассемблера также часто используются, особенно при загрузке и обработке прерываний . Ада используется в некоторых военных и авиационных проектах.

Отличия от прикладного программного обеспечения

[ редактировать ]
Встроенный системный текстовый пользовательский интерфейс с использованием MicroVGA. [номер 1]

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

Встроенное программное обеспечение должно включать все необходимые драйверы устройств на этапе производства, причем драйверы устройств пишутся для различных аппаратных устройств. Эти драйверы устройств, называемые BSP ( пакет поддержки платы ), образуют уровень программного обеспечения, содержащий драйверы для конкретного оборудования и другие процедуры, которые позволяют конкретной операционной системе (традиционно операционной системе реального времени или RTOS) функционировать в определенной аппаратной среде. (компьютер или карта ЦП), интегрированная с самой ОСРВ. Программное обеспечение сильно зависит от процессора и конкретных выбранных чипов. Большинство инженеров встраиваемого программного обеспечения обладают хотя бы поверхностными знаниями в области чтения схем и листов данных для компонентов, чтобы определить использование регистров и системы связи. Преобразование между десятичными , шестнадцатеричными и двоичными числами полезно, а также использование битовых манипуляций . [8]

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

Разработка программного обеспечения требует использования кросс-компилятора , который работает на компьютере, но создает исполняемый код для целевого устройства. Для отладки требуется использование внутрисхемного эмулятора и оборудования для отладки, такого как JTAG или SWD отладчики . Разработчики программного обеспечения часто имеют доступ к полному исходному коду ядра (ОС).

Размер оперативной памяти и оперативной памяти может существенно различаться. Некоторые системы работают с 16 КБ флэш-памяти и 4 КБ ОЗУ с процессором, работающим на частоте 8 МГц, другие системы могут конкурировать с современными компьютерами. [9] Эти требования к пространству приводят к тому, что больше работы выполняется на C или встроенном C++ вместо C++. Интерпретируемые языки, такие как BASIC (хотя, например, Parallax Propeller может использовать скомпилированный BASIC) и Java (Java ME Embedded 8.3). [10] доступен, например, для микроконтроллеров ARM Cortex-M4 , Cortex-M7 и более старых ARM11, используемых в Raspberry Pi и Intel Galileo Gen. 2), обычно не используются; в то время как реализация интерпретируемого языка Python 3 — MicroPython — доступна специально для использования в микроконтроллерах, например, 32-битные микроконтроллеры на базе ARM (например, BBC micro:bit ) и 16-битные микроконтроллеры PIC .

Протоколы связи

[ редактировать ]

Связь между процессорами, а также между одним процессором и другими компонентами имеет важное значение. Помимо прямой адресации памяти , общие протоколы аппаратного уровня включают I²C , SPI , последовательные порты , 1-Wires , Ethernet и USB .

Протоколы связи, предназначенные для использования во встроенных системах, доступны в виде закрытого исходного кода от таких компаний, как InterNiche Technologies и CMX Systems . с открытым исходным кодом Протоколы происходят от uIP , lwip и других.

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ Более подробную информацию о MicroVGA можно найти в этом PDF-файле .
  • Эдвард А. Ли, «Встроенное программное обеспечение», «Достижения в области компьютеров » ( Марвин Виктор Зелковиц , редактор) 56 , Academic Press, Лондон, 2002.
  1. ^ «Страуструп о C++ для встраиваемых систем (внизу стр.2)» (PDF) . Проверено 9 декабря 2012 года .
  2. ^ Эмилио, Маурицио Ди Паоло (1 сентября 2014 г.). Проектирование встраиваемых систем для высокоскоростного сбора и управления данными . Спрингер. ISBN  978-3-319-06865-7 .
  3. ^ «ИКС на встроенном программном обеспечении» . Архивировано из оригинала 22 марта 2013 года . Проверено 22 июля 2013 г.
  4. ^ «Методы и технологии встроенных систем» . Архивировано из оригинала 29 октября 2013 года . Проверено 9 декабря 2012 г.
  5. ^ Алиппи, Чезаре (2014), Интеллект для встраиваемых систем , Springer, ISBN  978-3-319-05278-6 .
  6. ^ http://ptolemy.eecs.berkeley.edu/publications/papers/02/embsoft/embsoftwre.pdf [ пустой URL PDF ]
  7. ^ Маццеи, Даниэле; Монтелискиани, Габриэле; Бальди, Джакомо; Фантони, Гуальтьеро (2015). Изменение парадигмы программирования для встраиваемых систем в области IoT . Интернет вещей (WF-IoT), 2-й Всемирный форум IEEE 2015 г., 2015 г. Милан: IEEE. стр. 239–244. дои : 10.1109/WF-IoT.2015.7389059 .
  8. ^ «Страуструп о встроенном программном обеспечении» . Архивировано из оригинала 3 февраля 2013 года . Проверено 9 декабря 2012 года .
  9. ^ «Пример встроенного процессора» . Проверено 9 декабря 2012 года .
  10. ^ «Встроенная Java ME» . Технологическая сеть Oracle .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 36f96dac6a8f1a560449f1ff3d9be789__1706517420
URL1:https://arc.ask3.ru/arc/aa/36/89/36f96dac6a8f1a560449f1ff3d9be789.html
Заголовок, (Title) документа по адресу, URL1:
Embedded software - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)