Co to jest oprogramowanie wbudowane?

„Co to jest oprogramowanie wbudowane?” to powszechnie zadawane pytanie. Świat i społeczeństwo wokół nas jest kształtowana i zarządzana przez systemy oparte na mikroprocesorach – rozruszniki serca, telefony komórkowe, urządzenia gospodarstwa domowego, samochody, systemy kontroli kolejowej, satelity – lista jest prawie dosłownie nieskończona. Bez nich nie byłoby energii, bieżącej wody czy dostaw żywności. Biznes i transport byłyby niemożliwe. Choroby rozprzestrzeniałyby się, a społeczeństwo gwałtownie by się rozpadło.

Oprogramowanie wykonywane w tych systemach nazywane jest oprogramowaniem wbudowanym. Jest to oprogramowanie komputerowe, które jest wbudowane w systemy sprzętowe napisane w celu kontrolowania maszyn lub urządzeń. Oprogramowanie wbudowane jest zazwyczaj zaprojektowane dla konkretnego sprzętu, na którym działa i często wykonuje określoną funkcję, chociaż pojedynczy element sprzętu może zawierać wiele programów wbudowanych.

Każdy element technologii, który ma płytki drukowane i chipy komputerowe prawdopodobnie będzie miał wbudowane oprogramowanie w nim. Producenci włączają wbudowane oprogramowanie do elektroniki w samochodach, telefonach, modemach, urządzeniach, zabawkach, systemach bezpieczeństwa, rozrusznikach serca, telewizorach i set-top boxach oraz zegarkach cyfrowych na przykład.

Wbudowane oprogramowanie pozwala na wiele zaawansowanych funkcji, które są powszechne w nowoczesnych urządzeniach. Podczas gdy oprogramowanie wbudowane może być bardzo proste, może być również bardzo wyrafinowane w zastosowaniach takich jak systemy kontroli procesów, broni wojskowej i samolotów.

Historia oprogramowania wbudowanego

Najbardziej innowacyjna technologia, jest często finansowana, badana i rozwijana dla zastosowań wojskowych i systemy wbudowane były używane w eksploracji kosmosu, naprowadzania rakiet i awioniki od późnych lat 30-tych do połowy lat 60-tych. To nie było do późnych lat 60-tych, że oprogramowanie wbudowane ewoluował do punktu, w którym był przydatny dla ludzi spoza tych obszarów specjalistycznych.

W latach 70-tych, pierwszy zintegrowany mikrokontroler chipy takie jak Intel 8008 wykonane oprogramowanie wbudowane wystartować. Ten pojedynczy układ działał jak mały komputer; mógł odczytywać dane ze świata rzeczywistego, przetwarzać je i generować dane wyjściowe, kontrolowane przez elastyczny program komputerowy. Dzięki tym chipom możliwe stało się napisanie pojedynczego programu, załadowanie go do chipa, a następnie wykonanie programu przez ten chip, gdy tylko otrzyma odpowiednie dane wejściowe. Do końca lat 80-tych, prawie każda forma elektroniki użytkowej miała jakiś rodzaj mikro-kontrolera wbudowanego wewnątrz niego.

W latach, które nastąpiły, koszt produkcji zintegrowanych mikro-kontrolerów spadł do grosza. W rezultacie, są one w prawie każdym urządzeniu elektronicznym, a każdy z tych chipów ma jeden lub więcej kawałków wbudowanego oprogramowania. Są one nawet w przedmiotach, o których większość ludzi nie pomyślałaby, że mają komputery, takich jak tostery, wentylatory elektryczne czy zabawki dla dzieci.

Wyzwania związane z oprogramowaniem wbudowanym

Oprogramowanie wbudowane jest z definicji częścią większego systemu sprzętowego, czy to samochodu, rozrusznika serca czy systemu automatyki przemysłowej. Nie tylko te systemy działają w czasie rzeczywistym i muszą produkować zaprojektowane działanie w określonym czasie w każdych okolicznościach, ale muszą działać z ograniczonymi zasobami, takimi jak mała przestrzeń pamięci, ograniczone możliwości przetwarzania danych lub niskie zużycie energii. Oprogramowanie wbudowane musi również dostosowywać się do szerokiego zakresu zmian w swoim środowisku. Procesory, czujniki i części sprzętowe zmieniają się w czasie, podczas gdy oprogramowanie pozostaje prawie takie samo. Ponadto oprogramowanie wymaga przenośności, autonomii, elastyczności i możliwości adaptacji.

Niezawodność jest najważniejsza. Nieoczekiwane zachowanie systemu wbudowanego może poważnie zaszkodzić jego środowisku operacyjnemu. Ponieważ użytkownicy końcowi wymagają długoterminowych zachowań od systemów wbudowanych, oprogramowanie wbudowane musi działać przez dziesięciolecia bez obsługi.

Owing to embedded software’s close association with critical environments and life threatening risks safety is also a key requirement. Cykl życia w rozwoju oprogramowania wbudowanego jest regulowany przez standardy, które wymagają wysokiej jakości, silnej inżynierii i procesów zarządzania. W połączeniu z wykorzystaniem najnowocześniejszych technologii, stawia to wysokie wymagania co do wiedzy technicznej i profesjonalizmu wymaganego od inżynierów oprogramowania wbudowanego. Jak rozmiar i złożoność oprogramowania wbudowanego rośnie, standardy stosowane w procesie rozwoju oprogramowania musi stale się poprawiać pomimo ostrej presji kosztów.

Bezpieczeństwo staje się coraz ważniejsze, jak „internet rzeczy” oznacza, że systemy wbudowane stają się bardziej powszechnie stosowane i bardziej wysoce połączone ze sobą. Jako codzienne urządzenia, takie jak pralki i lodówki zawierają łączność jako standardową cechę, Internet rzeczy jest zagrożony narażeniem nowych poziomów braku bezpieczeństwa i nowe pomysły są potrzebne, aby pomóc udaremnić złośliwe oprogramowanie i zagrożenia hakerskie.

Koniec

Oprogramowanie wbudowane zwiększa zmienność, konfigurowalność, rozszerzalność i zmienność codziennych produktów, a także pozwala na większą różnorodność funkcjonalności. Jest teraz fundamentalną częścią wielu rzeczy, które uważamy za oczywiste w codziennym życiu.

W przyszłości, oprogramowanie wbudowane będzie we wszystkim – w twoim zautomatyzowanym domu, inteligentnym samochodzie, infrastrukturze komunikacyjnej, instrumentach medycznych i implantach oraz wszechobecnych systemach kontroli. Nowe technologie związane z energią zwiększą wydajność przesyłu prądu elektrycznego i zapewnią natychmiastowe, skuteczne sposoby na zaspokojenie potrzeb energetycznych i klimatycznych.

Systemy wbudowane nie będą już definiowane przez sprzęt komputerowy, którego używają. Będą raczej zaprojektowane do wykonywania dowolnej funkcji w celu osiągnięcia wielu i zmieniających się celów, czy to na mikrokontrolerze, mikroprocesorze, procesorze sygnałowym, zespole biologicznym, czy jakimkolwiek innym programowalnym urządzeniu logicznym.

Im wyższej jakości życia pragniemy, im wyższe standardy życia chcemy ustanowić na całej planecie, i im bardziej wymagamy bezpieczeństwa i ochrony, tym bardziej potrzebujemy oprogramowania wbudowanego.

Więcej oprogramowania wbudowanego jest potrzebne.