Oprogramowanie embedded i firmware
Rozwijam oprogramowanie urządzeń, uruchamiam prototypy i diagnozuję problemy na styku kodu i elektroniki. Mogę wesprzeć Twój zespół w konkretnym zadaniu lub rozwijać firmware w ramach dłuższej współpracy.
Omów projektZ czym możesz się do mnie zwrócić
Nowy prototyp, istniejący kod czy problem, którego nie udało się jeszcze zlokalizować — punkt wejścia dopasujemy do etapu Twojego projektu.
Rozwój firmware
Implementacja funkcji i modyfikowanie istniejącego oprogramowania. Praca obejmuje zachowanie urządzenia, obsługę peryferiów i integrację nowych elementów.
- C/C++ i FreeRTOS
- Obsługa czujników, wyświetlaczy i modułów
- Rozwój oraz diagnostyka istniejącego kodu
Uruchomienie prototypu
Weryfikacja, czy elektronika i oprogramowanie współpracują zgodnie z założeniami. Łączę debugowanie z pomiarami zasilania, sygnałów i komunikacji.
- Programowanie i debugowanie przez J-Link
- Oscyloskop i analizator logiczny
- Proste projekty i modyfikacje PCB w Eagle
Komunikacja i integracja
Obsługa wymiany danych pomiędzy mikrokontrolerem, peryferiami i urządzeniami. Analiza sytuacji, w których moduły działają osobno, ale nie współpracują poprawnie.
- UART, I²C, SPI
- RS-485, CAN i Modbus
- Python do narzędzi wspierających pracę
Praca na docelowym urządzeniu
C/C++, Python i FreeRTOS. STM32, ESP32, AVR, NXP, Nordic oraz Raspberry Pi.
Analiza kodu nie zawsze wystarcza. W diagnozie korzystam z J-Linka, oscyloskopu, analizatora logicznego, zasilacza laboratoryjnego, mikroskopu i kamery termowizyjnej.
Główna oferta to firmware oraz diagnostyka urządzeń. Projekty PCB ograniczam do prostych układów i modyfikacji.
Doświadczenie w pracy nad firmware
Przykładowe zakresy wykonanych prac, opisane bez nazw klientów i szczegółów pojedynczych wdrożeń. Pokazują zadania, z którymi możesz zwrócić się do MicroEmbed.
Rozwój i modyfikacja firmware
Prace nad oprogramowaniem mikrokontrolerów: implementacja funkcji, obsługa peryferiów oraz modyfikowanie istniejącego kodu. Weryfikacja łączy analizę programu z obserwacją rzeczywistego zachowania urządzenia.
- C/C++ i platformy mikrokontrolerowe
- Obsługa czujników, modułów i wyświetlaczy
Komunikacja i uruchamianie
Integracja komunikacji między mikrokontrolerem, peryferiami i innymi urządzeniami. Przy diagnozie wykorzystuję pomiary sygnałów i debugowanie, aby oddzielić problem kodu od problemu elektroniki.
- UART, I²C, SPI, RS-485, CAN i Modbus
- J-Link, oscyloskop i analizator logiczny
Jak rozpoczynamy projekt
Na początku potrzebuję platformy, stanu prac i oczekiwanego rezultatu. Jeśli projekt jest poufny, możemy rozpocząć od NDA.
- Ustalenie zadaniaOpisujesz urządzenie, stan projektu i cel. Uzgadniamy potrzebne materiały oraz sposób przekazania sprzętu lub kodu.
- Zakres i decyzjaOkreślamy prace, sposób rozliczenia i kryteria sprawdzenia. Naprawę rozpoczynam po akceptacji kosztorysu.
- Realizacja i sprawdzenieWykonuję uzgodnione zadanie, weryfikuję działanie i przekazuję informacje o wykonanych pracach.
Co otrzymujesz w ramach zlecenia
Zakres przekazania ustalamy przed rozpoczęciem. Zależnie od zadania może obejmować:
- Kod lub modyfikacje firmware dotyczące uzgodnionego zakresu.
- Informację o sposobie uruchomienia i konfiguracji.
- Opis przeprowadzonych testów i zaobserwowanych ograniczeń.
- Wnioski z diagnozy oraz zalecenia do dalszych prac.
Porozmawiajmy o Twoim projekcie lub urządzeniu
Opisz problem lub zakres prac. Ustalimy, jak mogę pomóc i jakie informacje będą potrzebne na początek.