REKLAMA

Bootloader AVR-NFC, czyli zbliżeniowe aktualizacje oprogramowania

Jakiś czas temu podjąłem się zlecenia polegającego na przeprogramowaniu gotowego urządzenia opartego na mikrokontrolerze ATmega. Zakres zleconych prac obejmował napisanie nowego firmware od zera, po czym wdrożenie miało w pierwszym etapie objąć kilkadziesiąt urządzeń. Ponieważ napisanie bezbłędnego kodu w pierwszym podejściu raczej nie było zbyt realistyczne, przez następne kilka dni kwestia spodziewanych problemów w tej materii spędzała mi sen z powiek. Aż w końcu...

…zdecydowałem się na stworzenie rozwiązania, które umożliwiałoby wgrywanie aktualizacji bezprzewodowo, a konkretniej za pomocą NFC, które było jedynym interfejsem radiowym dostępnym w urządzeniu przy którym pracowałem

  • Zagadnienia poruszane w tym artykule:
    Trochę teorii;
  • Analiza projektu Optiboot;
  • ContactlessSTK500;
  • Schemat sprzętowy;
  • Modyfikacja Optiboota;
  • ISO 14443 oraz APDU;
  • Negocjacja transmisji;
  • Fragment 1, 2, 3, 4;
  • Wybranie aplikacji;
  • Odblokowanie bootloadera;
  • Programowanie;
  • Ustaw adres;
  • Zapisz bajty;
  • Bootloader gotowy!
  • Prosty programator na Androida;

Artykuł pochodzi magazynu Programista nr 82 (3/2019). Jest to wydanie z czerwca 2019 r. Szczegółowy spis treści: https://programistamag.pl/programista-3-2019-82/

Autorem artykuły jest Michał Leszczyński. Pracuje jako IT Security Specialist w CERT Polska, gdzie tworzy narzędzia i systemy wspomagające analizę złośliwego oprogramowania. Permanentnie zafascynowany licznością sposobów na zepsucie internetu, z dziedziny bezpieczeństwa IT najbardziej lubi kwestie związane z tzw. „webem". Po godzinach zdarza mu się budować małe układy elektroniczne albo eksperymentować z już istniejącymi, głównie na platformie AVR.