FLASHMAGIC - Program do ładowania kodu do pamięci FLASH procków NXP

Tu jest miejsca na dyskusje nad innymi programami wspomagającymi prace elektronika przy projektowaniu pcb itp. ale również można tu wstawiać tematy związane z innymi programami typu CAD

Moderator: ZbeeGin

Regulamin forum
Temat należy poprzedzić nazwa programu ujętą w kwadratowe nawiasy np. [KiCAD]
Awatar użytkownika
gaweł
Expert
Expert
Posty: 761
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

FLASHMAGIC - Program do ładowania kodu do pamięci FLASH procków NXP

Postautor: gaweł » środa 15 maja 2019, 23:06

Posługiwanie się programem FLASHMAGIC

flashm_00-1.png


Jak widać, lista obsługiwanych procków jest imponująca, więc może warto poznać to narzędzie.

Do zaprogramowania mikrokontrolera LPC2378 (również innych oferowanych przez producenta, firmę NXP, można zastosować program FLASHMAGIC. Program ten możne bezpłatnie pobrać ze strony http://www.flashmagictool.com/download. ... flashmagic. Jego instalacja przebiega typowo i nie powinna sprawić jakiegokolwiek problemu. Program uruchamia się wybierając odpowiednią pozycję w menu (ilustracja 1).
flashm_00.png
Po jego uruchomieniu naszym oczom ukazuje się „piękny widok z perspektywami na fascynującą przygodę” … a poważnie: mamy główne okienko programu, jak pokazuje ilustracja 2. Program ten jest przeznaczony do zaprogramowania pamięci FLASH mikrokontrolera w oparciu w plik w formacie Intel-hex wygenerowany przez kompilator. Po zainstalowaniu program ten jest wstępnie właściwie skonfigurowany (w zakresie parametrów sterowania liniami modemowymi) i nie należy tego modyfikować. Jednak, jeżeli ktoś ma nieodpartą chęć przekonania się o tym samemu, to... nic nie stoi na przeszkodzie by tego doświadczyć. Należy kliknąć na przycisk „Options” i następnie na „Advanced Options”, jak pokazuje ilustracja 3.
flashm_01.png
flashm_02.png
Po wybraniu opcji, rozwinie się kolejne okienko, gdzie należy wybrać zakładkę „Hardware Config”, gdzie można konfigurować szczegóły sterowania liniami modemowymi w trakcie programowania mikrokontrolera w trybie IAP.
Właściwie ustawione parametry sterowania dla interfejsu szeregowego pokazuje ilustracja 4.
flashm_03.PNG
By program FLASHMAGIC zrobił, to co się od niego oczekuje, należy podać mu niezbędne informacje oraz połączyć pełnomodemowym kablem (zawierającym oprócz linii transmitowanych danych również obsługę linii modemowych) port COM komputera (ewentualnie zastosować przejściówkę USB↔RS232) z portem mikrokontrolera umożliwiającym programowanie w trybie IAP (dane szeregowe skierowane do UART0, odpowiednie linie modemowe przyłączone do sygnału reset oraz zewnętrznego przerwania EINT0). Przykładowe rozwiązanie pokazuje ilustracja 5.
flashm_05.jpg

Czynności do wykonania przed procedurą programowania, należy wybrać:
  • model programowanego mikrokontrolera, klikającć na przycisk „Select”, w wyniku czego rozwija się menu do wyboru modelu mikrokontrolera (ilustracja 6) i wybrać pozycję LPC2378 (gdyż taki będzie programowany),
    flashm_04.png
  • klikając na „trójkącik” w pozycji „COM port” wybrać port komunikacyjny dla programu FLASHMAGIC, (ilustracja 7), w moim przypadku jest to COM1,
    flashm_05.png
  • klikając na „trójkącik” w pozycji „Baud Rate” wybrać prędkość komunikacyjną (ilustracja 8), z jaką będzie przesyłany kod programu do zapisu w pamięci FLASH, wiadomo, że im jest większa prędkość, tym czas operacji jest krótszy ale, jako transakcja wiązana, rośnie prawdopodobieństwo przekłamania, wybór prędkości 38400 wydaje się być optymalnym,
    flashm_06.png
  • klikając na „trójkącik” w pozycji „Interface” wybrać pozycję „None (ISP)” jako brak interfejsu, w naszym przypadku nie jest używany żaden, ilustracja 9 (interfejs pokazany na ilustracji 5 nie jest w kategorii interfejsu w rozumieniu programu FLASHMAGIC a zaprezentowany na wymienionej ilustracji układ jest jedynie „wyniesionym” poza urządzenie interfejsem do konwersji poziomów napięć ze standardu RS232 do poziomów wymaganych przez mikrokontroler +3,3V, w rozumieniu znaczenia interfejsu w programie FLASHMAGIC odpowiada to pozycji „brak interfejsu”),
    flashm_07.png
  • w pozycji „Oscillator” wpisać częstotliwość sygnału taktującego mikrokontroler, czyli częstotliwość rezonatora kwarcowego (ilustracja 10), w naszym przypadku jest to 12 MHz,
    flashm_08.png
  • zaznaczyć „ptaszka” (ogólnie mieć zaznaczony) „Erase block used by Firmware”, co oznacza, że przez zaprogramowaniem należy skasować pamięć FLASH w obszarze, w jakim będzie rezydować nowy program, ilustracja 11,
    flashm_09.png
  • po kliknięciu na „Browse”, rozwija się dodatkowe okienko do określenia pliku zawierającego kod programu do zapisania w pamięci FLASH, należy ogólnofilozoficznie doklikać się do docelowej pozycji, ilustracja 12,
    flashm_10.png
  • zaznaczyć ptaszka w pozycji „Verify after programming”, co oznacza, że program po zakończeniu programowania pamięci FLASH wykona weryfikację poczynionej operacji, odczyta zawartość pamięci FLASH i porówna ze wzorcem na dysku, opcja nie jest konieczna, ale, uważam, że bardzo przydatna, ilustracja 13.
    flashm_11.png
Programowanie uruchamia się klikając na przycisk „Start”. Program FLASHMAGIC użyje do komunikacji z mikrokontrolerem LPC2378 wskazanego kanału szeregowego (ilustracja 14). W przypadku braku komunikacji, wyrazi swoje zdanie, że niby „jest próba wciskania mu jakiejś ciemnoty” (ilustracja 15). Należy ustalić źródło problemów, typowo brak połączenia z programowanym urządzeniem, po „poprawkach” komunikacyjnych ponowić operację ponownie klikając na przycisk „Start”.
flashm_12.png
flashm_13.png
W sytuacji, gdy został niewłaściwie wskazany model mikrokontrolera (ilustracja 6), to program FLASHMAGIC „zauważy nasz błąd”, a ponieważ jest nieziemsko tolerancyjny, poinformuje nas o zaistniałym zdarzeniu, ilustracja 16. Klikając na „Nie”, akcja programowania zostaje zatrzymana. Należy dokonać korekty w specyfikacji mikrokontrolera (zakładam, że nie zaistniała pomyłka i do PCB został przylutowany właściwy układ scalony, chociaż błądzić jest rzeczą ludzką). Po korekcie ponowić (klikając na „Start”) próbę zaprogramowania (tak się czasem zdarza, że człowiek pobłądzi zanim trafi na właściwą ścieżkę).
flashm_14.png
Po nawiązaniu połączenia, program FLASHMAGIC kasuje zawartość pamięci FLASH w mikrokontrolerze, o czym informuje na dole swojego okienka (ilustracja 17).
flashm_15.png
Po zakończeniu kasowania, program przechodzi do operacji programowania, wiadomo, teraz jego pamięć czysta jak łza przyjmie nową zawartość. Informuje o tym odpowiedni komunikat wraz z paskiem postępu (ilustracja 18). Pasek postępu się przydaje, przynajmniej widać jak daleko jest do końca.
flashm_16.png
Po zakończeniu, jeżeli został zaznaczony ptaszek od weryfikacji (ilustracja 13), program FLASHMAGIC zrealizuje naszą prośbę, ilustracja 19 (mówisz, że chcesz, to dostajesz).
flashm_17.png
Po jej zakończeniu, nasz procek staje się kimś innym, ma nowy program i przechodzi do realizacji nowych zadań, stary odszedł w niebyt i nikt po nim nie będzie płakać. Grunt to poruszać się do przodu, tworzyć nowe, lepsze programy, wypróbować, a jak coś nie spełnia oczekiwać, przemyśleć, wnieść poprawki i ponownie sprawdzić. Rzeczywistość jest cierpliwa do bólu, zniesie każdą fanaberię i wytknie błędy, chociaż czasami niektóre jest trudno dostrzec. Zostało jedynie próbować, próbować i jeszcze raz próbować, bo jak mówi pewne porzekadło „trening czyni mistrza”, a program FLASHMAGIC jest tym elementem, który umożliwia realizację doświadczania i eksperymentowania.
flashm_18.png
FLASHMAGIC ma dodatkowo ciekawą funkcjonalność: może stanowić narzędzie do komunikacji z zaprogramowanym mikrokontrolerem. Klikając na przycisk „Tools” a następnie na „Terminal” przechodzimy do okienka pozwalającego na określenie szczegółów komunikacyjnych (ilustracja 21).
flashm_19.png
Istnieje możliwość ewentualnej zmiany portu komunikacyjnego oraz prędkości transmisji. Po kliknięciu na przycisk „OK”, mamy funkcjonalność prostego emulatora terminala. To co przychodzi z kanału szeregowego jest wyświetlana w górnym okienku, to co jest wysyłane do terminala należy wpisać z dolnym okienku (ilustracja 22).
flashm_20.png
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Wróć do „Inne”

Kto jest online

Użytkownicy przeglądający to forum: Google [Bot] i 1 gość