Co robi inżynier oprogramowania wbudowanego?
Użytkownicy komputerów prawdopodobnie najlepiej znają oprogramowanie działające w ich systemach operacyjnych. Wielu z nich nie ma jednak tak dużego doświadczenia z oprogramowaniem, które reguluje działanie niektórych wyrafinowanych komponentów sprzętowych. Komponenty te są programowane przez specjalistów zwanych inżynierami oprogramowania wbudowanego.
Komponenty sprzętowe, które wykonują określone i specjalistyczne funkcje, nazywane są systemami osadzonymi . Działają one jak komputery wewnątrz komputerów, z własnymi procesorami i pamięcią. Systemy wbudowane pobierają dane z określonych komponentów sprzętowych, wykonują ich programowanie, a następnie przekazują dane do innych urządzeń w maszynie. Rola systemu osadzonego może być tak złożona, jak konwersja danych z wewnętrznej anteny do formatu danych, z którego może korzystać reszta urządzenia, lub tak prosta, jak przesyłanie określonych sygnałów po aktywacji za pomocą przycisku. Wbudowany inżynier oprogramowania tworzy programy obsługujące te urządzenia.
Zadanie inżyniera oprogramowania wbudowanego jest podobne do inżynierów oprogramowania tworzących programy na komputery stacjonarne. Kod źródłowy do konwersji danych z jednego formatu na inny jest taki sam na komputerze osobistym, jak w systemie osadzonym. Innym zadaniem inżyniera oprogramowania wbudowanego jest dodanie dodatkowego kodu, aby program działał na specjalistycznym sprzęcie działającym jako system wbudowany.
Systemy operacyjne, w których uruchamiane są aplikacje komputerowe, obejmują różne oprogramowanie sterowników. Jest to odpowiednie dla tych systemów ze względu na zakres sprzętu, który może znajdować się w komputerze, oraz oprogramowanie, które może uruchomić użytkownik. Systemy osadzone są samodzielne i uruchamiają tylko jeden program. Z tego powodu programista musi tylko załadować ograniczoną liczbę sterowników i sam program do ograniczonej pamięci urządzenia. Zadanie inżyniera oprogramowania wbudowanego zwykle obejmuje określenie najmniejszej liczby sterowników, których program będzie potrzebował do obsługi urządzenia wbudowanego.
Po zakończeniu programowania wbudowanego inżyniera oprogramowania jego praca musi zostać udokumentowana. Systemy wbudowane nigdy nie są używane same, ale jako część większego projektu. Aby korzystać z urządzenia, inni inżynierowie muszą znać takie informacje, jak:
- jakie dane oczekuje system osadzony
- jakiego formatu danych oczekuje jego programowanie
- jak urządzenie zareaguje na różne sygnały wejściowe
- format danych, które urządzenie wyśle
Informacje te są następnie zawarte w dokumentacji technicznej, którą sami tworzą wbudowani inżynierowie oprogramowania, często w formie instrukcji. Czasami pisarze techniczni, a nie inżynierowie, tworzą takie podręczniki na podstawie notatek dostarczanych przez inżynierów oprogramowania. Posiadanie dokumentacji, do której można się odnieść, jest nieocenione dla użytkowników.