MultiTool jest narzędziem, którym zaprogramujesz nie tylko procesory AVR firmy Atmel lecz również wiele innych procesorów ze stajni NXP (dawny Philips) łącznie z najnowszymi procesorami ARM z rdzeniem Cortex M3 i M0 dzięki współpracy z darmowym programem FlashMagic (do pobrania ze strony http://www.flashmagictool.com ).
Tabele poniżej przedstawiają obecnie obsługiwane procesory:
6 clock/12 clock 8051
P89C51RB+ P89C51RC+ P89C51RD+ P89C51RB2Hxx P89C51RC2Hxx P89C51RD2Hxx
P89C660 P89C662 P89C664 P89C668 P89C669 P89C51RA2xx P89C51RB2xx P89C51RC2xx
P89C51RD2xx P89C60X2 P89C61X2 P89LV51RB2 P89LV51RC2 P89LV51RD2
P89V51RB2 P89V51RC2 P89V51RD2 P89V660 P89V662 P89V664
2 clock 8051
P89LPC901 P89LPC902 P89LPC903 P89LPC906 P89LPC907 P89LPC908
P89LPC912 P89LPC913 P89LPC914 P89LPC920 P89LPC921 P89LPC922
P89LPC930 P89LPC931 P89LPC932 P89LPC933 P89LPC934 P89LPC935
P89LPC904 P89LPC915 P89LPC916 P89LPC917 P89LPC924 P89LPC925
P89LPC932A1 P89LPC936 P89LPC938 P89LPC9102 P89LPC9103 P89LPC9107
P89LPC952 P89LPC9401 P89LPC918 P89LPC9321 P89LPC9351 P89LPC9408
P89LPC9201 P89LPC9211 P89LPC922A1 P89LPC9241 P89LPC9251 P89LPC9301
P89LPC931A1 P89LPC9331 P89LPC9341 P89LPC9402 P89LPC9361 P89LPC9151
P89LPC9161 P89LPC9171 P89LPC970 P89LPC971 P89LPC972 P89LPC980
P89LPC982 P89LPC983 P89LPC985
ARM7
LPC2101 LPC2102 LPC2103 LPC2104 LPC2105 LPC2106
LPC2109 LPC2114 LPC2119 LPC2124 LPC2129 LPC2131
LPC2132 LPC2134 LPC2136 LPC2138 LPC2141 LPC2142
LPC2144 LPC2146 LPC2148 LPC2194 LPC2210 LPC2212
LPC2214 LPC2220 LPC2290 LPC2292 LPC2294 LPC2361
LPC2364 LPC2365 LPC2366 LPC2367 LPC2368 LPC2377
LPC2378 LPC2387 LPC2388 LPC2458 LPC2468 LPC2478
ARM Cortex M3
LPC1751 LPC1752 LPC1754 LPC1756 LPC1758 LPC1764
LPC1765 LPC1766 LPC1768 LPC1759 LPC1769
LPC1774 LPC1776 LPC1777 LPC1778 LPC1785 LPC1786
LPC1787 LPC1788 LPC1311 LPC1313 LPC1342
LPC1343 LPC1311/01 LPC1313/01 LPC1224/101 LPC1224/121 LPC1225/301
LPC1225/321 LPC1226/301 LPC1227/301 LPC12D27/301
ARM Cortex M0
LPC1111 LPC1112 LPC1113 LPC1114 LPC11C12 LPC11C14 LPC11C22 LPC11C24 LPC11U12 LPC11U13 LPC11U14
XA
PXA-G39 PXA-G49
6 clock/12 clock 8051
P89C51RB+ P89C51RC+ P89C51RD+ P89C51RB2Hxx P89C51RC2Hxx P89C51RD2Hxx
P89C660 P89C662 P89C664 P89C668 P89C669 P89C51RA2xx P89C51RB2xx P89C51RC2xx
P89C51RD2xx P89C60X2 P89C61X2 P89LV51RB2 P89LV51RC2 P89LV51RD2
P89V51RB2 P89V51RC2 P89V51RD2 P89V660 P89V662 P89V664
2 clock 8051
P89LPC901 P89LPC902 P89LPC903 P89LPC906 P89LPC907 P89LPC908
P89LPC912 P89LPC913 P89LPC914 P89LPC920 P89LPC921 P89LPC922
P89LPC930 P89LPC931 P89LPC932 P89LPC933 P89LPC934 P89LPC935
P89LPC904 P89LPC915 P89LPC916 P89LPC917 P89LPC924 P89LPC925
P89LPC932A1 P89LPC936 P89LPC938 P89LPC9102 P89LPC9103 P89LPC9107
P89LPC952 P89LPC9401 P89LPC918 P89LPC9321 P89LPC9351 P89LPC9408
P89LPC9201 P89LPC9211 P89LPC922A1 P89LPC9241 P89LPC9251 P89LPC9301
P89LPC931A1 P89LPC9331 P89LPC9341 P89LPC9402 P89LPC9361 P89LPC9151
P89LPC9161 P89LPC9171 P89LPC970 P89LPC971 P89LPC972 P89LPC980
P89LPC982 P89LPC983 P89LPC985
ARM7
LPC2101 LPC2102 LPC2103 LPC2104 LPC2105 LPC2106
LPC2109 LPC2114 LPC2119 LPC2124 LPC2129 LPC2131
LPC2132 LPC2134 LPC2136 LPC2138 LPC2141 LPC2142
LPC2144 LPC2146 LPC2148 LPC2194 LPC2210 LPC2212
LPC2214 LPC2220 LPC2290 LPC2292 LPC2294 LPC2361
LPC2364 LPC2365 LPC2366 LPC2367 LPC2368 LPC2377
LPC2378 LPC2387 LPC2388 LPC2458 LPC2468 LPC2478
ARM Cortex M3
LPC1751 LPC1752 LPC1754 LPC1756 LPC1758 LPC1764
LPC1765 LPC1766 LPC1768 LPC1759 LPC1769
LPC1774 LPC1776 LPC1777 LPC1778 LPC1785 LPC1786
LPC1787 LPC1788 LPC1311 LPC1313 LPC1342
LPC1343 LPC1311/01 LPC1313/01 LPC1224/101 LPC1224/121 LPC1225/301
LPC1225/321 LPC1226/301 LPC1227/301 LPC12D27/301
ARM Cortex M0
LPC1111 LPC1112 LPC1113 LPC1114 LPC11C12 LPC11C14 LPC11C22 LPC11C24 LPC11U12 LPC11U13 LPC11U14
XA
PXA-G39 PXA-G49
Poniżej przedstawiam przykładowe połączenie z procesorem LPC1114. Połączenie do innych układów jest analogiczne.
Generalnie należy podłączyć sygnały TX (pin 1) i RX (pin 9) oraz (opcjonalnie) RTS (pin 7) i DTR (pin 3) MultiToola do programowanego układu odpowiednio do pinów RX, TX, ISP i RESET. Nie należy oczywiście zapomnieć o połączeniu mas MultiToola i programowanego procesora. Rzeczą jasną jest, że procesor powinien być poprawnie zasilany oraz jeśli to konieczne powinien mieć podłączony rezonator kwarcowy lub inne źródło taktujące.
Sygnały RTS oraz DTR są opcjonalne ponieważ układ można wprowadzić w tryb programowania ręcznie poprzez ustawienie stanu niskiego na pinie ISP a następnie zresetowaniu układu. Dalsze postępowanie jest identyczne w obu przypadkach.
Konfiguracja MultiToola
Aby możliwa była współpraca z programem Flash Magic należy wprowadzić MultiTool w tryb Virtual COM co czynimy w następujący sposób:
- uruchamiamy ulubiony terminal (HyperTerminal, Herkules, TeraTerm itp)
- wskazujemy port pod którym widoczny jest MultiTool (do sprawdzenia w Menadżerze urządzeń)
- naciskamy 2 razy enter
- wybieramy opcję 2. Virtual COM po czym wciskamy ponownie Enter
- zamykamy port (terminal)
Konfiguracja programu Flash Magic
Po zainstalowaniu i uruchomieniu programu Flash Magic należy w menu Options wybrać Advance Options. Następnie w zakładce Hardware Config należy zaznaczyć pole Assert DTR and RTS while COM Port open
Programowanie układu za pomocą Flash Magic
Programowanie układu następuje w 5 krokach:
Krok 1. Wybór programowanego układu oraz parametrów programowania.
Po kliknięciu przycisku Select Device ukaże się lista obsługiwanych układów z której należy wybrać interesujący nas procesor.
Następnie należy wybrać port COM pod którym widoczny jest MultiTool (do sprawdzenia w menadżerze urządzeń) oraz prędkość transmisji. W polu Interface należy wybrać None (ISP) a w polu Oscillator częstotliwość taktowania programowanego procesora w Mhz
Krok 2. Wybór obszarów pamięci do kasowania
W kroku tym należy zaznaczyć bloki pamięci, które chcemy wykasować przed programowaniem (nie można zaprogramować nieskasowanej pamięci Flash) lub pole Erase all jeśli chcemy wykasować całą jej zawartość.
Krok 3. Wybór pliku
W polu Hex File należy wskazać plik Hex którym będziemy programować układ.
Krok 4. Opcje dodatkowe
Przydatną opcją jest weryfikacja poprawności zaprogramowania układu. Po zaprogramowaniu procesora następuje odczytanie zawartości pamięci i porównanie z oryginalnym plikiem.
Krok 5. Programowanie układu
Po kliknięciu przyciski Start nastąpi zaprogramowanie układu