Oprogramowanie>"picuś3">instrukcja obsługi

 

1.      Podział programu na bloki

 

Okno główne programu podzielone zostało na bloki, aby oddzielić od siebie różne formy funkcjonalności.

 

 

Wyróżniono cztery podstawowe bloki:

ˇ        "programator" - umożliwia ustawienie portu, na którym program będzie poszukiwał programatora PICUŚ. W bloku tym wskazywany jest również status programatora.

ˇ        "obsługiwane układy" - blok ten w strukturze hierarchicznej wyświetla wszystkie obsługiwane układy scalone. Układy pogrupowano by ułatwić poszukiwanie.

ˇ        "wybrany układ" - obsługuje wybrany przez użytkownika układ scalony. Wyświetla informacje oraz umożliwia wykonywanie operacji

ˇ        "operacje" - jest to nieoznaczony blok, w którym są dwie ikonki "wybierz plik" oraz "wyświetl"

 

2.      Blok "programator"

Ostatnie ustawienie portu jest przechowywane przez program. Nie ma zatem konieczności każdorazowego ustawiania.

Po każdorazowej zmianie ustawienia, program na ustawionym porcie nawiązuje połączenie z programatorem.

Jeżeli połączenie zakończy się sukcesem to w polu niżej pojawia się stosowna informacja wraz z numerem wersji firmware. Tylko w takiej sytuacji możliwa będzie dalsza praca z programem.

 

3.      Blok "obsługiwane układy"

W bloku tym wyświetlane są nazwy obsługiwanych przez program i programator układów. Układy te zostały pogrupowane, aby ułatwić użytkownikowi wyszukiwanie.

Aby wybrać dany układ, należy kliknąć na nim dwukrotnie myszką. Warto nadmienić, iż po dwukrotnym kliknięciu myszką na nazwie grupy (np. PIC10/12/16 lub PIC18) uruchomiona zostanie funkcja automatycznej detekcji układu. Jeżeli układ zostanie rozpoznany, wówczas w bloku "wybrany układ" pojawią się jego dane. Jeżeli nie zostanie rozpoznany to użytkownik będzie musiał własnoręcznie wybrać go z listy. Jeżeli układ zostanie rozpoznany to nie tylko jego dane zostaną pokazane, lecz automatycznie odczytane zostaną jego pozycje identyfikacyjne oraz słowa konfiguracyjne.

Warto zauważyć, że nazwy niektórych modeli pamięci poprzedzono gwiazdką. Oznacza to, że jest to model uniwersalny, czyli niezależny od producenta. Jest to spowodowane tym, że nawet pamięci o tych samych oznaczeniach produkowane przez różnych producentów mogą mieć trochę inną strukturę wewnętrzną, którą trzeba uwzględnić przy zapisie lub odczycie.

Nie ma to wpływu na pamiętanie danych, lecz na sam wpływ programowania. Nazwy pamięci, które nie zostały poprzedzone gwiazdką, mają najczęściej spotykane parametry. Programowanie tych układów jest nieco krótsze niż układów z gwiazdką.

 

Jeżeli zauważysz różnicę pomiędzy zaprogramowanym układem *24C16 a 24C16 to powinieneś założyć, że prawidłowo zaprogramowany jest układ *24C16.

 

 

 

 

 

 

 

 

 

 

4.      Blok "wybrany układ"

Blok ten będzie najczęściej wykorzystywanym przez użytkownika blokiem. Po wybraniu układu w bloku "obsługiwane układy" w niniejszym bloku pojawiają się informacje dotyczące wybranego układu. Pojawią się również w formie ikonek, możliwe do wykonania operacje.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Powyżej pokazano postaci bloku "wybrany układ" dla kilku przypadków. Poniżej zostaną omówione kolejne pozycje w tym bloku.

ˇ        Program - zawiera informacje na temat pamięci programu wybranego układu.

ˇ        Dane - zawiera informacje na temat pamięci danych wybranego mikrosterownika lub pamięci eeprom.

ˇ        ID - zawiera pozycje identyfikacyjne wybranego mkrosterownika. Te pozycje drzewa mogą być edytowane przez użytkownika. Poprawność wpisów jest sprawdzana po zakończeniu edycji. Wartość pozycji ID może zostać załadowana z pliku HEX o ile takie wpisy zostały w nim zawarte. Stanie się to automatycznie po wyświetleniu pliku lub przeznaczeniu go do zaprogramowania.

ˇ        Konfiguracja - zawiera słowa konfiguracyjne wybranych mikrosterowników. Ilość tych słów może być różna i jest zależna od wybranego mikrosterownika. Należy mieć świadomość, iż kolejność wyświetlanych słów konfiguracyjnych odpowiada kolejności słów w mikrosterowniku. Słowa konfiguracyjne mogą być edytowane przez użytkownika. Poprawność wpisanych danych jest sprawdzana, ale dotyczy tylko kwestii zgodności z systemem szesnastkowym. Nie jest sprawdzana poprawność oraz zasadność bitów konfiguracyjnych jako takich. Podobnie jak pozycje ID, słowa konfiguracyjne mogą zostać załadowane z pliku HEX o ile zostały w nim umieszczone. Stanie się to automatycznie po wyświetleniu zawartości pliku lub przeznaczeniu go do programowania.

ˇ        Suma kontrolna - jest to szesnastobitowa wartość powstała przez dodanie do siebie wartości wszystkich komórek odczytywanej pamięci. Jeżeli odczytywana pamięć programu to suma kontrolna będzie sumą wszystkich komórek pamięci programu. Jeżeli zaraz potem zostanie odczytana pamięć danych to wartość sumy kontrolnej zmieni się na sumę wszystkich komórek pamięci danych.

ˇ        Adres I2C - jest to fizyczny adres pamięci I2C. Standardowym adresem jest wartość A0 i w taki sposób skonfigurowana jest pamięć w przystawce 2. Jeżeli jednak użytkownik programuje pamięć znajdującą się w innym układzie, może zaistnieć potrzeba ustawienia adresu. Dlatego właśnie adres ten jest pozycją, którą można edytować. Należy pamiętać, że najmłodszy bit powinien pozostać wyzerowany, czyli należy wpisywać adresy parzyste w systemie szesnastkowym.

ˇ        Orientacja - ustawienie to dotyczy tylko pamięci typu microwire. Pamięć ta może być zorientowana bajtowo lub 16bitowo. To ustawienie nie może być zmieniane przez użytkownika i zależy od typu wybranej pamięci.

ˇ        Kalibracja OSC - występuje tylko w przypadku mikrosterowników, które posiadają zapisaną kalibrację oscylatora. Wartość ta zostanie wyświetlona bez możliwości edycji.

 

Z prawej części bloku znajdują się ikonki, których znaczenie omówiono poniżej.

ˇ        Programuj - inicjalizuje programowanie całego układu. Jeżeli użytkownik zmienił własnoręcznie pozycje identyfikacyjne lub słowa konfiguracyjne, przy zmianach tych zostanie wstawiony stosowny znaczek, lecz nie zostaną one automatycznie wprowadzone do układu programowanego. Dopiero dwukrotne milknięcie ikonki "programuj" spowoduje faktyczne zaprogramowanie tych zmian. Jeżeli do pamięci programu lub danych przypisany jest jakiś plik to pamięci te również zostaną zaprogramowane.

ˇ        Kasuj - kasuje wybraną pamięć. Opcja ta działa w technologii przeciągnij i upuść. Aby skasować pamięć programu mikrosterownika, należy "złapać" ją myszką i upuścić na ikonę "kasuj". Podobnie należy postąpić w przypadku kasowania pamięci danych. W przypadku mikrosterowników możliwe jest jeszcze skasowanie całego układu włączając w to zabezpieczenie przed zapisem i odczytem. W tym celu należy przeciągnąć na ikonę "kasuj" nazwę wybranego układu w bloku "układ wybrany". Przy nazwie układu znajduje się obrazek przedstawiający dłoń.

 

 

5.      Blok "operacje"

 

W bloku tym znajdują się ikonki "załaduj plik" oraz "wyświetl" umożliwiające wykonywanie m.in. operacji na plikach.

ˇ        Załaduj plik - dwukrotne kliknięcie na ikonie "załaduj plik" otworzy okno, w którym można wybrać istniejący plik lub stworzyć nowy. Nazwa tego pliku natychmiast pojawi się pod ikoną i od teraz wszelkie operacje plikowe będą oparte o dane z tego pliku. Obsługiwane przez program pliki mogą mieć rozszerzenie .BIN lub .HEX.

ˇ        Wyświetl - umożliwia obejrzenie danych pochodzących z pliku lub wybranego układu. Program wyposażony jest w dwa bufory danych. Jeżeli obydwa bufory są wykorzystywane, domyślnie dane ładowane są do pierwszego buforu.

 

Ikonki w tym bloku również działają w technologii przeciągnij i upuść. Tak więc aby wyświetlić zawartość wybranego pliku należy przeciągnąć ikonę pliku nad ikonę monitora i tam ją upuścić.

Pozostałe operacje zostaną omówione w dalszej części opisu.

 

6.      Okno podglądu

Dwukrotne kliknięcie na ikonie "wyświetl" w bloku "operacje" spowoduj otwarcie okna podglądu kodu. Okno to umożliwia odczytanie danych pochodzących z pliku lub z wybranego układu.

 

 

Jak widać wyżej, okno zawiera dwie siatki, w których wyświetlane są dane pochodzące z różnych źródeł. W ten sposób łatwo osobiście sprawdzić czy dane pochodzące z pliku są takie same, jak w pamięci układu. Poniżej siatek znajdują się obliczone sumy kontrolne. Sumy te wyliczane są jako suma wszystkich komórek.

Jeżeli zostanie zaznaczone pole "porównaj", w siatkach zostaną wyróżnione komórki, które się między sobą różnią.

 

 

Ponadto obliczona zostanie ilość różniących się pozycji w buforach.

 

7.      Odczyt danych z układu

Odczytane z pamięci układu dane mogą zostać przesłane do pliku lub do bufora w celu analizy ich. Operacja ta jest wykonywana w technologii "przeciągnij i upuść".

Aby przesłać dane z pamięci programu mikrosterownika do pliku, należy wybrać nazwę pliku (klikając dwukrotnie na ikonie "wybierz plik") "złapać" napis "program" z bloku "wybrany układ" i upuścić go na ikonie symbolizującej plik w bloku "operacje". Dane zostaną automatycznie odczytane z układu i zapisane w pliku o wybranej nazwie. Podobnie operacja wygląda w przypadku odczytu pamięci danych.

Jeżeli dane nie mają zostać zapisane w pliku, lecz tylko wyświetlone na ekranie, napis "program" lub "dane" należy upuścić na ikonie symbolizującej monitor. Pod ikoną pojawi się statystyka wykorzystania pamięci.

Należy zauważyć, że po odczytaniu danych, pod wybraną gałęzią "program" lub "dane" pojawi się informacja dotycząca zajętości wybranej pamięci układu.

 

 

W tej sytuacji użytkownik odczytał pamięć programu. Na 1024 dostępne komórki pamięci tylko 53% z nich zawiera istotne dane. Po każdym odczycie aktualizuje się również informacja pod gałęzią "suma kontrolna". Jest ona obliczana po każdorazowym odczycie z którejkolwiek pamięci.

 

 

8.      Programowanie układu

Programowanie układu można zrealizować na dwa sposoby.

 

ˇ        Bezpośrednie wskazanie pliku - sposób ten umożliwia osobne zaprogramowanie pamięci danych oraz pamięci programu. Polega na przeciągnięciu ikony symbolizującej plik i upuszczenie jej na napisie "program" lub "dane" w bloku "wybrany układ". Natychmiast zostanie uruchomiona procedura programowania. Należy zwrócić uwagę, że w przypadku gdy plik .hex zawiera słowa konfiguracyjne i/lub pozycje ID, dane te również zostaną automatycznie zapisane w układzie. W związku z tym zalecane jest programowanie pamięci danych w pierwszej kolejności gdyż w przeciwnym wypadku razem z konfiguracją mogą zostać zapisane bity protekcji kodu i zapisanie pamięci danych w następnej kolejności może nie być już możliwe. Bezpośrednio po programowaniu pamięci danych lub pamięci programu, wykonywana jest weryfikacja polegająca na odczytaniu zaprogramowanych danych i porównaniu ich ze wzorcem. Jeżeli dane zostały zaprogramowane dobrze to użytkownik zostanie o tym fakcie poinformowany.

 

 

W tym przypadku weryfikacja wykazała błąd programowania. Istotna jest również gałąź oznaczona ikoną dyskietki. Informuje ona o nazwie pliku przypisanym do danej pamięci oraz o tym, w jakim stopniu dane pochodzące z niego wypełniają przestrzeń pamięci.

 

ˇ        Programowanie kompleksowe - wywoływane jest przez dwukrotne kliknięcie ikonki "programuj" w bloku "wybrany układ". Jeżeli tylko do danej pamięci przypisany jest jakiś plik to zostanie w niej zaprogramowany. Jakiekolwiek programowanie poprzedzone jest kompleksowym kasowaniem. W przypadku mikrosterowników kasowanie to obejmuje również zdejmowanie zabezpieczenia przed zapisem i odczytem. Zapisywane są również słowa konfiguracyjne oraz pozycje ID. Wykonywana jest weryfikacja.

 

9.      Kasowanie

Kasowanie można przeprowadzić na pamięci danych, programu lub kompleksowo. Aby skasować pamięć danych, należy "złapać" napis "dane" w bloku "wybrany układ" i upuścić go na ikonę "kasuj". Podobnie należy postąpić w przypadku kasowania pamięci programu. Jeżeli na ikonie zostanie upuszczona nazwa wybranego układu, skasowany zostanie cały układ włączając w to bity protekcji.