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:

Power Integrations zaprezentował ultrasmukłe projekty referencyjne zasilaczy pomocniczych dla centrów danych AI opartych na architekturze NVIDIA Kyber

Power Integrations zaprezentował ultrasmukłe projekty referencyjne...

Zoptymalizowane specjalnie pod kątem chłodzonej cieczą architektury kasetowej NVIDIA Kyber, te ultrakompaktowe...

wtorek, 2 czerwca, 2026 Więcej

Medyczny komputer panelowy Avalue Technology HID-2146 integruje sztuczną inteligencję, obrazowanie medyczne i wydajne przetwarzanie

Medyczny komputer panelowy Avalue Technology HID-2146 integruje sztuczną...

Firma Avalue Technology Inc. ogłasza wprowadzenie na rynek nowego medycznego komputera panelowego HID-2146 -...

wtorek, 2 czerwca, 2026 Więcej

DSC dsPIC33CK Value Line firmy Microchip Technology oferuje uproszczoną konstrukcję dla aplikacji wrażliwych na koszty

DSC dsPIC33CK Value Line firmy Microchip Technology oferuje uproszczoną...

Firma Microchip Technology Inc. wprowadziła na rynek rodzinę cyfrowych kontrolerów sygnałowych (DSC) dsPIC33CK Value...

poniedziałek, 1 czerwca, 2026 Więcej

HV-D3 3,3kV moduły zasilania w technologii mSiC® firmy Microchip Technology dla hiperskalowych centrów danych AI oraz innych aplikacji HV

HV-D3 3,3kV moduły zasilania w technologii mSiC® firmy Microchip...

Nowe moduły zasilania HV-D3 integrują tranzystory MOSFET mSiC® z węglika krzemu (SiC) o napięciu 3,3 kV oraz diody...

środa, 27 maja, 2026 Więcej

Budowanie wydajnych ścieżek danych: Nowe platformy ewaluacyjne firmy Microchip Technology dla systemów AI i wizyjnych

Budowanie wydajnych ścieżek danych: Nowe platformy ewaluacyjne firmy...

Najnowsze zestawy ewaluacyjne firmy Microchip Technology pomagają inżynierom wcześnie tworzyć prototypy ścieżek...

poniedziałek, 25 maja, 2026 Więcej

Avalue Technology rozszerza portfolio Edge HPC o rozwiązania HPS-GNRU1A i HPM-GNRUP do przetwarzania brzegowego wysokiej gęstości dla zastosowań AI

Avalue Technology rozszerza portfolio Edge HPC o rozwiązania HPS-GNRU1A...

Firma Avalue Technology wprowadza na rynek system serwerowy HPS-GNRU1A 1U o wysokiej gęstości oraz przemysłową płytę...

poniedziałek, 18 maja, 2026 Więcej