Programista

Jestem doświadczonym inżynierem oprogramowania systemów wbudowanych. Zajmuję się tworzeniem dedykowanych rozwiązań niskopoziomowych opartych na systemie Linux/Yocto.

 

Czym się zajmuję

Linux / Yocto

Specjalizuję się w tworzeniu dedykowanych dystrybucji Linuksa oraz kompletnych pakietów BSP wykorzystując projekt Yocto. Piszę, modyfikuję sterowniki urządzeń oraz pomyślnie wprowadzam pożądane zmiany w obszarze jądra Linux i bootloadera u-boot. Wspieram projekty pod kątem niskopoziomowym na każdym etapie ich realizacji.

Systemy wbudowane

Mam doświadczenie w pracy z najpopularniejszymi architekturami, takimi jak x86, ARM oraz procesorami DSP. Przygotowuję całościową koncepcję oraz implementację pożądanego systemu, zaczynając od bootloadera, działania Linuksa i komponentów, aż po sposób jego bezpiecznej i zdalnej aktualizacji.

Oprogramowanie

Tworzę złożone oprogramowanie w językach C/C++ pod dedykowane zastosowania. Moje projekty z powodzeniem pracują w różnych, wielowątkowych aplikacjach takich jak systemy edukacyjne, multimedialne, monitoring czy rozwiązania przemysłowe i medyczne.

Projektowanie

Krytycznie analizuję dostępne możliwości w celu udoskonalenia gotowego systemu. Wyszukuję sprawdzonych i wiarygodnych komponentów, aby zapewnić przewidywalną oraz stabilną pracę zaproponowanych rozwiązań. Projektuję całościowe koncepcje gotowe do implementacji i wdrożenia.

 

Najnowsze projekty

Moduł synchronizacji czasu

Zaimplementowałem dedykowane rozwiązanie synchronizujące czas systemowy i zegar czasu rzeczywistego z zdalnymi serwerami NTP. Moduł zapewnia stałą aktualizację wykorzystywanych certyfikatów.

Secure boot

Zadanie polegało na zaprojektowaniu oraz implementacji bezpiecznego procesu bootowania (secure boot) systemu Linux z poziomu bootloadera u-boot. Cały proces konfiguracji, generowania oraz podpisywania docelowego obrazu został zintegrowany z mechanizmem Yocto.

Sterownik diod LED RGB

Zaprojektowany i od podstaw zaimplementowany sterownik dla systemu Linux, którego rolą jest konfigurowanie oraz synchroniczne zarządzanie pracą kilku diod LED RGB. Rozwiązanie jest w pełni elastyczne i umożliwia definiowanie oraz ustawianie schematów świecenia z poziomu przestrzeni użytkownika.

System aktualizacji oprogramowania

Celem zadania było zaprojektowanie bezpiecznego systemu aktualizacji oraz uruchamiania oprogramowania. Rozwiązanie oparte jest na kompleksowej konfiguracji i integracji wszystkich elementów systemu takich jak bootloader u-boot, Linux, oprogramowanie swupdate oraz weryfikacja obrazów z różnych nośników np. USB.

Pakiet wsparcia BSP

Zadanie polegało na dostarczeniu kompletnego pakietu wsparcia BSP dla platformy opartej na procesorze i.MX 6QuadPlus. W skład BSP wchodził bootloader u-boot, dystrybucja Linuksa, system aktualizacji oraz SDK dla programistów. Cały proces został zintegrowany z systemem Yocto.

Serwis typu SaaS

Projekt jest serwisem typu SaaS, umożliwiającym wielu użytkownikom zarządzanie oraz monitorowanie swoich zleceń transportowych. Jest to model usługi chmury napisany przeze mnie od podstaw z następującym stosem oprogramowania: Docker/Django/Bootstrap. System z powodzeniem działa w środowisku komercyjnym.

Info

piotr.piwko@gmail.com
+48 509 618 001
Wrocław/Polska