Вбудоване програмне забезпечення (англ. embedded software) — це комп'ютерне програмне забезпечення, написане для керування машинами або пристроями, відоме як вбудовані системи. Цей термін іноді використовується як взаємозамінний з терміном мікропрограмне забезпечення.
Особливістю вбудованого програмного забезпечення є те, що більшістю його функцій можна керувати виключно за допомогою машинного інтерфейсу, а не через інтерфейс користувача.
Наприклад, виробники використовують вбудоване програмне забезпечення в електроніці автомобілів, телефонів, модемів, роботів, іграшок, систем безпеки, кардіостимуляторів, телевізорів і телеприставок, а також цифрових годинників. Це програмне забезпечення може бути дуже простим. Наприклад, керування освітленням, що працює на 8-розрядному мікроконтролері з кількома кілобайтами пам'яті з відповідним рівнем складності обробки, визначеним за допомогою системи Probably Approximately Correct Computation (методологія, заснована на увипадковлених алгоритмах). Однак вбудоване програмне забезпечення може мати і складну побудову у таких програмах, як маршрутизатори, елементи оптичної мережі, літаки, ракети та системи керування процесами.
Операційні системи
На відміну від стандартних комп'ютерів, які зазвичай використовують операційні системи, такі як macOS, Windows або Linux, вбудоване програмне забезпечення може не використовувати операційну систему. Код для вбудованого програмного забезпечення зазвичай пишеться на C або , але різні мови програмування високого рівня, такі як Java, Python і JavaScript, зараз також широко застосовуються у мікроконтролерах та вбудованих системах. Мови асемблера також часто використовуються, особливо при завантаженні та обробці переривань. Ada використовується в деяких військових та авіаційних проєктах.
Відмінності від прикладного програмного забезпечення
Більшість споживачів знайомі з програмним забезпеченням, яке відповідає за функціональність на комп'ютері. Однак вбудоване програмне забезпечення часто менш помітне, але не менш складне. На відміну від прикладного програмного забезпечення, вбудоване програмне забезпечення має фіксовані вимоги до обладнання та можливості, а додавання стороннього апаратного або програмного забезпечення жорстко контролюється.
Вбудоване програмне забезпечення має включати всі необхідні драйвери пристроїв під час виготовлення, а драйвери пристроїв написані для різних апаратних пристроїв. Ці драйвери пристроїв, які називаються BSP (пакет підтримки плат), утворюють рівень програмного забезпечення, що містить драйвери, специфічні для обладнання та інші підпрограми, які дозволяють конкретній операційній системі (традиційно операційній системі реального часу або RTOS) функціонувати в певному апаратному середовищі (комп'ютер або плата ЦП), інтегрованому з самою ОСРЧ. Програмне забезпечення сильно залежить від обраного ЦП і конкретних мікросхем. Більшість розробників вбудованого програмного забезпечення мають принаймні побіжні знання читання схем і читання таблиць даних компонентів для визначення використання регістрів і системи зв'язку.
Вебпрограми часто використовуються для керування обладнанням, при цьому XML-файли та інші вихідні дані можуть передаватися на комп'ютер для відображення. Зазвичай використовуються файлові системи з папками, однак бази даних SQL часто відсутні.
Розробка програмного забезпечення вимагає використання крос-компілятора, який працює на комп'ютері, але створює виконуваний код для цільового пристрою. Налагодження вимагає використання внутрішньосхемного емулятора та налагоджувального обладнання, такого як JTAG або SWD. Розробники програмного забезпечення часто мають доступ до повного вихідного коду ядра (ОС).
Обсяг пам'яті та оперативної пам'яті може значно відрізнятися. Деякі системи працюють з 16 КБ Flash і 4 КБ оперативної пам'яті з ЦП, який працює на 8 МГц, інші системи можуть конкурувати з сучасними комп'ютерами. Ці вимоги до простору призводять до того, що більше роботи виконується на C або , замість C++. Інтерпретовані мови, такі як BASIC (тоді як Parallax Propeller може використовувати скомпільований BASIC) і Java (Java ME Embedded 8.3 доступна, наприклад, для мікроконтролерів ARM Cortex-M4, Cortex-M7 і старіших ARM11, які використовуються в Raspberry Pi та Intel Galileo Gen) широко не використовуються. В той час як реалізація інтерпретованої мови Python 3 — MicroPython — однак, доступна спеціально для використання мікроконтролерів, напр. 32-розрядні мікроконтролери на основі ARM (наприклад, BBC micro: bit) і 16-розрядні мікроконтролери PIC.
Комунікаційні протоколи
Зв'язок між процесорами та іншими компонентами є важливим. Окрім прямої адресації пам'яті, загальні протоколи апаратного рівня включають I²C, SPI, послідовні порти, 1-Wire, Ethernet та USB.
Комунікаційні протоколи, розроблені для використання у вбудованих системах, доступні у закритому коді від компаній, включаючи InterNiche Technologies та CMX Systems. Протоколи з відкритим кодом походять від uIP, lwip та інших.
Примітки
- Emilio, Maurizio Di Paolo (2014). Embedded systems design for high-speed data acquisition and control. Cham. ISBN . OCLC 890646530.
- Alippi, Cesare (2014). Intelligence for embedded systems : a methodological approach. Berlin. ISBN . OCLC 878424116.
- Lee, Edward (2002). (PDF). Advances in Computers: Academic Press. Архів оригіналу (PDF) за 27 січня 2022. Процитовано 27 січня 2022.
- Mazzei, Daniele; Montelisciani, Gabriele; Baldi, Giacomo; Fantoni, Gualtiero (2015-12). . 2015 IEEE 2nd World Forum on Internet of Things (WF-IoT). IEEE. с. 239—244. doi:10.1109/WF-IoT.2015.7389059. ISBN . Архів оригіналу за 27 січня 2022. Процитовано 27 січня 2022.
- . Архів оригіналу за 15 червня 2012. Процитовано 9 грудня 2012.
- . Oracle Technology Network. Архів оригіналу за 19 листопада 2016. Процитовано 1 лютого 2022.
- . aduk.de. 10 грудня 2021. Архів оригіналу за 23 січня 2022. Процитовано 27 січня 2022.
Посилання
- Edward A. Lee, «Embedded Software», Advances in Computers (M. Zelkowitz, editor) 56, Academic Press, London, 2002.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Vbudovane programne zabezpechennya angl embedded software ce komp yuterne programne zabezpechennya napisane dlya keruvannya mashinami abo pristroyami vidome yak vbudovani sistemi Cej termin inodi vikoristovuyetsya yak vzayemozaminnij z terminom mikroprogramne zabezpechennya Osoblivistyu vbudovanogo programnogo zabezpechennya ye te sho bilshistyu jogo funkcij mozhna keruvati viklyuchno za dopomogoyu mashinnogo interfejsu a ne cherez interfejs koristuvacha Napriklad virobniki vikoristovuyut vbudovane programne zabezpechennya v elektronici avtomobiliv telefoniv modemiv robotiv igrashok sistem bezpeki kardiostimulyatoriv televizoriv i telepristavok a takozh cifrovih godinnikiv Ce programne zabezpechennya mozhe buti duzhe prostim Napriklad keruvannya osvitlennyam sho pracyuye na 8 rozryadnomu mikrokontroleri z kilkoma kilobajtami pam yati z vidpovidnim rivnem skladnosti obrobki viznachenim za dopomogoyu sistemi Probably Approximately Correct Computation metodologiya zasnovana na uvipadkovlenih algoritmah Odnak vbudovane programne zabezpechennya mozhe mati i skladnu pobudovu u takih programah yak marshrutizatori elementi optichnoyi merezhi litaki raketi ta sistemi keruvannya procesami Operacijni sistemiNa vidminu vid standartnih komp yuteriv yaki zazvichaj vikoristovuyut operacijni sistemi taki yak macOS Windows abo Linux vbudovane programne zabezpechennya mozhe ne vikoristovuvati operacijnu sistemu Kod dlya vbudovanogo programnogo zabezpechennya zazvichaj pishetsya na C abo C ale rizni movi programuvannya visokogo rivnya taki yak Java Python i JavaScript zaraz takozh shiroko zastosovuyutsya u mikrokontrolerah ta vbudovanih sistemah Movi asemblera takozh chasto vikoristovuyutsya osoblivo pri zavantazhenni ta obrobci pererivan Ada vikoristovuyetsya v deyakih vijskovih ta aviacijnih proyektah Vidminnosti vid prikladnogo programnogo zabezpechennyaBilshist spozhivachiv znajomi z programnim zabezpechennyam yake vidpovidaye za funkcionalnist na komp yuteri Odnak vbudovane programne zabezpechennya chasto mensh pomitne ale ne mensh skladne Na vidminu vid prikladnogo programnogo zabezpechennya vbudovane programne zabezpechennya maye fiksovani vimogi do obladnannya ta mozhlivosti a dodavannya storonnogo aparatnogo abo programnogo zabezpechennya zhorstko kontrolyuyetsya Vbudovane programne zabezpechennya maye vklyuchati vsi neobhidni drajveri pristroyiv pid chas vigotovlennya a drajveri pristroyiv napisani dlya riznih aparatnih pristroyiv Ci drajveri pristroyiv yaki nazivayutsya BSP paket pidtrimki plat utvoryuyut riven programnogo zabezpechennya sho mistit drajveri specifichni dlya obladnannya ta inshi pidprogrami yaki dozvolyayut konkretnij operacijnij sistemi tradicijno operacijnij sistemi realnogo chasu abo RTOS funkcionuvati v pevnomu aparatnomu seredovishi komp yuter abo plata CP integrovanomu z samoyu OSRCh Programne zabezpechennya silno zalezhit vid obranogo CP i konkretnih mikroshem Bilshist rozrobnikiv vbudovanogo programnogo zabezpechennya mayut prinajmni pobizhni znannya chitannya shem i chitannya tablic danih komponentiv dlya viznachennya vikoristannya registriv i sistemi zv yazku Vebprogrami chasto vikoristovuyutsya dlya keruvannya obladnannyam pri comu XML fajli ta inshi vihidni dani mozhut peredavatisya na komp yuter dlya vidobrazhennya Zazvichaj vikoristovuyutsya fajlovi sistemi z papkami odnak bazi danih SQL chasto vidsutni Rozrobka programnogo zabezpechennya vimagaye vikoristannya kros kompilyatora yakij pracyuye na komp yuteri ale stvoryuye vikonuvanij kod dlya cilovogo pristroyu Nalagodzhennya vimagaye vikoristannya vnutrishnoshemnogo emulyatora ta nalagodzhuvalnogo obladnannya takogo yak JTAG abo SWD Rozrobniki programnogo zabezpechennya chasto mayut dostup do povnogo vihidnogo kodu yadra OS Obsyag pam yati ta operativnoyi pam yati mozhe znachno vidriznyatisya Deyaki sistemi pracyuyut z 16 KB Flash i 4 KB operativnoyi pam yati z CP yakij pracyuye na 8 MGc inshi sistemi mozhut konkuruvati z suchasnimi komp yuterami Ci vimogi do prostoru prizvodyat do togo sho bilshe roboti vikonuyetsya na C abo zamist C Interpretovani movi taki yak BASIC todi yak Parallax Propeller mozhe vikoristovuvati skompilovanij BASIC i Java Java ME Embedded 8 3 dostupna napriklad dlya mikrokontroleriv ARM Cortex M4 Cortex M7 i starishih ARM11 yaki vikoristovuyutsya v Raspberry Pi ta Intel Galileo Gen shiroko ne vikoristovuyutsya V toj chas yak realizaciya interpretovanoyi movi Python 3 MicroPython odnak dostupna specialno dlya vikoristannya mikrokontroleriv napr 32 rozryadni mikrokontroleri na osnovi ARM napriklad BBC micro bit i 16 rozryadni mikrokontroleri PIC Komunikacijni protokoliZv yazok mizh procesorami ta inshimi komponentami ye vazhlivim Okrim pryamoyi adresaciyi pam yati zagalni protokoli aparatnogo rivnya vklyuchayut I C SPI poslidovni porti 1 Wire Ethernet ta USB Komunikacijni protokoli rozrobleni dlya vikoristannya u vbudovanih sistemah dostupni u zakritomu kodi vid kompanij vklyuchayuchi InterNiche Technologies ta CMX Systems Protokoli z vidkritim kodom pohodyat vid uIP lwip ta inshih PrimitkiEmilio Maurizio Di Paolo 2014 Embedded systems design for high speed data acquisition and control Cham ISBN 978 3 319 06865 7 OCLC 890646530 Alippi Cesare 2014 Intelligence for embedded systems a methodological approach Berlin ISBN 978 3 319 05278 6 OCLC 878424116 Lee Edward 2002 PDF Advances in Computers Academic Press Arhiv originalu PDF za 27 sichnya 2022 Procitovano 27 sichnya 2022 Mazzei Daniele Montelisciani Gabriele Baldi Giacomo Fantoni Gualtiero 2015 12 2015 IEEE 2nd World Forum on Internet of Things WF IoT IEEE s 239 244 doi 10 1109 WF IoT 2015 7389059 ISBN 978 1 5090 0366 2 Arhiv originalu za 27 sichnya 2022 Procitovano 27 sichnya 2022 Arhiv originalu za 15 chervnya 2012 Procitovano 9 grudnya 2012 Oracle Technology Network Arhiv originalu za 19 listopada 2016 Procitovano 1 lyutogo 2022 aduk de 10 grudnya 2021 Arhiv originalu za 23 sichnya 2022 Procitovano 27 sichnya 2022 PosilannyaEdward A Lee Embedded Software Advances in Computers M Zelkowitz editor 56 Academic Press London 2002