Centrum wiedzy o technologiach i pracy w IT
Płytka drukowana, element systemu embedded

Embedded Developer – czym się zajmuje?

Jeśli myślisz o rozpoczęciu pracy w IT i przeglądasz oferty, aby rozeznać się w zapotrzebowaniu na konkretnych specjalistów, z pewnością trafiłeś na stanowisko Embedded Developer (Programista Systemów Wbudowanych). Przeczytaj poniższy tekst i dowiedz się, na czym polega to stanowisko.

Ostatnia aktualizacja: 16.05.2022. Dodaliśmy akapity o Platform IO oraz wskazówki na temat dlaszego rozwoju po zapoznaniu się z Arduino.

Czym są systemy wbudowane?

W przeciwieństwie do systemów ogólnego przeznaczenia (tj. komputerów), systemy wbudowane można scharakteryzować jako urządzenia o różnym stopniu skomplikowania, realizujące konkretną funkcję. Przykładem będą:

  • żarówka z funkcją ściemniania przez Bluetooth,
  • robot kuchenny,
  • komputer w samochodzie,
  • respirator.

Systemy wbudowane mogą być skonstruowane na bazie układów o różnej mocy obliczeniowej, czyli mikrokontrolerów, procesorów aplikacyjnych i procesorów komputerowych. W tym artykule skupimy się na mikrokontrolerach.

Sprawdź: Co musi wiedzieć JavaScript Developer?

Czym różni się programowanie embedded od programowania webowego?

Środowiskiem docelowym oprogramowania webowego jest komputer. Podczas programowania embedded środowiskiem docelowym są mikrokontrolery.

Dzisiejsze komputery charakteryzują się dużymi mocami obliczeniowymi. Częstotliwość pracy procesorów liczona jest w gigahercach, pamięć RAM w gigabajtach, natomiast pojemność dysków w terabajtach.

Dla porównania, skromny mikrokontroler pracuje z częstotliwością kilkudziesięciu megaherców, czyli około sto razy wolniej od komputera. Pamięć RAM liczona jest kilobajtach (to już sto tysięcy razy mniej, niż komputer), a pamięć programu w setkach kilobajtów – nawet milion razy mniej, niż w komputerach.

W związku z tak ograniczonymi zasobami wymagane jest programowanie bez systemu operacyjnego. Czasami stosuje się bardzo proste systemy operacyjne, czyli RTOS (real-time operating system). Kluczowym warunkiem jest jednak optymalizacja kodu.

Czym właściwie zajmuje się Embededd Developer?

Embedded Developer wykorzystuje inne narzędzia pracy, niż programista webowy.

Programista webowy koduje w językach wysokopoziomowych (JS, PHP) i korzysta z frameworków, debuguje aplikacje w przeglądarce i współpracuje z projektantami UI.

Embedded Developer koduje w językach niskopoziomowych (C, C++, asembler) i pracuje bezpośrednio na sprzęcie, wykorzystując narzędzia testowe, np. debugger, analizator logiczny lub oscyloskop i współpracuje z projektantami hardware.

Ze względu na konieczność pracy tak blisko sprzętu, często przydaje się znajomość podstaw elektroniki i budowy wewnętrznej procesora.

Zobacz: Tester oprogramowania to rola dla ciebie, czy nie? Sprawdź

Od czego zacząć programowanie embedded?

Jedną z opcji jest środowisko Arduino. Płytki bazowe Arduino są łatwo dostępne i istnieje na rynku mnóstwo płytek rozszerzających. Arduino to nie tylko sprzęt, ale też specyficzny framework oparty na C++, który ułatwia start. W toku dalszego rozwoju można przejść na programowanie bez użycia frameworku. To jest zwykle przyjemny sposób wdrożenia się w programowanie niskopoziomowe.

Platform IO, czyli rozbudowane narzędzie dla systemów wbudowanych

Platform IO to narzędzie umożliwiające tworzenie produktów na bazie systemów wbudowanych. Pozwala na pisanie kodu na wiele architektur procesorów, różne platformy sprzętowe z użyciem różnych frameworków.

Podstawową zaletą Platform IO jest uproszczenie rozwoju programowania dla konkretnego mikrokontrolera oraz automatyczne instalowanie środowiska programistycznego, pobieranie niezbędnych bibliotek i innych narzędzi służących do wgrywania kodu na mikrokontroler.

Znam Arduino i co dalej?

Znając dobrze Arduino, można zacząć programować bezpośrednio na sprzęcie z użyciem rejestrów. Ten rodzaj programowania wymaga większej znajomości procesora, jego budowy oraz funkcji peryferiali. Ponadto nie wymaga to dużej inwestycji, ponieważ można użyć procesorów z płytek Arduino.

W zależności od posiadanego modelu Arduino należy pobrać dokumentację procesora ze strony producenta, a także zainstalować kompilator i inne narzędzia wspierające procesor. Tak przygotowane środowisko umożliwia rozpoczęcie programowania.

Total
0
Shares
_podobne artykuły