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:

LPT2400/71DMN niskoprofilowa, wysokowydajna antena WiFi firmy Yageo dla wymagających środowisk

LPT2400/71DMN niskoprofilowa, wysokowydajna antena WiFi firmy Yageo dla...

LPT2400/71DMN firmy YAGEO Group to wytrzymała, wysokowydajna antena zaprojektowana z myślą o bezproblemowej łączności...

piątek, 11 lipca, 2025 Więcej

Microchip rozszerza ofertę układów FPGA przeznaczonych do zastosowań kosmicznych o nowe kwalifikacje urządzeń RT PolarFire® i dostępność układów SoC

Microchip rozszerza ofertę układów FPGA przeznaczonych do zastosowań...

Firma Microchip Technology, ogłosiła dwa nowe kamienie milowe dla swojej technologii wzmocnionej na promieniowanie...

piątek, 11 lipca, 2025 Więcej

EPS-RPR wzmocniony i wydajny system firmy Avalue Technology dla wydajnego przetwarzania w przemysłowych aplikacjach brzegowych AI/ML/MV

EPS-RPR wzmocniony i wydajny system firmy Avalue Technology dla...

Firma Avalue Technology Inc. ogłosiła premierę swojego nowego, bezwentylatorowego, wytrzymałego systemu wbudowanego...

czwartek, 10 lipca, 2025 Więcej

Przegląd produktów Microchip 06/2025

Przegląd produktów Microchip 06/2025

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

czwartek, 10 lipca, 2025 Więcej

MTCH9010 firmy Microchip Technology to kompleksowe rozwiązanie do wykrywania cieczy

MTCH9010 firmy Microchip Technology to kompleksowe rozwiązanie do...

W przeciwieństwie do konwencjonalnych czujników, które wymagają dodatkowego sprzętu lub niestandardowego...

środa, 9 lipca, 2025 Więcej

Trzy kluczowe czynniki przy wyborze zasilaczy AC-DC: sprawność, format i wydajność EMI

Trzy kluczowe czynniki przy wyborze zasilaczy AC-DC: sprawność, format i...

Niniejszy artykuł koncentruje się na trzech kluczowych wyzwaniach, z jakimi inżynierowie mierzą się podczas wyboru:...

środa, 9 lipca, 2025 Więcej