Senior Embedded Linux Kernel Engineer
⚲ Warszawa
Do uzgodnienia
Wymagania
- I2C
- SPI
- GPIO
- MediaTek
- Android AOSP
- Java
- Python
Opis stanowiska
Nasze wymagania:
Język C na poziomie kodu kernelowego: wskaźniki, maski bitowe, praca również bez bibliotek standardowych
Doświadczenie ze sterownikami: Praktyka w pisaniu i rozwijaniu sterowników (drivers) dla systemu Linux.
Znajomość interfejsów sprzętowych: I2C, SPI, GPIO i pokrewne.
Device Tree w praktyce: Swobodne pisanie, modyfikowanie i konfigurowanie węzłów.
Praca z dokumentacją: Umiejętność czytania schematów elektronicznych oraz datasheetów – płynne łączenie świata hardware i software.
Zaawansowana diagnostyka: Sprawne posługiwanie się narzędziami takimi jak adb, dmesg, kdbg oraz analiza logów kernela do poziomu konkretnych funkcji i linii kodu.
Mile widziane:
Wcześniejsza praca z platformą MediaTek
Doświadczenie z Android AOSP, budowanie systemu, modyfikowanie HAL
Znajomość USB Power Delivery
Doświadczenie z wyświetlaczami EPD / E-Ink
Znajomość norm JEITA dla ładowania baterii Li-Ion
JAVA / Python
O projekcie:
Szukamy osoby, która czuje się naturalnie na styku elektroniki i niskopoziomowego programowania, kogoś, kto nie ma problemu z jednoczesnym czytaniem schematu i kodu Kernela w C.
Zakres obowiązków:
Pisanie, wdrażanie oraz utrzymanie sterowników dla systemu Linux na platformach MediaTek.
Praca z Device Tree oraz zaawansowana diagnostyka na poziomie kernela.
Integracja stosu ładowania USB Power Delivery oraz zarządzanie układami PMIC.
Tworzenie i kalibracja algorytmów ochrony termicznej dla baterii Li-Ion.
Tworzenie niskopoziomowego oprogramowania dla ekranów EPD za pośrednictwem magistrali SPI.
Zarządzanie sekcją zasilania wysokonapięciowego dla ekranów E-Ink
Implementacja dedykowanych algorytmów odświeżania ekranu oraz bibliotek trybów.
Łączenie mechanizmów wyświetlania z warstwą HAL oraz frameworkiem graficznym Android AOSP.
Tworzenie autorskich narzędzi oraz skryptów do testowania hardware'u .
Oferujemy:
Zatrudnienie na pełen etat
Elastyczne godziny pracy
Dodatkowe dni wolne w ramach kontraktu B2B
2 płatne dni wolne na wolontariat
Język C na poziomie kodu kernelowego: wskaźniki, maski bitowe, praca również bez bibliotek standardowych
Doświadczenie ze sterownikami: Praktyka w pisaniu i rozwijaniu sterowników (drivers) dla systemu Linux.
Znajomość interfejsów sprzętowych: I2C, SPI, GPIO i pokrewne.
Device Tree w praktyce: Swobodne pisanie, modyfikowanie i konfigurowanie węzłów.
Praca z dokumentacją: Umiejętność czytania schematów elektronicznych oraz datasheetów – płynne łączenie świata hardware i software.
Zaawansowana diagnostyka: Sprawne posługiwanie się narzędziami takimi jak adb, dmesg, kdbg oraz analiza logów kernela do poziomu konkretnych funkcji i linii kodu.
Mile widziane:
Wcześniejsza praca z platformą MediaTek
Doświadczenie z Android AOSP, budowanie systemu, modyfikowanie HAL
Znajomość USB Power Delivery
Doświadczenie z wyświetlaczami EPD / E-Ink
Znajomość norm JEITA dla ładowania baterii Li-Ion
JAVA / Python
O projekcie:
Szukamy osoby, która czuje się naturalnie na styku elektroniki i niskopoziomowego programowania, kogoś, kto nie ma problemu z jednoczesnym czytaniem schematu i kodu Kernela w C.
Zakres obowiązków:
Pisanie, wdrażanie oraz utrzymanie sterowników dla systemu Linux na platformach MediaTek.
Praca z Device Tree oraz zaawansowana diagnostyka na poziomie kernela.
Integracja stosu ładowania USB Power Delivery oraz zarządzanie układami PMIC.
Tworzenie i kalibracja algorytmów ochrony termicznej dla baterii Li-Ion.
Tworzenie niskopoziomowego oprogramowania dla ekranów EPD za pośrednictwem magistrali SPI.
Zarządzanie sekcją zasilania wysokonapięciowego dla ekranów E-Ink
Implementacja dedykowanych algorytmów odświeżania ekranu oraz bibliotek trybów.
Łączenie mechanizmów wyświetlania z warstwą HAL oraz frameworkiem graficznym Android AOSP.
Tworzenie autorskich narzędzi oraz skryptów do testowania hardware'u .
Oferujemy:
Zatrudnienie na pełen etat
Elastyczne godziny pracy
Dodatkowe dni wolne w ramach kontraktu B2B
2 płatne dni wolne na wolontariat
🔍 Dekoder Ogłoszenia
🟡
Język C na poziomie kodu kernelowego: wskaźniki, maski bitowe, praca również bez bibliotek standardowych
Oczekuje się głębokiego zrozumienia C, w tym operacji niskopoziomowych, które są kluczowe przy pisaniu kodu jądra systemu.
🟡
Doświadczenie ze sterownikami: Praktyka w pisaniu i rozwijaniu sterowników (drivers) dla systemu Linux.
Kandydat musi mieć praktyczne doświadczenie w tworzeniu i modyfikowaniu kodu, który pozwala systemowi operacyjnemu komunikować się ze sprzętem.
🟡
Device Tree w praktyce: Swobodne pisanie, modyfikowanie i konfigurowanie węzłów.
Wymagana jest umiejętność pracy z Device Tree, co jest kluczowe do opisu sprzętu dla jądra Linux.
🟡
Praca z dokumentacją: Umiejętność czytania schematów elektronicznych oraz datasheetów – płynne łączenie świata hardware i software.
Oczekuje się, że kandydat potrafi interpretować dokumentację techniczną sprzętu i przekładać ją na kod.
🟡
Zaawansowana diagnostyka: Sprawne posługiwanie się narzędziami takimi jak adb, dmesg, kdbg oraz analiza logów kernela do poziomu konkretnych funkcji i linii kodu.
Kandydat musi być biegły w debugowaniu problemów na bardzo niskim poziomie, analizując szczegółowe logi i używając specjalistycznych narzędzi.