Co robi inżynier oprogramowania wbudowanego?

Użytkownicy komputerów są prawdopodobnie najbardziej zaznajomieni z oprogramowaniem działającym w ich systemach operacyjnych. Jednak wielu z nich nie ma tak dużego doświadczenia z oprogramowaniem, które reguluje działanie niektórych wyrafinowanych komponentów sprzętowych. Te komponenty są programowane przez profesjonalistów zwanych inżynierami oprogramowania wbudowanego.

Komponenty sprzętowe, które wykonują określone i wyspecjalizowane funkcje, nazywane są systemami wbudowanymi. Działają one jak komputery w komputerach, 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 elementów sprzętowych w maszynie. Rola systemu wbudowanego może być tak złożona, jak konwersja danych z anteny wewnętrznej na format danych, z którego może korzystać reszta urządzenia, lub tak prosta, jak przesyłanie określonych sygnałów po naciśnięciu przycisku. Programy, które uruchamiają te urządzenia, tworzy inżynier oprogramowania wbudowanego.

Praca inżyniera oprogramowania wbudowanego jest podobna do pracy inżynierów oprogramowania, którzy tworzą programy na komputery stacjonarne. Kod źródłowy do konwersji danych w jednym formacie na inny jest taki sam na komputerze osobistym, jak w systemie osadzonym. Różnice w pracy inżyniera oprogramowania wbudowanego polegają na dodawaniu dodatkowego kodu, aby program działał na specjalistycznym sprzęcie pełniącym funkcję systemu wbudowanego.

Systemy operacyjne, w których uruchamiane są aplikacje komputerowe, zawierają różne sterowniki. 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 wbudowane są samowystarczalne 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, jakich program będzie potrzebował do obsługi urządzenia wbudowanego.

Gdy inżynier oprogramowania wbudowanego zakończy programowanie urządzenia, jego praca musi zostać udokumentowana. Systemy wbudowane nigdy nie są używane samodzielnie, ale jako część większego projektu. Aby korzystać z urządzenia, inni inżynierowie muszą znać takie informacje, jak:

jakich danych oczekuje system wbudowany

jakiego formatu danych oczekuje jego programowanie

jak urządzenie zareaguje na różne sygnały wejściowe

format danych, które urządzenie wygeneruje;

Informacje te są następnie umieszczane w dokumentacji technicznej, którą inżynierowie oprogramowania wbudowanego opracowują sami, często w formie podręcznika. Czasami autorzy techniczni, a nie prawdziwi inżynierowie, tworzą takie podręczniki na podstawie notatek dostarczonych przez inżynierów oprogramowania. Posiadanie dokumentacji, do której można się odnieść, jest nieocenione dla użytkowników.