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:

Moduł zasilania MCPF1525 firmy Microchip z magistralą PMBus™ zapewnia zasilanie prądem stałym o natężeniu 25A, z możliwością łączenia w stosy do 200A

Moduł zasilania MCPF1525 firmy Microchip z magistralą PMBus™ zapewnia...

Firma Microchip Technology ogłosiła wprowadzenie na rynek modułu zasilania MCPF1525, wysoce zintegrowanego urządzenia...

środa, 4 lutego, 2026 Więcej

Nowoczesne przekaźniki kontaktronowe serii 9853 Coto Technology do montażu powierzchniowego dla wymagających systemów automatycznego testowania (ATE)

Nowoczesne przekaźniki kontaktronowe serii 9853 Coto Technology do...

Przekaźniki serii 9853 CotoClassic™ stanowią znaczący postęp w technologii przekaźników kontaktronowych, oferując te...

środa, 4 lutego, 2026 Więcej

ATCW40 firmy ARCH Electronics wyznacza nowy standard w kategorii 40W modułów zasilania AC-DC oferując zgodność z kategorią przepięciową IV (OVC IV)

ATCW40 firmy ARCH Electronics wyznacza nowy standard w kategorii 40W...

Moduł zasilania ATCW40 firmy ARCH Electronics wyznacza nowy standard w kategorii 40W modułów zasilania AC-DC, będąc...

wtorek, 3 lutego, 2026 Więcej

Przegląd produktów Microchip 01/2026

Przegląd produktów Microchip 01/2026

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

poniedziałek, 2 lutego, 2026 Więcej

GNSSL125DM26NM, aktywną antenę GNSS L1/L2/L5 przeznaczoną do zewnętrznych systemów pomiaru czasu i synchronizacji

GNSSL125DM26NM, aktywną antenę GNSS L1/L2/L5 przeznaczoną do...

Antena GNSSL125DM26NM obsługuje trzypasmowe pasmo GNSS w pasmach L1, L2 i L5, dzięki czemu nadaje się do zastosowań...

piątek, 30 stycznia, 2026 Więcej

Mikrokontrolery PIC32CM rodziny PL10 rozszerzają portfolio procesorów Arm® Cortex®-M0+ firmy Microchip Technology

Mikrokontrolery PIC32CM rodziny PL10 rozszerzają portfolio procesorów...

Firma Microchip Technology dodała mikrokontrolery PIC32CM PL10 do swojej rodziny mikrokontrolerów PIC32C z rdzeniem...

piątek, 30 stycznia, 2026 Więcej