Co musisz umieć do pierwszej pracy w embedded?
|

Co musisz umieć do pierwszej pracy w embedded?

Pytania o wymagania na pozycję junior developera są bardzo popularne. Dotyczą one zwykle frontendu, Javy, czy C# i w internecie można znaleźć na ten temat już całkiem sporo, o embedded natomiast takich informacji brakuje. Są osoby, które traktują systemy embedded jako hobby – lubią sobie dłubać przy Arduino, czy Raspberry Pi, ale pracy szukają w…

Wzorce projektowe przydatne w systemach embedded
|

Wzorce projektowe przydatne w systemach embedded

Wzorce projektowe są bardzo popularnym tematem wśród programistów. Zwykle rozmawia się o nich w kontekście języków obiektowych i dużych systemów. Jednak podobnie jak z innymi zagadnieniami dotyczącymi architektury – część wzorców da się z powodzeniem przenieść na grunt systemów embedded. W dzisiejszym wpisie opowiem o trzech wzorcach z najpopularniejszego katalogu wzorców – książki „Gang of…

Ewolucja architektury
|

Ewolucja architektury

Dobra architektura nie powstaje od razu. Jest ona raczej wypracowana na bazie różnych doświadczeń. Jednak w większości systemów jest ona określana na sztywno na samym początku, kiedy jeszcze nie mamy wystarczającej wiedzy, aby zrobić ją dobrze. Jest to źródłem wielu problemów z utrzymaniem. Zamiast tego powinniśmy pogodzić się z faktem, że dobre rozwiązania wymagają czasu…

Podstawy architektury embedded – warstwy i moduły
|

Podstawy architektury embedded – warstwy i moduły

Z czego składa się architektura? Z modułów i warstw. To jest intuicyjny podział wynikający z potrzeby dzielenia złożonych problemów na mniejsze i grupowania podobnych zadań. Jednak o ile co do samego istnienia warstw i modułów nikt nie ma zastrzeżeń, to strategie ich wydzielania zależą często tylko od naszej fantazji. Dzisiaj zdefiniujemy sobie czym są owe…

Problemy z architekturą w systemach embedded
|

Problemy z architekturą w systemach embedded

W systemach embedded zwykle skupiamy się na niskopoziomowych interakcjach ze sprzętem. Poznajemy nowe interfejsy, wykorzystujemy kolejne zewnętrzne układy i wykorzystujemy nowe rodziny procesorów. Jednak to z czym sobie naprawdę nie radzimy to poskromienie rosnącej złożoności tworzonych przez nas systemów. W większości systemów prawdziwym problemem jest architektura, czyli systematyczne podejście do radzenia sobie z tą złożonością….

|

Distortos – pierwsze kroki

Distortos to system operacyjny czasu rzeczywistego (RTOS) napisany w C++ z myślą o procesorach ARM Cortex-M, a szczególnie STM32. Pisałem już o nim przy okazji ciekawych projektów C++ Embedded i łazika na NASA Space Apps. Aplikacja na STM w łaziku chyba jednak będzie za prosta, żeby dawać do niej RTOSa, ale ostatnio zacząłem przepisywać Micromouse…

Catch2 – framework testowy C++ wspomagający BDD
|

Catch2 – framework testowy C++ wspomagający BDD

Ostatnio trochę eksperymentowałem z nowym frameworkiem do unit testów – Catch2. Główną różnicą od innych frameworków takich jak CppUTest czy GoogleTest jest rezygnacja z grup testowych na rzecz struktury Given-When-Then wspierającej Behavior Driven Design (BDD). Inną ważną zaletą jest fakt, że cały framework mieści się w jednym headerze, dlatego nie ma problemów z jego integracją.

Ile kosztuje system safety-critical?
|

Ile kosztuje system safety-critical?

Zwykle przyjmujemy, że koszt wytworzenia systemu safety-critical spełniającego wymagane normy jest dziesięciokrotnie wyższy, niż zwykły projekt posiadający te same wymagania funkcjonalne. Po przeczytaniu poprzednich części serii powinniście mieć całkiem dobre wyobrażenie skąd biorą się dodatkowe koszty. W tym artykule omówię koszty developmentu, zewnętrznego kodu i narzędzi.

SOUP – Wykorzystanie zewnętrznego softu w safety-critical
|

SOUP – Wykorzystanie zewnętrznego softu w safety-critical

W większości projektów, gdy mamy możliwość wykorzystania jakiegoś istniejącego rozwiązania, w ogóle się nie zastanawiamy. Dużo publicznego kodu znajdziemy na GitHubie, a w JavaScripcie wychodzi tyle nowych bibliotek, że są one nawet częścią pijackiej gry. Jak już pewnie się domyślacie – w systemach safety-critical sytuacja jest zgoła odmienna. Użycie zewnętrznego kodu podlega specjalnym procedurom i…

End of content

End of content