Programowanie ISP mikrokontrolerów STR9 oraz LPC2000

Zajmiemy się omówieniem programowania pamięci nowych na rynku mikrokontrolerów z rodziny STR9 (rdzeń ARM966E-S) oraz rynkowych „dinozaurów” – mikrokontrolerów z rodziny LPC2000. Do LPC2000 wracamy, bowiem szykuje się zmiana oprogramowania do ich programowania.

Łatwość (a w zasadzie taniość) programowania pamięci mikrokontrolerów i dostępności tanich (lepiej: darmowych) narzędzi są jednymi z najistotniejszych kryteriów branych pod uwagę przez odbiorców podczas doboru mikrokontrolerów do nowych aplikacji. Od samego początku wprowadzania rodziny LPC2000 na rynek zrozumiała to firma Philips, dlatego niemalże jednocześnie z wprowadzeniem do sprzedaży mikrokontrolerów z wbudowaną pamięcią Flash, wyposażono je w bootloadery oraz udostępniono bezpłatny, łatwy w obsłudze program. Już w najbliższej przyszłości zastąpi go….

…FlashMagic

Jest to program obecny na „philipsowym” rynku od lat, ale dotychczas znany wyłącznie użytkownikom mikrokontrolerów z rdzeniem 8051 oraz 16-bitowe wersje ’51 nazwane przez producenta XA (wszystkie, oczywiście, produkowane przez firmę Philips). Mikrokontrolery te wyposażono w możliwość programowania wbudowanej pamięci z wykorzystaniem bootloadera, podobnie do rozwiązania zastosowanego w mikrokontrolerach z rodziny LPC2000.
FlashMagic został opracowany przez Embedded System Academy (www.esacademy.com), jako projekt sponsorowany przez firmę Philips. Oprogramowanie jest dystrybuowane bezpłatnie (http://www.esacademy.com/software/flashmagic/). FlashMagic wymaga instalacji (przebiega ona typowo) i może współpracować ze wszystkimi dotychczasowymi wersjami Windows.

Rys. 1. Okno programu FlashMagic z rozwiniętą listą wybory typu mikrokontrolera

Rys. 1. Okno programu FlashMagic z rozwiniętą listą wybory typu mikrokontrolera

Okno programu FlashMagic z otwartą listą wyboru programowanego mikrokontrolera pokazano na rys. 1. Program działa w taki sposób, że opcje udostępniane użytkownikowi w panelu konfiguracyjnym zależą od wybranego typu mikrokontrolera. Świetnym pomysłem zastosowanym w programie jest ponumerowanie czynności, które użytkownik powinien wykonać, żeby zaprogramować układ – wyraźnie to widać na rys. 2.

 

Rys. 2. Okno FlashMagica zawiera sektory ponumerowane zgodnie z zalecaną kolejnością postępowania podczas programowania pamięci mikrokontrolerów

Rys. 2. Okno FlashMagica zawiera sektory ponumerowane zgodnie z zalecaną kolejnością postępowania podczas programowania pamięci mikrokontrolerów

Od strony użytkowej FlashMagic jest niemalże identyczny z programem ISP Flash Utility, jedyne zastrzeżeniem do jego walorów użytkowych jest związane z brakiem autodetekcji typu programowanego mikrokontrolera. Jest to o tyle dziwne, że program przed każdym programowaniem sprawdza sygnaturę mikrokontrolera i ostrzega użytkownika, jeśli nie jest ona zgodna z zadanym typem. Możliwe jest także „ręczne” odczytanie sygnatury mikrokontrolera, ale program nie podaje automatycznie jego typu. Jest to w sumie drobiazg, tylko nieco uprzykrzający korzystanie z programu, ale mam nadzieję, że w kolejnych wersjach niedociągnięcie to zostanie usunięte. FlashMagic wyposażono w prosty, lecz skuteczny program terminalowy, a także możliwość (z zastosowaniem zewnętrznych programów) numerowania lub datowania wersji programów wpisywanych do pamięci mikrokontrolerów (funkcja Just In Time Code).
Programowanie pamięci mikrokontrolerów LPC2000 za pomocą programu FlashMagic wymaga zastosowania prostego interfejsu sprzętowego, którego schemat elektryczny pokazano na rys. 3. W przypadku, gdy bootloader ma być uruchamiany automatycznie przez FlashMagica, konieczne jest zmodyfikowanie jego domyślnych ustawień (Options>Advanced Options) w sposób pokazany na rys. 4.

 

Rys. 3. Schemat elektryczny interfejsu do programowania mikrokontrolerów LPC2000 z automatycznym uruchamianiem bootloadera

Rys. 3. Schemat elektryczny interfejsu do programowania mikrokontrolerów LPC2000 z automatycznym uruchamianiem bootloadera

 

 

 

Rys. 4. Zakładka umożliwiająca skonfigurowanie FlashMagica w tryb automatycznego uruchamiania bootloadera

Rys. 4. Zakładka umożliwiająca skonfigurowanie FlashMagica w tryb automatycznego uruchamiania bootloadera

 

O autorze