MIKROCHIP-LOGO

MICROCHIP PIC24 Programowanie Flash

MICROCHIP-PIC24-Flash-Programowanie-PRO

Informacje o produkcie

Programowanie Flash
Urządzenia z rodziny dsPIC33/PIC24 posiadają wewnętrzną programowalną pamięć programu Flash do wykonywania kodu użytkownika. Istnieją trzy metody programowania tej pamięci:

  • Obsługa instrukcji tabeli
  • Programowanie szeregowe w obwodzie (ICSP)
  • Programowanie w aplikacji (IAP)

Instrukcje w tabeli określają sposób przesyłania danych pomiędzy przestrzenią pamięci programu Flash a przestrzenią pamięci danych urządzeń dsPIC33/PIC24. Instrukcja TBLRDL służy do odczytu z bitów [15:0] przestrzeni pamięci programu. Instrukcja TBLWTL służy do zapisu do bitów [15:0] przestrzeni pamięci programu Flash. TBLRDL i TBLWTL mogą uzyskiwać dostęp do pamięci programu Flash w trybie Word lub Byte.

Oprócz adresu pamięci programu Flash instrukcja tablicowa określa również rejestr W (lub wskaźnik rejestru W do miejsca w pamięci), czyli źródło danych pamięci programu Flash do zapisania lub miejsce docelowe programu Flash odczyt pamięci.

W tej sekcji opisano technikę programowania pamięci programu Flash. Urządzenia z rodziny dsPIC33/PIC24 posiadają wewnętrzną programowalną pamięć programu Flash do wykonywania kodu użytkownika. Istnieją trzy metody programowania tej pamięci:

  • Samoprogramowanie w czasie wykonywania (RTSP)
  • Programowanie szeregowe w obwodzie™ (ICSP™)
  • Ulepszone programowanie szeregowe w obwodzie (EICSP)

Protokół RTSP jest wykonywany przez oprogramowanie aplikacji podczas wykonywania, podczas gdy ICSP i EICSP są wykonywane przez zewnętrznego programistę za pomocą szeregowego połączenia danych z urządzeniem. ICSP i EICSP pozwalają na znacznie szybszy czas programowania niż RTSP. Techniki RTSP są opisane w rozdziale 4.0 „Autoprogramowanie w czasie wykonywania (RTSP)”. Protokoły ICSP i EICSP są zdefiniowane w dokumentach specyfikacji programowania dla odpowiednich urządzeń, które można pobrać z Microchip webStrona (http://www.microchip.com). Podczas programowania w języku C dostępnych jest kilka wbudowanych funkcji ułatwiających programowanie we Flashu. Szczegółowe informacje dotyczące wbudowanych funkcji można znaleźć w „Podręczniku użytkownika kompilatora MPLAB® XC16 C” (DS50002071).

Instrukcje użytkowania produktu

Aby zaprogramować pamięć programu Flash, wykonaj następujące kroki:

  1. Zapoznaj się z arkuszem danych urządzenia, aby sprawdzić, czy sekcja podręcznika rodziny obsługuje używane urządzenie.
  2. Pobierz arkusz danych urządzenia i sekcje podręcznika rodziny z Microchip Worldwide Webstrona pod adresem: http://www.microchip.com.
  3. Wybierz jedną z trzech metod programowania pamięci (Table Instruction Operation, In-Circuit Serial Programming (ICSP), In-Application Programming (IAP)).
  4. W przypadku korzystania z operacji na instrukcjach tablicowych należy użyć instrukcji TBLRDL do odczytu z bitów [15:0] pamięci programu i instrukcji TBLWTL do zapisu do bitów [15:0] pamięci programu Flash.
  5. Upewnij się, że określono rejestr W (lub wskaźnik rejestru W do miejsca w pamięci) jako źródło danych pamięci programu Flash do zapisania lub miejsce docelowe odczytu pamięci programu Flash.

Więcej informacji i szczegółów na temat programowania pamięci programu Flash można znaleźć w Instrukcji rodziny dsPIC33/PIC24.

TABELA INSTRUKCJI DZIAŁANIA

Instrukcje w tabeli przedstawiają sposób przesyłania danych pomiędzy przestrzenią pamięci programu Flash a przestrzenią pamięci danych urządzeń dsPIC33/PIC24. Ta sekcja zawiera podsumowanie instrukcji tabeli używanych podczas programowania pamięci programu Flash. Istnieją cztery podstawowe instrukcje dotyczące tabeli:

  • TBLRDL: Niski odczyt tabeli
  • TBLRDH: Wysoki odczyt tabeli
  • TBLWTL: Niski poziom zapisu w tabeli
  • TBLWTH: Wysoki poziom zapisu w tabeli

Instrukcja TBLRDL służy do odczytu z bitów [15:0] przestrzeni pamięci programu. Instrukcja TBLWTL służy do zapisu do bitów [15:0] przestrzeni pamięci programu Flash. TBLRDL i TBLWTL mogą uzyskiwać dostęp do pamięci programu Flash w trybie Word lub Byte.

Instrukcje TBLRDH i TBLWTH są używane do odczytu lub zapisu bitów [23:16] przestrzeni pamięci programu. TBLRDH i TBLWTH mogą uzyskiwać dostęp do pamięci programu Flash w trybie Word lub Byte. Ponieważ pamięć programu Flash ma tylko 24 bity szerokości, instrukcje TBLRDH i TBLWTH mogą adresować starszy bajt pamięci programu Flash, który nie istnieje. Bajt ten nazywany jest „bajtem widmowym”. Każdy odczyt bajtu fantomu zwróci 0x00. Zapis do bajtu fantomu nie ma żadnego efektu. 24-bitową pamięć programu Flash można traktować jako dwie sąsiadujące ze sobą 16-bitowe przestrzenie, z których każda ma ten sam zakres adresów. Dlatego instrukcje TBLRDL i TBLWTL mają dostęp do „małej” przestrzeni pamięci programu (PM[15:0]). Instrukcje TBLRDH i TBLWTH mają dostęp do „wysokiego” obszaru pamięci programu (PM[31:16]). Wszelkie odczyty lub zapisy do PM[31:24] będą miały dostęp do fantomowego (niezaimplementowanego) bajtu. Gdy którakolwiek z instrukcji tablicowych jest używana w trybie bajtów, najmniej znaczący bit (LSb) adresu tablicy będzie używany jako bit wyboru bajtu. LSb określa, który bajt w wysokiej lub niskiej przestrzeni pamięci programu jest dostępny.

Rysunek 2-1 ilustruje sposób adresowania pamięci programu Flash za pomocą instrukcji w tabeli. 24-bitowy adres pamięci programu jest tworzony przy użyciu bitów [7:0] rejestru TBLPAG i adresu efektywnego (EA) z rejestru W określonego w instrukcji tablicowej. 24-bitowy licznik programów (PC) jest przedstawiony na rysunku 2-1 w celach informacyjnych. Górne 23 bity EA są używane do wyboru lokalizacji pamięci programu Flash.

W przypadku instrukcji tablicy trybu bajtów, LSb rejestru W EA jest używany do wybierania, który bajt 16-bitowego słowa pamięci programu Flash jest adresowany; „1” wybiera bity [15:8], a „0” wybiera bity [7:0]. LSb rejestru W EA jest ignorowany dla instrukcji tablicowych w trybie Word. Oprócz adresu pamięci programu Flash instrukcja tablicowa określa również rejestr W (lub wskaźnik rejestru W do miejsca w pamięci), czyli źródło danych pamięci programu Flash do zapisania lub miejsce docelowe programu Flash odczyt pamięci. Dla operacji zapisu do tablicy w trybie Byte, bity [15:8] źródłowego rejestru roboczego są ignorowane.MICROCHIP-PIC24-Flash-Programowanie- (1)

Korzystanie z instrukcji odczytu tabeli
Odczyty tabeli wymagają dwóch kroków:

  1. Wskaźnik adresu jest ustawiany przy użyciu rejestru TBLPAG i jednego z rejestrów W.
  2. Można odczytać zawartość pamięci programu Flash w lokalizacji adresowej.

 

  1. TRYB CZYTAJ SŁOWA
    Kod pokazany w Example 2-1 i Example 2-2 pokazuje, jak odczytać słowo z pamięci programu Flash przy użyciu instrukcji tabeli w trybie Word.MICROCHIP-PIC24-Flash-Programowanie- (2) MICROCHIP-PIC24-Flash-Programowanie- (3)
  2. TRYB ODCZYTU BYTOWEGO
    Kod pokazany w Examppliki 2-3 pokazują operatora postinkrementacji przy odczycie dolnego bajtu, który powoduje zwiększenie adresu w rejestrze roboczym o jeden. To ustawia EA[0] na '1' dla dostępu do środkowego bajtu w trzeciej instrukcji zapisu. Ostatni postinkrementacja ustawia W0 z powrotem na parzysty adres, wskazując na następną lokację pamięci programu Flash.MICROCHIP-PIC24-Flash-Programowanie- (4)
  3. ZATRZASKI DO PISANIA W TABELI
    Instrukcje zapisu w tablicy nie zapisują bezpośrednio do nieulotnej pamięci programu. Zamiast tego instrukcje zapisu tabeli ładują zatrzaski zapisu, które przechowują dane zapisu. Rejestry adresów NVM muszą być załadowane pierwszym adresem, pod którym mają być zapisane dane zatrzaskiwane. Gdy wszystkie zatrzaski zapisu zostaną załadowane, właściwa operacja programowania pamięci rozpoczyna się od wykonania specjalnej sekwencji instrukcji. Podczas programowania sprzęt przesyła dane w zatrzaskach zapisu do pamięci Flash. Zatrzaski zapisu zawsze rozpoczynają się od adresu 0xFA0000 i rozciągają się do adresu 0xFA0002 w przypadku programowania słów lub do adresu 0xFA00FE w przypadku urządzeń z programowaniem rzędowym.

Notatka: Liczba zatrzasków zapisu różni się w zależności od urządzenia. Informacje na temat liczby dostępnych zatrzasków zapisu można znaleźć w rozdziale „Pamięć programu Flash” w arkuszu danych konkretnego urządzenia.

REJESTR KONTROLNY

Kilka rejestrów funkcji specjalnych (SFR) jest używanych do programowania operacji wymazywania i zapisywania pamięci programu Flash: NVMCON, NVMKEY oraz rejestry adresowe NVM, NVMADR i NVMADRU.

Rejestr NVMCON
Rejestr NVMCON jest głównym rejestrem kontrolnym dla operacji Flash i programowania/kasowania. Rejestr ten wybiera, czy zostanie wykonana operacja wymazywania lub programowania i może rozpocząć program lub cykl wymazywania. Rejestr NVMCON jest pokazany w rejestrze 3-1. Młodszy bajt NVMCON konfiguruje typ operacji NVM, która zostanie wykonana.

Rejestr NVMKEY
Rejestr NVMKEY (patrz rejestry 3-4) jest rejestrem tylko do zapisu, używanym do zapobiegania przypadkowym zapisom NVMCON, które mogą uszkodzić pamięć Flash. Po odblokowaniu zapisy do NVMCON są dozwolone przez jeden cykl instrukcji, w którym bit WR można ustawić tak, aby wywoływał procedurę kasowania lub programowania. Biorąc pod uwagę wymagania czasowe, wymagane jest wyłączenie przerwań.
Wykonaj następujące kroki, aby rozpocząć sekwencję kasowania lub programowania:

  1. Wyłącz przerwania.
  2. Napisz 0x55 do NVMKEY.
  3. Zapisz 0xAA do NVMKEY.
  4. Rozpocznij cykl zapisu programowania ustawiając bit WR (NVMCON[15]).
  5. Wykonaj dwie instrukcje NOP.
  6. Przywróć przerwania.

MICROCHIP-PIC24-Flash-Programowanie- (5)

WYŁĄCZENIE PRZERWANIA
Wyłączenie przerwań jest wymagane dla wszystkich operacji Flash, aby zapewnić pomyślny wynik. Jeśli przerwanie wystąpi podczas sekwencji odblokowującej NVMKEY, może zablokować zapis do bitu WR. Sekwencja odblokowania NVMKEY musi być wykonywana bez przerwy, jak omówiono w Sekcji 3.2 „Rejestr NVMKEY”.

Przerwania można wyłączyć na dwa sposoby, wyłączając Global Interrupt Enable (bit GIE) lub używając instrukcji DISI. Instrukcja DISI nie jest zalecana, ponieważ wyłącza tylko przerwania o priorytecie 6 lub niższym; dlatego należy zastosować metodę Global Interrupt Enable.

Procesor zapisuje do GIE zajmuje dwa cykle instrukcji, zanim wpłynie na przepływ kodu. Następnie potrzebne są dwie instrukcje NOP lub można je zastąpić dowolnymi innymi przydatnymi instrukcjami roboczymi, takimi jak ładowanie NVMKEY; dotyczy to zarówno operacji set, jak i clear. Podczas ponownego włączania przerwań należy zachować ostrożność, aby ukierunkowana procedura NVM nie zezwalała na przerwania, gdy poprzednio wywołana funkcja wyłączyła je z innych powodów. Aby rozwiązać ten problem w Zgromadzeniu, można zastosować wypychanie stosu i wyskakiwanie w celu zachowania stanu bitu GIE. W C zmienna w pamięci RAM może być używana do przechowywania INTCON2 przed wyczyszczeniem GIE. Użyj następującej sekwencji, aby wyłączyć przerwania:

  1. Umieść INTCON2 na stosie.
  2. Wyczyść bit GIE.
  3. Dwa NOP lub zapisy do NVMKEY.
  4. Rozpocznij cykl programowania ustawiając bit WR (NVMCON[15]).
  5. Przywróć stan GIE przez POP z INTCON2.MICROCHIP-PIC24-Flash-Programowanie- (6)

Rejestry adresów NVM
Dwa rejestry adresowe NVM, NVMADRU i NVMADR, po połączeniu tworzą 24-bitowy EA wybranego wiersza lub słowa do operacji programowania. Rejestr NVMADRU jest używany do przechowywania ośmiu górnych bitów EA, a rejestr NVMADR jest używany do przechowywania dolnych 16 bitów EA. Niektóre urządzenia mogą odnosić się do tych samych rejestrów jako NVMADRL i NVMADRH. Rejestry adresu NVM powinny zawsze wskazywać podwójną granicę słowa instrukcji podczas wykonywania operacji programowania słowa podwójnej instrukcji, granicę wiersza podczas wykonywania operacji programowania wierszy lub granicę strony podczas wykonywania operacji kasowania strony.

Rejestr 3-1: NVMCON: rejestr kontrolny pamięci flashMICROCHIP-PIC24-Flash-Programowanie- (7) MICROCHIP-PIC24-Flash-Programowanie- (8)

Notatka

  1. Ten bit może być zresetowany (tj. wyczyszczony) tylko podczas resetowania po włączeniu zasilania (POR).
  2. Po wyjściu z trybu bezczynności występuje opóźnienie włączenia zasilania (TVREG), zanim pamięć programu Flash zacznie działać. Więcej informacji można znaleźć w rozdziale „Charakterystyka elektryczna” w arkuszu danych konkretnego urządzenia.
  3. Wszystkie inne kombinacje NVMOP[3:0] nie są zaimplementowane.
  4. Ta funkcja nie jest dostępna na wszystkich urządzeniach. Informacje o dostępnych operacjach można znaleźć w rozdziale „Pamięć programu Flash” w arkuszu danych konkretnego urządzenia.
  5. Wejście w tryb oszczędzania energii po wykonaniu instrukcji PWRSAV jest uwarunkowane zakończeniem wszystkich oczekujących operacji NVM.
  6. Ten bit jest dostępny tylko w urządzeniach obsługujących programowanie wierszy w buforze RAM. Informacje o dostępności można znaleźć w arkuszu danych konkretnego urządzenia.

MICROCHIP-PIC24-Flash-Programowanie- (9)

Notatka

  1. Ten bit może być zresetowany (tj. wyczyszczony) tylko podczas resetowania po włączeniu zasilania (POR).
  2. Po wyjściu z trybu bezczynności występuje opóźnienie włączenia zasilania (TVREG), zanim pamięć programu Flash zacznie działać. Więcej informacji można znaleźć w rozdziale „Charakterystyka elektryczna” w arkuszu danych konkretnego urządzenia.
  3. Wszystkie inne kombinacje NVMOP[3:0] nie są zaimplementowane.
  4. Ta funkcja nie jest dostępna na wszystkich urządzeniach. Informacje o dostępnych operacjach można znaleźć w rozdziale „Pamięć programu Flash” w arkuszu danych konkretnego urządzenia.
  5. Wejście w tryb oszczędzania energii po wykonaniu instrukcji PWRSAV jest uwarunkowane zakończeniem wszystkich oczekujących operacji NVM.
  6. Ten bit jest dostępny tylko w urządzeniach obsługujących programowanie wierszy w buforze RAM. Informacje o dostępności można znaleźć w arkuszu danych konkretnego urządzenia.

Rejestr 3-2: NVMADRU: Rejestr górnego adresu pamięci nieulotnej

MICROCHIP-PIC24-Flash-Programowanie- (10)

Rejestr 3-3: NVMADR: rejestr adresu pamięci nieulotnej

MICROCHIP-PIC24-Flash-Programowanie- (11)

Rejestr 3-4: NVMKEY: Rejestr klucza pamięci nieulotnej

MICROCHIP-PIC24-Flash-Programowanie- (12)

SAMOPROGRAMOWANIE W CZASIE PRACY (RTSP)

RTSP umożliwia aplikacji użytkownika modyfikację zawartości pamięci programu Flash. RTSP jest realizowany przy użyciu instrukcji TBLRD (odczyt tabeli) i TBLWT (zapis tabeli), rejestru TBLPAG i rejestrów kontrolnych NVM. Dzięki RTSP aplikacja użytkownika może wymazać pojedynczą stronę pamięci Flash i zaprogramować albo dwa słowa instrukcji, albo do 128 słów instrukcji na niektórych urządzeniach.

Operacja RTSP
Tablica pamięci programu Flash dsPIC33/PIC24 jest zorganizowana w strony kasowania, które mogą zawierać do 1024 instrukcji. Opcja programowania podwójnym słowem jest dostępna we wszystkich urządzeniach z rodziny dsPIC33/PIC24. Dodatkowo, niektóre urządzenia posiadają funkcję programowania wierszowego, która pozwala na jednoczesne programowanie do 128 słów instrukcji. Operacje programowania i kasowania zawsze odbywają się na parzystych, podwójnych granicach słowa programującego, wiersza lub strony. Informacje na temat dostępności i rozmiarów wiersza programującego oraz rozmiaru strony dla er znajdują się w rozdziale „Pamięć programu Flash” w karcie katalogowej konkretnego urządzenia.asing. Pamięć programu Flash implementuje bufory pamięci, zwane zatrzaskami zapisu, które mogą zawierać do 128 instrukcji danych programowych, w zależności od urządzenia. Przed rozpoczęciem programowania dane do zapisu muszą zostać załadowane do zatrzasków zapisu. Podstawowa sekwencja dla protokołu RTSP polega na ustawieniu wskaźnika tabeli (table pointer), rejestru TBLPAG, a następnie wykonaniu serii instrukcji TBLWT w celu załadowania zatrzasków zapisu. Programowanie odbywa się poprzez ustawienie bitów sterujących w rejestrze NVMCON. Liczba instrukcji TBLWTL i TBLWTH potrzebnych do załadowania zatrzasków zapisu jest równa liczbie słów programu do zapisania.

Notatka: Zaleca się zapisanie rejestru TBLPAG przed modyfikacją i przywrócenie po użyciu.

OSTROŻNOŚĆ
W niektórych urządzeniach bity konfiguracyjne są przechowywane na ostatniej stronie programu Flash w pamięci użytkownika w sekcji o nazwie „Bajty konfiguracji Flash”. W przypadku tych urządzeń wykonanie operacji wymazania strony na ostatniej stronie pamięci programu powoduje wymazanie bajtów konfiguracji Flash, co umożliwia ochronę kodu. Dlatego użytkownicy nie powinni wykonywać operacji kasowania stron na ostatniej stronie pamięci programu. Nie dotyczy to sytuacji, gdy bity konfiguracji są przechowywane w przestrzeni pamięci konfiguracji w sekcji o nazwie „Rejestr konfiguracji urządzenia”. Zapoznaj się z mapą pamięci programu w rozdziale „Organizacja pamięci” arkusza danych konkretnego urządzenia, aby określić, gdzie znajdują się bity konfiguracyjne.

Operacje programowania Flash
Do programowania lub er konieczna jest operacja programowania lub kasowaniaasing wewnętrznej pamięci programu Flash w trybie RTSP. Operacja programowania lub kasowania jest automatycznie synchronizowana przez urządzenie (informacje dotyczące synchronizacji można znaleźć w karcie katalogowej konkretnego urządzenia). Ustawienie bitu WR (NVMCON[15]) rozpoczyna operację. Bit WR jest automatycznie kasowany po zakończeniu operacji. Procesor zatrzymuje się do momentu zakończenia operacji programowania. W tym czasie procesor nie wykonuje żadnych instrukcji ani nie reaguje na przerwania. Jeśli w trakcie cyklu programowania wystąpią jakiekolwiek przerwania, pozostaną one oczekujące do zakończenia cyklu. Niektóre układy dsPIC33/PIC24 mogą zapewniać pomocniczą pamięć programu Flash (szczegóły w rozdziale „Organizacja pamięci” w karcie katalogowej konkretnego urządzenia), co umożliwia wykonywanie instrukcji bez zatrzymywania procesora podczas kasowania i/lub programowania pamięci programu Flash użytkownika. I odwrotnie, pomocnicza pamięć programu Flash może być programowana bez zatrzymywania procesora, o ile kod jest wykonywany z pamięci programu Flash użytkownika. Przerwanie NVM może być użyte do wskazania zakończenia operacji programowania.

Notatka

  1. Jeśli zdarzenie POR lub BOR wystąpi podczas operacji kasowania lub programowania RTSP, operacja RTSP zostanie natychmiast przerwana. Użytkownik powinien ponownie wykonać operację RTSP po wyjściu urządzenia z Resetu.
  2. Jeśli podczas operacji kasowania lub programowania RTSP wystąpi zdarzenie EXTR, SWR, WDTO, TRAPR, CM lub IOPUWR Reset, urządzenie zostanie zresetowane dopiero po zakończeniu operacji RTSP.

ALGORYTM PROGRAMOWANIA RTSP
Ta sekcja opisuje programowanie RTSP, które składa się z trzech głównych procesów.

Tworzenie obrazu RAM strony danych do modyfikacji
Wykonaj te dwa kroki, aby utworzyć obraz RAM strony danych do modyfikacji:

  1. Odczytaj stronę pamięci programu Flash i zapisz ją w pamięci RAM jako „obraz” danych. Obraz RAM musi być czytany zaczynając od granicy adresu strony.
  2. W razie potrzeby zmodyfikuj obraz danych RAM.

Erasing Pamięć programu Flash
Po wykonaniu kroków 1 i 2 powyżej wykonaj następujące cztery kroki, aby usunąć stronę pamięci programu Flash:

  1. Ustaw bity NVMOP[3:0] (NVMCON[3:0]), aby wymazać stronę pamięci programu Flash odczytaną z kroku 1.
  2. Wpisz adres początkowy strony, która ma zostać wymazana, do rejestrów NVMADRU i NMVADR.
  3. Z wyłączonymi przerwaniami:
    • a) Wpisz sekwencję klawiszy do rejestru NVMKEY, aby umożliwić ustawienie bitu WR (NVMCON[15]).
    • b) Ustaw bit WR; spowoduje to rozpoczęcie cyklu kasowania.
    • c) Wykonaj dwie instrukcje NOP.
  4. Bit WR jest kasowany po zakończeniu cyklu kasowania.

Programowanie strony pamięci Flash
Kolejnym etapem procesu jest zaprogramowanie strony pamięci Flash. Strona pamięci Flash jest programowana przy użyciu danych z obrazu utworzonego w kroku 1. Dane są przesyłane do zatrzasków zapisu w krokach podwójnych słów instrukcji lub wierszy. Wszystkie urządzenia mają możliwość programowania słów z podwójną instrukcją. (Zapoznaj się z rozdziałem „Pamięć programu Flash” w arkuszu danych konkretnego urządzenia, aby określić, czy i jakiego typu programowanie wierszy jest dostępne.) Po załadowaniu zatrzasków zapisu rozpoczyna się operacja programowania, która przenosi dane z zapisz zatrzaski do pamięci Flash. Jest to powtarzane, aż cała strona zostanie zaprogramowana. Powtórz następujące trzy kroki, zaczynając od pierwszego słowa instrukcji na stronie Flash i zwiększając kroki podwójnych słów programu lub wierszy instrukcji, aż cała strona zostanie zaprogramowana:

  1. Załaduj zatrzaski zapisu:
    • a) Ustaw rejestr TBLPAG tak, aby wskazywał lokalizację zatrzasków zapisu.
    • b) Załaduj żądaną liczbę zatrzasków, używając par instrukcji TBLWTL i TBLWTH:
    • Do programowania dwusłowowego wymagane są dwie pary instrukcji TBLWTL i TBLWTH
    • Do programowania wierszy wymagana jest para instrukcji TBLWTL i TBLWTH dla każdego elementu wiersza słowa instrukcji
  2. Rozpocznij operację programowania:
    • a) Ustaw bity NVMOP[3:0] (NVMCON[3:0]), aby odpowiednio zaprogramować słowa instrukcji podwójnej lub wiersz instrukcji.
      b) Wpisz pierwszy adres słowa podwójnej instrukcji lub wiersza instrukcji do zaprogramowania w rejestrach NVMADRU i NVMADR.
      c) Z wyłączonymi przerwaniami:
      • Zapisz sekwencję klawiszy do rejestru NVMKEY, aby umożliwić ustawienie bitu WR (NVMCON[15])
      • Ustaw bit WR; spowoduje to rozpoczęcie cyklu kasowania
      • Wykonaj dwie instrukcje NOP
  3. Bit WR jest kasowany po zakończeniu cyklu programowania.

W razie potrzeby powtórz cały proces, aby zaprogramować żądaną ilość pamięci programu Flash.

Notatka

  1. Użytkownik powinien pamiętać, że minimalna ilość pamięci programu Flash, którą można wykasować za pomocą RTSP, to pojedyncza wymazana strona. Dlatego ważne jest, aby obraz tych lokalizacji był przechowywany w pamięci RAM ogólnego przeznaczenia przed rozpoczęciem cyklu wymazywania.
  2. Wiersz lub słowo w pamięci programu Flash nie powinno być programowane więcej niż dwa razy przed skasowaniem.
  3. Na urządzeniach z bajtami konfiguracji przechowywanymi na ostatniej stronie pamięci Flash wykonanie operacji wymazania strony na ostatniej stronie pamięci programu powoduje wyczyszczenie bajtów konfiguracji, co umożliwia ochronę kodu. Na tych urządzeniach nie należy kasować ostatniej strony pamięci Flash.

ERASING JEDNĄ STRONĘ FLASH
Sekwencja kodu pokazana w PrzykłampPlik 4-1 może być użyty do skasowania strony pamięci programu Flash. Rejestr NVMCON jest skonfigurowany do kasowania jednej strony pamięci programu. Rejestry NVMADR i NMVADRU są ładowane z początkowym adresem strony, która ma zostać wymazana. Pamięć programu musi zostać wyczyszczona na „parzystej” granicy adresu strony. Zobacz rozdział „Pamięć programu Flash” w arkuszu danych konkretnego urządzenia, aby określić rozmiar strony Flash.
Operacja kasowania jest inicjowana przez wpisanie specjalnego odblokowania lub sekwencji klawiszy do rejestru NVMKEY przed ustawieniem bitu WR (NVMCON[15]). Sekwencja odblokowania musi być wykonana w dokładnej kolejności, jak pokazano w Przykłample 4-1, bez przerwy; dlatego przerwania muszą być wyłączone.
Po cyklu kasowania w kodzie należy umieścić dwie instrukcje NOP. W przypadku niektórych urządzeń bity konfiguracyjne są przechowywane na ostatniej stronie programu Flash. W przypadku tych urządzeń wykonanie operacji wymazania strony na ostatniej stronie pamięci programu powoduje wymazanie bajtów konfiguracji Flash, co w rezultacie umożliwia ochronę kodu. Użytkownicy nie powinni wykonywać operacji kasowania stron na ostatniej stronie pamięci programu.MICROCHIP-PIC24-Flash-Programowanie- (13)MICROCHIP-PIC24-Flash-Programowanie- (14)

ŁADOWANIE ZATRZASKÓW ZAPISU
Zatrzaski zapisu są używane jako mechanizm przechowywania między zapisami tabeli aplikacji użytkownika a rzeczywistą sekwencją programowania. Podczas operacji programowania urządzenie przeniesie dane z zatrzasków zapisu do pamięci Flash. W przypadku urządzeń obsługujących programowanie rzędów, npampplik 4-3 pokazuje sekwencję instrukcji, których można użyć do załadowania 128 zatrzasków zapisu (128 słów instrukcji). 128 instrukcji TBLWTL i 128 TBLWTH jest potrzebnych do załadowania zatrzasków zapisu w celu zaprogramowania wiersza pamięci programu Flash. Zapoznaj się z rozdziałem „Pamięć programu Flash” w arkuszu danych konkretnego urządzenia, aby określić liczbę zatrzasków programowania dostępnych w urządzeniu. W przypadku urządzeń, które nie obsługują programowania wierszy, npample 4-4 pokazuje sekwencję instrukcji, których można użyć do załadowania dwóch zatrzasków zapisu (dwóch słów instrukcji). Do załadowania zatrzasków zapisu potrzebne są dwie instrukcje TBLWTL i dwie TBLWTH.

Notatka

  1. Kod dla Load_Write_Latch_Row jest pokazany w przykładzieample 4-3, a kod dla Load_Write_Latch_Word jest pokazany w Przykłample 4-4. Kod w obu tych examples jest mowa w kolejnym examples.
  2. Informacje na temat liczby zatrzasków można znaleźć w arkuszu danych konkretnego urządzenia.MICROCHIP-PIC24-Flash-Programowanie- (15)

PROGRAMOWANIE W JEDNORAZOWYM RZĘDZIE NpAMPLE
Rejestr NVMCON jest skonfigurowany do programowania jednego wiersza pamięci programu Flash. Działanie programu jest inicjowane przez wpisanie specjalnego odblokowania lub sekwencji klawiszy do rejestru NVMKEY przed ustawieniem bitu WR (NVMCON[15]). Sekwencja odblokowania musi być wykonana bez przerwy iw dokładnej kolejności, jak pokazano w Przykłample 4-5. Dlatego przerwania muszą być wyłączone przed zapisaniem sekwencji.

Notatka: Nie wszystkie urządzenia mają możliwość programowania rzędów. Zapoznaj się z rozdziałem „Pamięć programu Flash” w arkuszu danych konkretnego urządzenia, aby określić, czy ta opcja jest dostępna.

Po zakończeniu cyklu programowania w kodzie należy umieścić dwie instrukcje NOP.MICROCHIP-PIC24-Flash-Programowanie- (16) MICROCHIP-PIC24-Flash-Programowanie- (17)

PROGRAMOWANIE RZĘDÓW Z WYKORZYSTANIEM BUFORA RAM
Wybrane urządzenia dsPIC33 umożliwiają programowanie rzędów bezpośrednio z przestrzeni buforowej w pamięci RAM danych, zamiast przechodzenia przez zatrzaski przytrzymujące w celu przesyłania danych za pomocą instrukcji TBLWT. Położenie bufora RAM jest określane przez rejestry NVMSRCADR, które są ładowane z adresem pamięci RAM zawierającym pierwsze słowo danych programu do zapisania.

Przed wykonaniem operacji programowej należy załadować do pamięci RAM wiersz danych przeznaczonych do zaprogramowania. Pamięć RAM można załadować w formacie skompresowanym (spakowanym) lub nieskompresowanym. Pamięć skompresowana wykorzystuje jedno słowo danych do przechowywania najbardziej znaczących bajtów (MSB) dwóch sąsiednich słów danych programu. Format nieskompresowany używa dwóch słów danych dla każdego słowa danych programu, przy czym górny bajt każdego drugiego słowa to 00h. Format skompresowany zajmuje około 3/4 miejsca w pamięci RAM danych w porównaniu z formatem nieskompresowanym. Z drugiej strony format nieskompresowany naśladuje strukturę 24-bitowego słowa danych programu, wraz z górnym bajtem widmowym. Format danych jest wybierany przez bit RPDF (NVMCON[9]). Te dwa formaty pokazano na rysunku 4-1.

Po załadowaniu bufora RAM wskaźniki adresu Flash, NVMADR i NVMADRU, są ładowane z 24-bitowym adresem początkowym wiersza pamięci Flash, który ma zostać zapisany. Podobnie jak w przypadku programowania zatrzasków zapisu, proces jest inicjowany przez zapisanie sekwencji odblokowania NVM, a następnie ustawienie bitu WR. Po zainicjowaniu urządzenie automatycznie ładuje odpowiednie zatrzaski i zwiększa rejestry adresu NVM, aż wszystkie bajty zostaną zaprogramowane. Byłyample 4-7 pokazuje example procesu. Jeśli wartość NVMSRCADR jest ustawiona na taką wartość, że wystąpi warunek błędu niedopełnienia danych, bit URERR (NVMCON[8]) zostanie ustawiony, aby wskazać ten warunek.
Urządzenia, które implementują programowanie wierszy bufora RAM, implementują również jeden lub dwa zatrzaski zapisu. Są one ładowane przy użyciu instrukcji TBLWT i służą do wykonywania operacji programowania słów.MICROCHIP-PIC24-Flash-Programowanie- (18)

PROGRAMOWANIE SŁÓW
Rejestr NVMCON jest skonfigurowany do zaprogramowania dwóch słów instrukcji pamięci programu Flash. Działanie programu jest inicjowane przez wpisanie specjalnego odblokowania lub sekwencji klawiszy do rejestru NVMKEY przed ustawieniem bitu WR (NVMCON[15]). Sekwencja odblokowania musi być wykonana w dokładnej kolejności, jak pokazano w Przykłample 4-8, bez przerwy. Dlatego przerwania powinny być wyłączone przed zapisaniem sekwencji.
Po zakończeniu cyklu programowania w kodzie należy umieścić dwie instrukcje NOP.MICROCHIP-PIC24-Flash-Programowanie- (19) MICROCHIP-PIC24-Flash-Programowanie- (20)

Zapisywanie do rejestrów konfiguracji urządzeń
Na niektórych urządzeniach bity konfiguracyjne są przechowywane w pamięci konfiguracyjnej w sekcji o nazwie „Rejestry konfiguracji urządzeń”. Na innych urządzeniach bity konfiguracyjne są przechowywane na ostatniej stronie pamięci Flash programu użytkownika w sekcji o nazwie „Bajty konfiguracyjne Flash”. W przypadku tych urządzeń wykonanie operacji wymazania strony na ostatniej stronie pamięci programu powoduje wymazanie bajtów konfiguracji Flash, co umożliwia ochronę kodu. Dlatego użytkownicy nie powinni wykonywać operacji kasowania stron na ostatniej stronie pamięci programu. Zapoznaj się z mapą pamięci programu w rozdziale „Organizacja pamięci” arkusza danych konkretnego urządzenia, aby określić, gdzie znajdują się bity konfiguracyjne.

Kiedy bity konfiguracyjne są przechowywane w przestrzeni pamięci konfiguracyjnej, RTSP może być używany do zapisu w rejestrach konfiguracyjnych urządzenia, a RTSP umożliwia indywidualne przepisywanie każdego rejestru konfiguracyjnego bez uprzedniego wykonywania cyklu kasowania. Należy zachować ostrożność podczas zapisywania rejestrów konfiguracyjnych, ponieważ kontrolują one krytyczne parametry pracy urządzenia, takie jak źródło zegara systemowego, włączenie PLL i WDT.

Procedura programowania rejestru konfiguracyjnego urządzenia jest podobna do procedury programowania pamięci programu Flash, z tą różnicą, że wymagane są tylko instrukcje TBLWTL. Dzieje się tak, ponieważ górne osiem bitów w każdym rejestrze konfiguracji urządzenia jest nieużywanych. Ponadto bit 23 adresu zapisu tablicy musi być ustawiony, aby uzyskać dostęp do rejestrów konfiguracyjnych. Pełny opis rejestrów konfiguracyjnych urządzenia znajduje się w części „Konfiguracja urządzenia” (DS70000618) w „Podręczniku rodziny dsPIC33/PIC24” oraz w rozdziale „Funkcje specjalne” w arkuszu danych konkretnego urządzenia.

Notatka

  1. Zapisywanie do rejestrów konfiguracyjnych urządzenia nie jest dostępne we wszystkich urządzeniach. Zapoznaj się z rozdziałem „Funkcje specjalne” w arkuszu danych konkretnego urządzenia, aby określić dostępne tryby zgodnie z definicją bitów NVMOP[3:0] specyficznych dla danego urządzenia.
  2. Podczas wykonywania RTSP na rejestrach konfiguracji urządzenia, urządzenie musi działać z wykorzystaniem wewnętrznego oscylatora FRC (bez PLL). Jeśli urządzenie pracuje z innego źródła zegara, przed wykonaniem operacji RTSP w rejestrach konfiguracyjnych urządzenia należy wykonać przełączenie zegara na wewnętrzny oscylator FRC (NOSC[2:0] = 000).
  3. Jeśli bity wyboru trybu oscylatora podstawowego (POSCMD[1:0]) w rejestrze konfiguracji oscylatora (FOSC) są przeprogramowywane na nową wartość, użytkownik musi upewnić się, że bity trybu przełączania zegara (FCKSM[1:0]) w rejestr FOSC ma wstępnie zaprogramowaną wartość „0” przed wykonaniem tej operacji RTSP.

KONFIGURACJA REJESTRU ZAPISU ALGORYTM
Ogólna procedura wygląda następująco:

  1. Zapisz nową wartość konfiguracyjną do zatrzasku zapisu tabeli za pomocą instrukcji TBLWTL.
  2. Skonfiguruj NVMCON do zapisu w rejestrze konfiguracji (NVMCON = 0x4000).
  3. Wpisz adres rejestru konfiguracyjnego do zaprogramowania w rejestrach NVMADRU i NVMADR.
  4. Wyłącz przerwania, jeśli są włączone.
  5. Zapisz sekwencję klawiszy w rejestrze NVMKEY.
  6. Rozpocznij sekwencję zapisu, ustawiając bit WR (NVMCON[15]).
  7. W razie potrzeby włącz ponownie przerwania.

Example 4-10 pokazuje sekwencję kodu, której można użyć do modyfikacji rejestru konfiguracji urządzenia.MICROCHIP-PIC24-Flash-Programowanie- (21)

ZAREJESTRUJ MAPĘ

Podsumowanie rejestrów związanych z programowaniem Flash zawiera Tabela 5-1.MICROCHIP-PIC24-Flash-Programowanie- (22)

POWIĄZANE UWAGI APLIKACYJNE

Ta sekcja zawiera uwagi dotyczące aplikacji, które są powiązane z tą częścią podręcznika. Te uwagi aplikacyjne mogą nie być napisane specjalnie dla rodzin produktów dsPIC33/PIC24, ale koncepcje są istotne i mogą być używane z modyfikacjami i możliwymi ograniczeniami. Aktualne uwagi aplikacyjne związane z programowaniem Flash to:

Notatka: Odwiedź Microchip webStrona (www.microchip.com) dla dodatkowych uwag aplikacyjnych i kodu npamppliki dla rodzin urządzeń dsPIC33/PIC24.

HISTORIA REWIZJI

Wersja A (sierpień 2009)
To jest pierwsza opublikowana wersja tego dokumentu.

Wersja B (luty 2011)
Ta wersja zawiera następujące aktualizacje:

  • Examples:
    • Usunięto npample 5-3 i Exampw dniach 5-4
    • Zaktualizowano Example 4-1, Njample 4-5 i Exampw dniach 4-10
    • Wszelkie odniesienia do #WR zostały zaktualizowane do #15 w Example 4-1, Njample 4-5 i Exampw dniach 4-8
    • Zaktualizowano następujące elementy w Examprozdział 4-3:
  • Zaktualizowano tytuł „Programowanie słów” na „Ładowanie zatrzasków zapisu dla programowania wierszy”
  • Wszelkie odniesienia do #ram_image zostały zaktualizowane do #0xFA
    • Dodano Exampw dniach 4-4
    • Zaktualizowano tytuł w Exampw dniach 4-8
  • Uwagi:
    • Dodano dwie uwagi w sekcji 4.2 „Operacje programowania Flash”
    • Zaktualizowano uwagę w sekcji 4.5.2 „Ładowanie zatrzasków zapisu”
    • Dodano trzy uwagi w sekcji 4.6 „Zapisywanie w rejestrach konfiguracji urządzeń”
    • Dodano uwagę 1 w tabeli 5-1
  • rejestry:
    • Zaktualizowano wartości bitów dla NVMOP[3:0]: Operacja NVM Wybierz bity w rejestrze Flash Memory Control (NVMCON) (patrz rejestr 3-1)
  • Sekcje:
    • Usunięto sekcje 5.2.1.4 „Tryb zapisu słowa” i 5.2.1.5 „Tryb zapisu bajtu”
    • Zaktualizowano sekcję 3.0 „Rejestr kontrolny”
    • Zaktualizowano następujące elementy w sekcji 4.5.5 „Programowanie w programie Word”:
  • Zmieniono tytuł sekcji „Programowanie jednego słowa pamięci Flash” na „Programowanie słów”
  • Zaktualizowano pierwszy akapit
  • Zmieniono terminy „jedno słowo” na „parę słów” w drugim akapicie
    • Dodano nowy krok 1 do sekcji 4.6.1 „Algorytm zapisu rejestru konfiguracji”
  • Tabele:
    • Zaktualizowano Tabela 5-1
  • Kilka odniesień do pamięci programu zostało zaktualizowanych do pamięci programu Flash
  • Inne drobne aktualizacje, takie jak aktualizacje języka i formatowania, zostały uwzględnione w całym dokumencie

Wersja C (czerwiec 2011)
Ta wersja zawiera następujące aktualizacje:

  • Examples:
    • Zaktualizowano Exampw dniach 4-1
    • Zaktualizowano Exampw dniach 4-8
  • Uwagi:
    • Dodano uwagę w sekcji 4.1 „Działanie RTSP”
    • Dodano uwagę 3 w sekcji 4.2 „Operacje programowania Flash”
    • Dodano uwagę 3 w sekcji 4.2.1 „Algorytm programowania RTSP”
    • Dodano uwagę w sekcji 4.5.1 „Erasing Jedna strona Flasha”
    • Dodano uwagę 2 w sekcji 4.5.2 „Ładowanie zatrzasków zapisu”
  • rejestry:
    • Zaktualizowano opis bitów dla bitów 15-0 w rejestrze adresu pamięci nieulotnej (patrz rejestr 3-3)
  • Sekcje:
    • Zaktualizowano sekcję 4.1 „Działanie RTSP”
    • Zaktualizowano sekcję 4.5.5 „Programowanie Worda”
  • Inne drobne aktualizacje, takie jak aktualizacje języka i formatowania, zostały uwzględnione w całym dokumencie

Wersja D (grudzień 2011)
Ta wersja zawiera następujące aktualizacje:

  • Zaktualizowano sekcję 2.1.3 „Zatrzaski zapisu tabeli”
  • Zaktualizowano sekcję 3.2 „Rejestr NVMKEY”
  • Zaktualizowano uwagi w NVMCON: Rejestr kontroli pamięci Flash (patrz Rejestr 3-1)
  • W sekcji 4.0 „Autoprogramowanie w czasie wykonywania (RTSP)” dokonano obszernych aktualizacji.
  • Inne drobne aktualizacje, takie jak aktualizacje języka i formatowania, zostały uwzględnione w całym dokumencie

Wersja E (październik 2018)
Ta wersja zawiera następujące aktualizacje:

  • Dodano Example 2-2, Njample 4-2, Njample 4-6 i Exampw dniach 4-9
  • Dodano sekcję 4.5.4 „Programowanie wierszy przy użyciu bufora RAM”
  • Zaktualizowano sekcję 1.0 „Wprowadzenie”, sekcję 3.3 „Rejestr adresów NVM”, sekcję 4.0 „Autoprogramowanie w czasie wykonywania (RTSP)” i sekcję 4.5.3 „Programowanie pojedynczego wiersza Examp„
  • Zaktualizowany rejestr 3-1
  • Zaktualizowano Exampw dniach 4-7
  • Zaktualizowano Tabela 5-1

Wersja F (listopad 2021)
Dodano sekcję 3.2.1 „Wyłączanie przerwań”.
Zaktualizowano Example 3-1, Njample 4-1, Njample 4-2, Njample 4-5, Njample 4-6, Njample 4-7, Njample 4-8, Njample 4-9 i Examp4-10.
Zaktualizowano sekcję 3.2 „Rejestr NVMKEY”, sekcję 4.5.1 „Erasing Jedna strona Flasha”, Sekcja 4.5.3 „Programowanie pojedynczego wiersza”ample” i Sekcja 4.6.1 „Algorytm zapisu rejestru konfiguracji”.

Należy zwrócić uwagę na następujące szczegóły dotyczące funkcji ochrony kodu w produktach Microchip:

  • Produkty Microchip spełniają specyfikacje zawarte w ich konkretnych Kartach Danych Microchip.
  • Firma Microchip uważa, że ​​jej rodzina produktów jest bezpieczna, gdy jest używana zgodnie z przeznaczeniem, zgodnie ze specyfikacjami roboczymi i w normalnych warunkach.
  • Microchip ceni i agresywnie chroni swoje prawa własności intelektualnej. Próby naruszenia funkcji ochrony kodu produktu Microchip są surowo zabronione i mogą naruszać ustawę Digital Millennium Copyright Act.
  • Ani Microchip, ani żaden inny producent półprzewodników nie może zagwarantować bezpieczeństwa swojego kodu. Ochrona kodu nie oznacza, że ​​gwarantujemy, że produkt jest „niezniszczalny”. Ochrona kodu stale ewoluuje. Firma Microchip dokłada wszelkich starań, aby stale ulepszać funkcje ochrony kodu w naszych produktach

Niniejsza publikacja i zawarte w niej informacje mogą być używane wyłącznie z produktami firmy Microchip, w tym do projektowania, testowania i integracji produktów firmy Microchip z aplikacją użytkownika. Wykorzystanie tych informacji w jakikolwiek inny sposób narusza niniejsze warunki. Informacje dotyczące aplikacji urządzenia są podawane wyłącznie dla Twojej wygody i mogą zostać zastąpione aktualizacjami. Twoim obowiązkiem jest upewnienie się, że Twoja aplikacja spełnia Twoje wymagania. Skontaktuj się z lokalnym biurem sprzedaży Microchip, aby uzyskać dodatkowe wsparcie lub uzyskaj dodatkowe wsparcie pod adresem https://www.microchip.com/en-us/support/design-help/client-supportservices.

NINIEJSZE INFORMACJE SĄ DOSTARCZANE PRZEZ MICROCHIP „TAK JAK JEST”. MICROCHIP NIE SKŁADA ŻADNYCH OŚWIADCZEŃ ANI NIE UDZIELA ŻADNYCH GWARANCJI WYRAŹNYCH LUB DOROZUMIANYCH, PISEMNYCH ANI USTNYCH, USTAWOWYCH ANI W INNY SPOSÓB, ZWIĄZANYCH Z INFORMACJAMI, W TYM MIĘDZY INNYMI JAKICHKOLWIEK DOROZUMIANYCH GWARANCJI NIENARUSZALNOŚCI, PRZYDATNOŚCI HANDLOWEJ I PRZYDATNOŚCI DO OKREŚLONEGO CELU LUB ODPOWIEDZIALNOŚCI JEGO STAN, JAKOŚĆ LUB WYDAJNOŚĆ. W ŻADNYM WYPADKU MICROCHIP NIE BĘDZIE ODPOWIEDZIALNY ZA JAKIEKOLWIEK POŚREDNIE, SZCZEGÓLNE, PRZYPADKOWE LUB WYNIKOWE STRATY, SZKODY, KOSZTY LUB WYDATKI JAKIEGOKOLWIEK RODZAJU ZWIĄZANE Z INFORMACJAMI LUB JEGO WYKORZYSTANIEM, BEZ JAKIEGOKOLWIEK PRZYCZYNY, NAWET JEŻELI MICROCHIP ZOSTAŁ POWIADOMIONY O MOŻLIWOŚĆ LUB USZKODZENIA SĄ DO PRZEWIDYWANIA. W NAJSZERSZYM ZAKRESIE DOZWOLONYM PRZEZ PRAWO, CAŁKOWITA ODPOWIEDZIALNOŚĆ FIRMY MICROCHIP ZA WSZELKIE ROSZCZENIA W JAKIKOLWIEK SPOSÓB ZWIĄZANE Z INFORMACJAMI LUB JEJ WYKORZYSTANIEM NIE PRZEKROCZY KWOTY OPŁAT, JEŚLI TAKIE SĄ, KTÓRE ZAPŁACILIŚCIE BEZPOŚREDNIO DO MICROCHIP ZA INFORMACJE.

Korzystanie z urządzeń Microchip w podtrzymywaniu życia i/lub aplikacjach bezpieczeństwa odbywa się wyłącznie na ryzyko kupującego, a kupujący zgadza się bronić, zabezpieczać i chronić Microchip przed wszelkimi szkodami, roszczeniami, pozwami lub wydatkami wynikającymi z takiego użytkowania. Żadne licencje nie są przekazywane, w sposób dorozumiany lub inny, na mocy jakichkolwiek praw własności intelektualnej Microchip, chyba że zaznaczono inaczej.

Aby uzyskać informacje dotyczące systemów zarządzania jakością firmy Microchip, odwiedź stronę www.microchip.com/jakość.

Znaki towarowe

Nazwa i logo Microchip, logo Microchip, Adaptec, AnyRate, AVR, logo AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, logo Microsemi, MOST, logo MOST, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, logo PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, logo SST, SuperFlash , Symmetricom, SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron i XMEGA są zastrzeżonymi znakami towarowymi firmy Microchip Technology Incorporated w USA i innych krajach. AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed ​​Control, HyperLight Load, IntelliMOS, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, logo ProASIC Plus, Quiet-Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, WinPath i ZL są zastrzeżonymi znakami towarowymi firmy Microchip Technology Incorporated w USA

Tłumienie sąsiadujących klawiszy, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic Average Matching, DAM , ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, programowanie szeregowe w obwodzie, ICSP, INICnet, inteligentne połączenie równoległe, łączność między chipami, JitterBlocker, pokrętło na wyświetlaczu, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, NVM Express, NVMe, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE , Ripple Blocker, RTAX, RTG4, SAM-ICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect i ZENA są znakami towarowymi firmy Microchip Technology Incorporated w USA i innych krajach.

SQTP jest znakiem usługowym firmy Microchip Technology Incorporated w USA
Logo Adaptec, Frequency on Demand, Silicon Storage Technology, Symmcom i Trusted Time są zastrzeżonymi znakami towarowymi firmy Microchip Technology Inc. w innych krajach.
GestIC jest zarejestrowanym znakiem towarowym firmy Microchip Technology Germany II GmbH & Co. KG, spółki zależnej Microchip Technology Inc., w innych krajach.
Wszystkie inne znaki towarowe wymienione w niniejszym dokumencie są własnością odpowiednich firm.
© 2009-2021, Microchip Technology Incorporated i jej spółki zależne.
Wszelkie prawa zastrzeżone.
ISBN: 978-1-5224-9314-3

Sprzedaż i serwis na całym świecie

AMERYKA

AZJA/PACYFIK

  • Australia – Sydney
    Telefon: 61-2-9868-6733
  • Chiny – Pekin
    Telefon: 86-10-8569-7000
  • Chiny – Chengdu
    Telefon: 86-28-8665-5511
  • Chiny – Chongqing
    Telefon: 86-23-8980-9588
  • Chiny – Dongguan
    Telefon: 86-769-8702-9880
  • Chiny – Kanton
    Telefon: 86-20-8755-8029
  • Chiny – Hangzhou
    Telefon: 86-571-8792-8115
  • Chiny – Hongkong SAR
    Telefon: 852-2943-5100
  • Chiny – Nankin
    Telefon: 86-25-8473-2460
  • Chiny – Qingdao
    Telefon: 86-532-8502-7355
  • Chiny – Szanghaj
    Telefon: 86-21-3326-8000
  • Chiny – Shenyang
    Telefon: 86-24-2334-2829
  • Chiny – Shenzhen
    Telefon: 86-755-8864-2200
  • Chiny – Suzhou
    Telefon: 86-186-6233-1526
  • Chiny – Wuhan
    Telefon: 86-27-5980-5300
  • Chiny – Xian
    Telefon: 86-29-8833-7252
  • Chiny – Xiamen
    Telefon: 86-592-2388138
  • Chiny – Zhuhai
    Telefon: 86-756-3210040
  • Indie – Bangalore
    Telefon: 91-80-3090-4444
  • Indie – Nowe Delhi
    Telefon: 91-11-4160-8631
  • Indie – Pune
    Telefon: 91-20-4121-0141
  • Japonia – Osaka
    Telefon: 81-6-6152-7160
  • Japonia – Tokio
    Telefon: 81-3-6880- 3770
  • Korea – Daegu
    Telefon: 82-53-744-4301
  • Korea – Seul
    Telefon: 82-2-554-7200
  • Malezja - Kuala Lumpur
    Telefon: 60-3-7651-7906
  • Malezja – Penang
    Telefon: 60-4-227-8870
  • Filipiny – Manila
    Telefon: 63-2-634-9065
  • Singapur
    Telefon: 65-6334-8870
  • Tajwan – Hsin Chu
    Telefon: 886-3-577-8366
  • Tajwan – Kaohsiung
    Telefon: 886-7-213-7830
  • Tajwan – Tajpej
    Telefon: 886-2-2508-8600
  • Tajlandia – Bangkok
    Telefon: 66-2-694-1351
  • Wietnam – Ho Chi Minh
    Telefon: 84-28-5448-2100

EUROPA

  • Austria – Wels
    Telefon: 43-7242-2244-39
    Faks: 43-7242-2244-393
  • Dania – Kopenhaga
    Telefon: 45-4485-5910
    Faks: 45-4485-2829
  • Finlandia – Espoo
    Telefon: 358-9-4520-820
  • Francja – Paryż
    Telefon: 33-1-69-53-63-20
    Faks: 33-1-69-30-90-79
  • Niemcy – Garching
    Telefon: 49-8931-9700
  • Niemcy – Haan
    Telefon: 49-2129-3766400
  • Niemcy – Heilbronn
    Telefon: 49-7131-72400
  • Niemcy – Karlsruhe
    Telefon: 49-721-625370
  • Niemcy – Monachium
    Telefon: 49-89-627-144-0
    Faks: 49-89-627-144-44
  • Niemcy – Rosenheim
    Telefon: 49-8031-354-560
  • Włochy – Mediolan
    Telefon: 39-0331-742611
    Faks: 39-0331-466781
  • Włochy – Padwa
    Telefon: 39-049-7625286
  • Holandia – Drunen
    Telefon: 31-416-690399
    Faks: 31-416-690340
  • Norwegia – Trondheim
    Telefon: 47-7288-4388
  • Polska – Warszawa
    Telefon: 48-22-3325737
  • Rumunia – Bukareszt
    Telefon: 40-21-407-87-50
  • Hiszpania – Madryt
    Telefon: 34-91-708-08-90
    Faks: 34-91-708-08-91
  • Szwecja – Göteborg
    Telefon: 46-31-704-60-40
  • Szwecja – Sztokholm
    Telefon: 46-8-5090-4654
  • Wielka Brytania – Wokingham
    Telefon: 44-118-921-5800
    Faks: 44-118-921-5820

Notatka:

Ta część podręcznika referencyjnego rodziny ma służyć jako uzupełnienie kart danych urządzeń. W zależności od wersji urządzenia, ta sekcja instrukcji może nie dotyczyć wszystkich urządzeń dsPIC33/PIC24. Zapoznaj się z uwagą na początku rozdziału „Pamięć programu Flash” w aktualnej karcie danych urządzenia, aby sprawdzić, czy ten dokument obsługuje używane przez Ciebie urządzenie.
Arkusze danych urządzeń i sekcje podręczników referencyjnych rodziny są dostępne do pobrania na stronie Microchip Worldwide Webstrona pod adresem: http://www.microchip.com.

Dokumenty / Zasoby

MICROCHIP PIC24 Programowanie Flash [plik PDF] Instrukcja użytkownika
PIC24 Programowanie Flash, PIC24, Programowanie Flash, Programowanie
MICROCHIP PIC24 Programowanie Flash [plik PDF] Instrukcja użytkownika
Programowanie Flash PIC24, PIC24, programowanie Flash

Odniesienia

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *