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:

Avalue wprowadza na rynek przemysłowe alternatywy dla Raspberry Pi – ACP-3566-PI i ACP-IMX8-PI

Avalue wprowadza na rynek przemysłowe alternatywy dla Raspberry Pi –...

Firma Avalue Technology Inc., ogłosiła wydanie nowych komputerów SBC klasy przemysłowej opartych na architekturze ARM...

środa, 4 czerwca, 2025 Więcej

Sterownik TinySwitch-5 firmy Power Integrations zapewnia moc wyjściową do 190W i 92% wydajności w klasycznej architekturze Flyback

Sterownik TinySwitch-5 firmy Power Integrations zapewnia moc wyjściową...

Firma Power Integrations zaprezentowała TinySwitch™-5, zwiększając moc wyjściową najpopularniejszej rodziny...

środa, 4 czerwca, 2025 Więcej

Wyzwania związane z zasilaniem w zastosowaniach inteligentnych sieci i magazynowania energii: przewodnik po wyborze zasilacza o mocy od 20 do 1000W

Wyzwania związane z zasilaniem w zastosowaniach inteligentnych sieci i...

W miarę rozwoju transformacji energetycznej i technologii odnawialnych, inteligentne sieci i systemy magazynowania...

poniedziałek, 2 czerwca, 2025 Więcej

Firma Avalue Technology zaprezentowała ultracienkie panelowe komputery PC oparte na wydajnym procesorze Rockchip RK3576

Firma Avalue Technology zaprezentowała ultracienkie panelowe komputery...

Ultra cienkie komputery panelowe PC o przekątnej 21" APC-21WR6 oraz 23,8" APC-24WR6 firmy Avalue Technology dysponują...

poniedziałek, 2 czerwca, 2025 Więcej

HiperLCS-2 firmy Power Integrations zwiększa sprawność konwertera LLC zapewniając do 1650W ciągłej mocy wyjściowej

HiperLCS-2 firmy Power Integrations zwiększa sprawność konwertera LLC...

Chipset HiperLCS-2 firmy Power Integrations do przełączania offline LLC zapewnia teraz do 1650W ciągłej mocy...

czwartek, 29 maja, 2025 Więcej

AJCV150 moduł zasilania firmy ARCH Electronics zbudowany do zastosowań przemysłowych wymagających niewielkiej przestrzeni

AJCV150 moduł zasilania firmy ARCH Electronics zbudowany do zastosowań...

150W moduł zasilania AJCV150 firmy ARCH Electronics pokonuje te ograniczenia, oferując kompaktowe rozwiązanie o dużej...

poniedziałek, 26 maja, 2025 Więcej