Dodano: poniedziałek, 23 grudnia 2024r. Producent: Microchip

Tworzenie niezmiennych bootloaderów z rodziną mikrokontrolerów PIC18-Q24 firmy Microchip Technology

Podczas prototypowania aplikacji często jedynym elementem oprogramowania układowego mikrokontrolera jest wymagany kod aplikacji. Jeśli zostanie wykryty błąd oprogramowania układowego, jest to stosunkowo prosty proces przeprogramowania i ponownego uruchomienia aplikacji. Jednak gdy projekt trafi do masowej produkcji, nie jest możliwe śledzenie każdego z urządzeń i przeprogramowanie ich.

Rozwiązaniem tego problemu jest tak zwany bootloader. Bootloader to mały fragment kodu, który zaprojektowany jest do „uruchamiania” mikrokontrolera i inicjowania podstawowych funkcji przed aplikacją. W przypadku 8-bitowych mikrokontrolerów, zazwyczaj głównym obowiązkiem bootloadera jest umożliwienie aktualizacji oprogramowania układowego bez potrzeby stosowania programatora. W zależności od aplikacji nowe oprogramowanie układowe jest zazwyczaj otrzymywane przez interfejs UART, SPI, I2C i/lub USB.

Chociaż bootloader można napisać od podstaw, wstępnie napisany sterownik jest dostępny w MPLAB® Code Configurator (MCC), bezpłatnym narzędziu graficznym do konfigurowania bibliotek sprzętu peryferyjnego i oprogramowania. Biblioteki Pythona dla komputerów stacjonarnych są dostarczane w celu połączenia z biblioteką oprogramowania układowego przez UART. Aktualnie biblioteka obsługuje przesyłanie przez UART z planowanym wsparciem dla SPI, I2C i USB. Więcej informacji o 8-bitowej bibliotece bootloadera można znaleźć tutaj.

Inną zaletą korzystania z bootloadera jest opcja trwałego zablokowania mikrokontrolera i uniemożliwienia programowania zewnętrznego przy jednoczesnym zachowaniu możliwości uaktualniania oprogramowania układowego w przyszłości. Rodzina mikrokontrolerów PIC18-Q24 zawiera kilka ulepszonych funkcji ochrony kodu, które uzupełniają podejście oparte na bootloaderze:

  • Wyłączanie interfejsu programowania i debugowania (PDID)
  • Włączanie programowania szeregowego w układzie (ICSP)
  • Ochrona kodu (wyłączanie odczytu pamięci)
  • Jednorazowy programowalny obszar pamięci flash (SAF)
  • Segmentowana ochrona zapisu dla kodu rozruchowego/aplikacji

PDID to trwałe, nieodwracalne zablokowanie zewnętrznych programatorów i debugerów. Zapobiega to przeprogramowaniu mikrokontrolera przez narzędzia zewnętrzne. Ta funkcja działa z funkcją włączania ICSP oprogramowania, która umożliwia programowi ładującemu tymczasowe ponowne włączenie niektórych funkcji interfejsu ICSP, takich jak odczyt/weryfikacja programu i wykrywanie urządzeń w czasie wykonywania, ale nie obejmuje to operacji zapisu lub kasowania. Funkcja ochrony kodu może być używana do blokowania operacji odczytu i weryfikacji ICSP.

Inną ulepszoną funkcją ochrony kodu jest Jednorazowy programowalny SAF. SAF to funkcja, która oznacza część pamięci flash programu jako niewykonywalną w celu przechowywania danych. Dzięki temu ten obszar pamięci flash jest jednorazowo programowalny, co zapobiega jego wymazaniu lub ponownemu zapisaniu zarówno z narzędzi zewnętrznych, jak i samego mikrokontrolera.

Na koniec rodzina mikrokontrolerów PIC18-Q24 zawiera segmentowaną ochronę zapisu dla pamięci rozruchowej, aplikacji i/lub EEPROM. Bity te uniemożliwiają zewnętrznemu programatorowi modyfikowanie wybranych obszarów pamięci, ale nie zapobiegają wewnętrznym zapisom własnym z mikrokontrolera. Użycie tych ulepszonych bitów ochrony kodu w połączeniu z bootloaderem umożliwia utworzenie „niezmiennego bootloadera” - innymi słowy bootloadera, którego nie można nadpisać ani usunąć. Można go również użyć z PDID i/lub Code Protection, aby zablokować oprogramowanie układowe i chronić własność intelektualną.

Narzędzia programistyczne

Mikrokontrolery PIC18-Q24 są w pełni obsługiwane przez kompleksowy ekosystem programistyczny firmy Microchip i zaprojektowane do integracji z MPLAB® (MCC). Zestaw PIC18F56Q24 Curiosity NanoEvaluation Kit (EV01E86A) oferuje pełne wsparcie w projektowaniu z wykorzystaniem rodziny PIC18-Q24. Funkcje te koordynują się, zapewniając płynny rozwój oprogramowania wbudowanego i skracając czas wprowadzenia produktu na rynek.

Źródło: Microchip Technology Inc. Tłumaczenie: Gamma Sp. z o.o.

Gamma Sp. z o.o. jest autoryzowanym dystrybutorem rozwiązań firmy Microchip Technology w Polsce. Zapraszamy do kontaktu z naszym działem handlowym.

Pozostałe aktualności:

Stabilny i precyzyjny pomiar czasu w najmniejszych możliwych wymiarach 1612

Stabilny i precyzyjny pomiar czasu w najmniejszych możliwych wymiarach 1612

Firma Aker Technology, producent produktów do kontroli częstotliwości, wprowadziła do swojej oferty nową serię...

czwartek, 9 kwietnia, 2026 Więcej

Avalue Technology wzmacnia inteligentne miasta i aplikacje przemysłowe dzięki platformom sztucznej inteligencji brzegowej

Avalue Technology wzmacnia inteligentne miasta i aplikacje przemysłowe...

Avalue Technology oferuje kompleksowe portfolio obejmujące systemy wbudowane, komputery jednopłytkowe (SBC) oraz...

czwartek, 9 kwietnia, 2026 Więcej

Innowacyjny kontroler macierzy RAID NVMe SmartRAID 4300 firmy Microchip Technology wyróżniony na CloudFest 2026

Innowacyjny kontroler macierzy RAID NVMe SmartRAID 4300 firmy Microchip...

Seria innowacyjnych kontrolerów macierzy RAID NVMe Adaptec® SmartRAID 4300 firmy Microchip Technology została...

czwartek, 9 kwietnia, 2026 Więcej

Przegląd produktów Microchip 03/2026

Przegląd produktów Microchip 03/2026

Przegląd produktów firmy Microchip zawiera wybór najnowszych rozwiązań oraz projektów referencyjnych.

wtorek, 7 kwietnia, 2026 Więcej

Avalue Technology zaprezentuje rozwiązania z zakresu połączonej opieki zdrowotnej na targach DMEA 2026 w Berlinie

Avalue Technology zaprezentuje rozwiązania z zakresu połączonej opieki...

Firma Avalue Technology Inc., specjalizująca się w przemysłowych rozwiązaniach IT weźmie udział w targach DMEA 2026...

wtorek, 7 kwietnia, 2026 Więcej

Microchip Technology uzyskał certyfikat IEC 62443-4-1 ML2 w zakresie systemów automatyki przemysłowej i sterowania

Microchip Technology uzyskał certyfikat IEC 62443-4-1 ML2 w zakresie...

Firma Microchip Technology uzyskała certyfikat UL Solutions potwierdzający zgodność z normą IEC 62443-4-1 Maturity...

piątek, 3 kwietnia, 2026 Więcej