W skrócie
- Zadania: Buduj środowisko benchmarkowe dla mikroprocesorów i peryferiów.
- Firma: Innowacyjna firma technologiczna w Krakowie z elastycznym modelem pracy.
- Benefity: Stawka godzinowa $70–$90, praca zdalna i elastyczne godziny.
- Pozostałe informacje: Idealne dla freelancerów szukających dynamicznego środowiska z możliwościami rozwoju kariery.
- Dlaczego ta praca: Zdobądź doświadczenie w rozwijaniu oprogramowania niskopoziomowego i pracuj nad realnymi projektami.
- Kwalifikacje: Doświadczenie w rozwoju sterowników i umiejętności współpracy z dokumentacją techniczną.
Przewidywane wynagrodzenie mieści się w przedziale 49500 - 60500 zł za rok.
Lokalizacja: Kraków - Model pracy: Hybrydowy
Typ zatrudnienia: Freelance – stawka godzinowa: 70–90 USD (płatne za zaakceptowane zadanie)
Zadania:
- Stworzenie środowiska benchmarkowego wokół mikrokontrolera lub peryferiów SoC, które zostały uruchomione – kontroler CAN, ADC, urządzenie SPI lub I2C, timer lub DMA.
- Dołączenie rozdziałów z podręcznika referencyjnego i arkusza erraty, karty katalogowej urządzenia, SDK dostawcy w dwóch wersjach wydania, kodu sterownika oraz modelu płyty QEMU lub zarejestrowanych logów dostępu do rejestrów.
- Ustawienie narzędzi potrzebnych do pracy – kompilator krzyżowy, QEMU, git, Python, narzędzia PDF.
- Napisanie pięciu lub więcej zadań, każde oparte na problemie uruchamiania lub migracji SDK (np. odczyty ADC, które dryfują po przejściu do następnej wersji SDK, zapisy SPI flash, które uszkadzają jedną stronę na tysiąc z powodu elementu erraty, kontroler CAN, który gubi ramki po przebudzeniu z trybu niskiego zużycia energii).
- Uformowanie każdego zadania tak, aby model musiał napisać lub poprawić sterownik i wygenerować answer.json z wartościami rejestrów oraz kolejnością, w jakiej są ustawiane.
- Napisanie ukrytego skryptu oceniającego, który buduje kod, uruchamia go na QEMU, porównuje sekwencję zapisu rejestrów z twoim odniesieniem i sprawdza opóźnienia między zapisami, oceniając w skali od 0.0 do 1.0.
- Projektowanie zadań, które aktywują wpis erraty lub zmianę między dwiema wersjami SDK.
- Dostarczenie własnej odpowiedzi (ocena 1.0) oraz naiwnej odpowiedzi, którą może dać kompetentny inżynier (ocena poniżej 0.3).
Wymagania:
- Praktyczne doświadczenie w uruchamianiu mikrokontrolerów lub peryferiów SoC – CAN, ADC, SPI, I2C, timery lub DMA.
- Silne umiejętności w zakresie rozwoju sterowników na niskim poziomie, w tym konfiguracja na poziomie rejestru i sekwencje inicjalizacji.
- Umiejętność pracy z podręcznikami referencyjnymi, arkuszami erraty i kartami katalogowymi urządzeń.
- Doświadczenie w migracji sterowników między wersjami SDK dostawcy.
- Komfortowe korzystanie z kompilatorów krzyżowych, QEMU i gita.
- Umiejętności w Pythonie do pisania automatycznych skryptów oceniających.
Możemy przyjąć tylko kandydatów, którzy są gotowi pracować jako indywidualni wykonawcy / freelancerzy.
Driver and Peripheral Bring-up in Katowice – pracodawca: Hashlist
Nasza firma to doskonały pracodawca, który oferuje elastyczny model pracy hybrydowej oraz atrakcyjne wynagrodzenie dla specjalistów w dziedzinie inżynierii automatyki. Wspieramy rozwój zawodowy naszych pracowników poprzez dostęp do nowoczesnych narzędzi i technologii, a także stawiamy na kulturę współpracy i innowacji, co sprawia, że praca w naszym zespole jest nie tylko satysfakcjonująca, ale i pełna wyzwań.
Naszym zdaniem te umiejętności pozwolą ci błyszczeć jako Driver and Peripheral Bring-up in Katowice
Doświadczenie w uruchamianiu mikrosterowników lub peryferiów SoC
Umiejętności w zakresie rozwoju sterowników niskiego poziomu
Konfiguracja rejestrów i sekwencje inicjalizacji
Praca z dokumentacją referencyjną, arkuszami erraty i kartami katalogowymi urządzeń
Migracja sterowników między wersjami SDK dostawcy
Znajomość narzędzi takich jak cross-kompilatory, QEMU i git
Umiejętności programowania w Pythonie