You are hereIn Circuit Spy Orders Device

In Circuit Spy Orders Device


dev_iap_command

    Funkcja wywołuje zaimplementowaną w procesorze LPC2148 funkcję zwaną ISP. Podstawowe zadanie tej funkcji to zarządzanie wbudowaną w procesor pamięcią FLASH

  Rozkazy  
  • Brak dodatkowych rozkazów

Opis rozkazów

  Podstawowa funkcjonalność  

Składnia

ics_client.exe --dev_iap_command IP TCP p0 p1 p2 p3 p4
  • IP Adres IP serwera
  • TCP Numer portu TCP serwera
  • p0 Zerowy parametr ISP
  • p1 Pierwszy parametr ISP
  • p2 Drugi parametr ISP
  • p3 Trzeci parametr ISP
  • p4 Czwarty parametr ISP

Poprawna odpowiedź

O. r0 r1 r3
I. comment
  • "O." Identyfikator poprawnego wykonania rozkazu
  • r0 Zerowy parametr odpowiedzi
  • r1 Pierwszy parametr odpowiedzi
  • r2 Drugi parametr odpowiedzi
  • "I." Identyfikator komentarza
  • comment Komentarz dla użytkownika

Wystąpił błąd

E. code
I. comment
  • "E." Identyfikator błędnego
  • code Kod błędu
  • "I." Identyfikator komentarza
  • comment Komentarz dla użytkownika

Uwagi

  • UWAGA Z funkcjami ISP należy posługiwać się wyjątkowo ostrożnie. Ostrożność ta jest wymagana ze względu na dostęp funkcji ISP do pamięci Flash. Wydając niewłaściwe polecenie można usunąć bootloader urządzenia i konieczne będzie wgranie bootloadera do urządzenia za pomocą dodatkowej aplikacji i portu RS232

  • Funkcja ISP, jej możliwości i ograniczenia zostały opisane w dokumentacji procesora LPC2148

  • Przykładowe wywołanie rozkazu Read Part ID:
    ics_client.exe --dev_iap_command 127.0.0.1 42100 54 0 0 0 0
    Odpowiedź:
    O. 0x00000000 0x0402ff25 0x00000000
    I. IAP returned values: Result[0]: 0x00000000 Result[1]: 0x0402ff25 Result[2]: 0x00000000

  • Przykładowe wywołanie rozkazu Read Boot code version:
    ics_client.exe --dev_iap_command 127.0.0.1 42100 55 0 0 0 0
    Odpowiedź:
    O. 0x00000000 0x0000020c 0x00000000
    I. IAP returned values: Result[0]: 0x00000000 Result[1]: 0x0000020c Result[2]: 0x00000000

  • Wywołanie rozkazu wymaga połączenia z serwerem i otwartego kanału komunikacyjnego z urządzeniem

dev_config_hardware

    Funkcja umożliwia załadowanie danych konfiguracyjnych do układu FPGA urządzenia In Circuit Spy.

  Rozkazy  
  • --pd Konfiguracja równoległa bezpośrednia
  • --pc Konfiguracja równoległa kodowana
  • --sd Konfiguracja szeregowa bezpośrednia
  • --sc Konfiguracja szeregowa kodowana

Opis rozkazów

  --pd, --pc, --sd, --sc  

Składnia

ics_client.exe --dev_config_hardware IP TCP --XX sys_buf sys_adr size
  • IP Adres IP serwera
  • TCP Numer portu TCP serwera
  • --XX Słowo klucz. Dostępne opcje to --pd, --pc, --sd, --sc
  • sys_buf Numer bufora systemowego Serwera. Numerowanie rozpoczyna się od '0'
  • sys_adr Adres w systemowym buforze Serwera od którego rozpocznie się pobieranie danych konfiguracyjnych
  • size Ilość danych konfiguracyjnych. W zależności od wielkości pliku implementacji wartość ta może wahać się od kilku kilobajtów do 212392 bajtów. Plik konfiguracyjny to plik generowany przez oprogramowanie ISE(R) firmy Xilinx z domyślnym rozszerzeniem ".bin". Ze względu na specyfikację procesu konfiguracji dane ilość wpisanych danych do urządzenia ICS32sx musi być większa lub równa wielkości pliku konfiguracyjnego

Poprawna odpowiedź

O. code
I. comment
  • "O." Identyfikator poprawnego wykonania rozkazu
  • code Kod wykonania rozkazu. Powinien być '0'
  • "I." Identyfikator komentarza
  • comment Komentarz dla użytkownika

Wystąpił błąd

E. code
I. comment
  • "E." Identyfikator błędu
  • code Kod błędu
  • "I." Identyfikator komentarza
  • comment Komentarz dla użytkownika

Uwagi

  • Wywołanie rozkazu wymaga połączenia z serwerem i otwartego kanału komunikacyjnego z urządzeniem
  • Różnica pomiędzy rozkazami polega na zastosowaniu innej metody konfiguracji. Pomimo możliwości użycia dowolnego rozkazu zaleca się używanie rozkazu najszybszego. Szeregując rozkazy pod kątem prędkości wykonania najszybciej wykonuje się rozkaz --pd, następnie rozkazy --pc, --sd oraz --sc. Używanie innego rozkazu niż najszybszy może być uzasadnione w przypadku pojawienia się problemów podczas konfiguracji układu FPGA
  • Można zaprogramować układ FPGA ilością danych większą niż wynosi rozmiar pliku konfiguracyjnego. Nadmiarowe dane zostaną zignorowane. Plik konfiguracyjny pakietu In Circuit Spy ma rozszerzenie *.ifh

dev_jump_to_address

    Funkcja wykonuje procedurę skoku rejestru programu procesora pod wskazany parametrem adres. Skok oznacza zmianę wykonywanego programu na nowy określony adresem.

  Rozkazy  
  • Brak dodatkowych rozkazów

Opis rozkazów

  Podstawowa funkcjonalność  

Składnia

ics_client.exe --dev_jump_to_address IP TCP address
  • IP Adres IP serwera
  • TCP Numer portu TCP serwera
  • address adres początkowy od którego rozpocznie się wykonywanie nowego programu

Poprawna odpowiedź

O. address
I. comment
  • "O." Identyfikator poprawnego wykonania rozkazu
  • address Parametr przekazany przez użytkownika
  • "I." Identyfikator komentarza
  • comment Komentarz dla użytkownika

Wystąpił błąd

E. code
I. comment
  • "E." Identyfikator błędnego
  • code Kod błędu
  • "I." Identyfikator komentarza
  • comment Komentarz dla użytkownika

Uwagi

  • Wywołanie rozkazu wymaga połączenia z serwerem i otwartego kanału komunikacyjnego z urządzeniem
  • Skok pod niewłaściwą przestrzeń adresową lub przestrzeń wypełnioną niewłaściwymi danymi najczęściej powoduje krytyczny wyjątek co "zawiesza" procesor. Należy więc zachować ostrożność przy używaniu tego rozkazu

dev_crc_buffer

    Funkcja oblicza sumę kontrolną wskazanego obszaru przestrzeni adresowej procesora urządzenia In Circuit Spy.

  Rozkazy  
  • Brak dodatkowych rozkazów

Opis rozkazów

  Podstawowa funkcjonalność  

Składnia

ics_client.exe --dev_crc_buffer IP TCP address size
  • IP Adres IP serwera
  • TCP Numer portu TCP serwera
  • address adres początkowy od którego rozpocznie się obliczanie sumy kontrolnej CRC
  • size rozmiar obszaru który zostanie przeliczony

Poprawna odpowiedź

O. CRC
I. comment
  • "O." Identyfikator poprawnego wykonania rozkazu
  • CRC Obliczona wartość sumy kontrolnej CRC
  • "I." Identyfikator komentarza
  • comment Komentarz dla użytkownika

Wystąpił błąd

E. code
I. comment
  • "E." Identyfikator błędnego
  • code Kod błędu
  • "I." Identyfikator komentarza
  • comment Komentarz dla użytkownika

Uwagi

  • Wywołanie rozkazu wymaga połączenia z serwerem i otwartego kanału komunikacyjnego z urządzeniem
  • Wykonanie obliczeń CRC na niewłaściwej przestrzeni adresowej najczęściej powoduje krytyczny wyjątek co "zawiesza" procesor. Należy więc zachować ostrożność przy używaniu tego rozkazu

dev_wr_rd_register

    Funkcja umożliwia wykonanie dwóch podstawowych operacji na rejestrach i obszarach pamięci procesora LPC2148 urządzenia In Circuit Spy. Operacje te to pojedynczy zapis i odczyt rejestru. Operacje te mogą być 8, 16 lub 32 bitowe. Dzięki tej funkcji możliwe jest m.in. skonfigurowanie procesora urządzenia do pracy w trybie innym niż przewidzianym w rozkazach dostarczonych w pakiecie oprogramowania.

    Ogólne informacje dotyczące rozkazu

  • Wywołanie rozkazu wymaga połączenia z serwerem i otwartego kanału komunikacyjnego z urządzeniem

  • Zapis danych pod niewłaściwy adres najczęściej powoduje krytyczny wyjątek co "zawiesza" procesor. Należy więc zachować ostrożność przy używaniu tego rozkazu

  • W przypadku gdy rozkaz dev_bootloader_init_routine zwraca dla swojego rozkazu get wartość '1' wówczas każdorazowo przy uruchamianiu bootloadera wykonywany jest kod programu:
        (*(volatile unsigned long *) (0x40007FE0)) = 0x76543210;
        (*(volatile unsigned long *) (0x40007FE4)) = 0x89ABCDEF;
        (*(volatile unsigned char *) (0x40007FE8)) = 0x10;
        (*(volatile unsigned char *) (0x40007FE9)) = 0x32;
        (*(volatile unsigned char *) (0x40007FEA)) = 0x54;
        (*(volatile unsigned char *) (0x40007FEB)) = 0x76;
        (*(volatile unsigned char *) (0x40007FEC)) = 0x98;
        (*(volatile unsigned char *) (0x40007FED)) = 0xBA;
        (*(volatile unsigned char *) (0x40007FEE)) = 0xDC;
        (*(volatile unsigned char *) (0x40007FEF)) = 0xFE;
    Dzięki temu użytkownik samodzielnie może sprawdzić rozkaz dev_wr_rd_register poprzez wykonanie odczytów rd1, rd2 i rd4 spod podanych adresów

  Rozkazy  
  • --wr1 Zapis wartości 8-bitowej do rejestru procesora
  • --wr2 Zapis wartości 16-bitowej do rejestru procesora
  • --wr4 Zapis wartości 32-bitowej do rejestru procesora
  • --rd1 Odczyt wartości 8-bitowej z rejestru procesora
  • --rd2 Odczyt wartości 16-bitowej z rejestru procesora
  • --rd4 Odczyt wartości 32-bitowej z rejestru procesora

Opis rozkazów

  --wr1, --wr2, --wr4  

Składnia

ics_client.exe --dev_wr_rd_register IP TCP --wrX address data
  • IP Adres IP serwera
  • TCP Numer portu TCP serwera
  • --wrX Słowo klucz. Może przyjąć wartość --wr1, --wr2 lub --wr4
  • address Adres w przestrzeni procesora pod który nastąpi zapis danej. Może być wyrażony w postaci dziesiętnej lub heksadecymalnej
  • data Wartość do zapisana do rejestru. Może być wyrażona w postaci dziesiętnej lub heksadecymalnej

Poprawna odpowiedź

O. data address
I. comment
  • "O." Identyfikator poprawnego wykonania rozkazu
  • data Wartość zapisana pod adres określony parametrem
  • address Adres pod który zapisano wartość określoną parametrem
  • "I." Identyfikator komentarza
  • comment Komentarz dla użytkownika

Wystąpił błąd

E. code
I. comment
  • "E." Identyfikator błędnego
  • code Kod błędu
  • "I." Identyfikator komentarza
  • comment Komentarz dla użytkownika

Uwagi

  • Patrz uwagi ogólne
  --rd1, --rd2, --rd4  

Składnia

ics_client.exe --dev_wr_rd_register IP TCP --rdX address
  • IP Adres IP serwera
  • TCP Numer portu TCP serwera
  • --rdX Słowo klucz. Może przyjąć wartość --rd1, --rd2 lub --rd4
  • address Adres w przestrzeni procesora spod którego nastąpi odczyt danej. Może być wyrażony w postaci dziesiętnej lub heksadecymalnej

Poprawna odpowiedź

O. data address
I. comment
  • "O." Identyfikator poprawnego wykonania rozkazu
  • data Wartość odczytana spod adresu określonego parametrem
  • address Adres spod którego odczytano wartość określoną parametrem
  • "I." Identyfikator komentarza
  • comment Komentarz dla użytkownika

Wystąpił błąd

E. code
I. comment
  • "E." Identyfikator błędnego
  • code Kod błędu
  • "I." Identyfikator komentarza
  • comment Komentarz dla użytkownika

Uwagi

  • Patrz uwagi ogólne

dev_hardware_version

   Funkcja ta zwraca informację o wersji sprzętowej urządzenia In Circuit Spy ICS32sx. Numer wersji określa się na podstawie dołączonego do pakietu schematu urządzenia.

  Rozkazy  
  • Brak dodatkowych rozkazów

Opis rozkazów

  Podstawowa funkcjonalność  

Składnia

ics_client.exe --dev_hardware_version IP TCP
  • IP Adres IP serwera
  • TCP Numer portu TCP serwera

Poprawna odpowiedź

O. type
  • "O." Identyfikator poprawnego wykonania rozkazu
  • type Kod konfiguracji sprzętu ics_client.exe wersja ICS32sx

Wystąpił błąd

E. code
I. comment
  • "E." Identyfikator błędnego
  • code Kod błędu
  • "I." Identyfikator komentarza
  • comment Komentarz dla użytkownika

Uwagi

  • Wywołanie rozkazu wymaga połączenia z serwerem i otwartego kanału komunikacyjnego z urządzeniem

dev_software_version

   Funkcja zwraca informację o wersji aktywnego oprogramowania urządzenia In Circuit Spy.

  Rozkazy  
  • Brak dodatkowych rozkazów

Opis rozkazów

  Podstawowa funkcjonalność  

Składnia

ics_client.exe --dev_software_version IP TCP
  • IP Adres IP serwera
  • TCP Numer portu TCP serwera

Poprawna odpowiedź

O. type v0 v1 v2
I. comment
  • "O." Identyfikator poprawnego wykonania rozkazu
  • type Kod oprogramowania ics_client.exe. Powinno wynosić 0x1000 dla oprogramowania Bootloader
  • v0 Numer wersji. Numery wersji tworzą wersję której wartość wynosi v0.v1.v2
  • v1 Numer wersji
  • v2 Numer wersji
  • "I." Identyfikator komentarza
  • comment Komentarz dla użytkownika

Wystąpił błąd

E. code
I. comment
  • "E." Identyfikator błędnego
  • code Kod błędu
  • "I." Identyfikator komentarza
  • comment Komentarz dla użytkownika

Uwagi

  • Wywołanie rozkazu wymaga połączenia z serwerem i otwartego kanału komunikacyjnego z urządzeniem

dev_close_serial

   Zamyka kanał komunikacyjny pomiędzy Serwerem a urządzeniem In Circuit Spy.

  Rozkazy  
  • Brak dodatkowych rozkazów

Opis rozkazów

  Podstawowa funkcjonalność  

Składnia

ics_client.exe --dev_close_serial IP TCP serial_number
  • IP Adres IP serwera
  • TCP Numer portu TCP serwera
  • serial_number Numer seryjny urządzenia In Circuit Spy który przewidziany jest do zamknięcia. Urządzenie o danym numerze seryjnym musi być otwarty w danej instancji Serwera. Istnieje możliwość zamknięcia urządzenia aktualnie otwartego. W tym przypadku zamiast serial_number należy użyć zwrotu currently_opened

Poprawna odpowiedź

O. code
I. comment
  • "O." Identyfikator poprawnego wykonania rozkazu
  • code Kod wykonania rozkazu. Powinien być '0'
  • "I." Identyfikator komentarza
  • comment Komentarz dla użytkownika

Wystąpił błąd

E. code
I. comment
  • "E." Identyfikator błędnego
  • code Kod błędu
  • "I." Identyfikator komentarza
  • comment Komentarz dla użytkownika

Uwagi

  • Wywołanie rozkazu wymaga połączenia z serwerem i otwartego kanału komunikacyjnego z urządzeniem

dev_list

   Funkcja zwraca listę urządzeń podpiętych do komputera PC.

  Rozkazy  
  • Brak dodatkowych rozkazów

Opis rozkazów

  Podstawowa funkcjonalność  

Składnia

ics_client.exe --dev_list IP TCP
  • IP Adres IP serwera
  • TCP Numer portu TCP serwera

Poprawna odpowiedź

O. number
I. comment
O. Device_0
I. comment
O. Device_1
I. comment
...
  • "O." Identyfikator poprawnego wykonania rozkazu
  • number Ilość dostępnych urządzeń
  • "I." Identyfikator komentarza
  • comment Komentarz dla użytkownika
  • "O." Identyfikator poprawnego wykonania rozkazu
  • Device_1 Parametry pierwszego urządzenia
  • "O." Identyfikator poprawnego wykonania rozkazu
  • Device_2 Parametry drugiego urządzenia
  • ... Itd. Ilość wpisów zależy od zwróconego parametru number

   Parametry urządzenia można scharakteryzować następująco:

0. number status serial_number description
  • number Numer porządkowy urządzenia. Kolejność występowania urządzenia na liście zależy od portu USB do którego zostało wpięte urządzenie
  • status Określa stan urządzenia. Gdy wynosi '0' urządzenie jest dostępne i gotowe do zajęcia rozkazem "dev_open_serial. Gdy wartość jest różna od '0' urządzenie jest niedostępne. Zajętość urządzenie objawia się również poprzez ustawienie parametrów serial_number i destription jako Hidden
  • serial_number Numer seryjny urządzenia. Ten parametr używany jest do otwarcia kanału komunikacyjnego z urządzeniem za pomocą rozkazu dev_open_serial.
  • description Opis urządzenia. Powinno być "In Circuit Spy - ics32sx"

Wystąpił błąd

E. code
I. comment
  • "E." Identyfikator błędnego
  • code Kod błędu
  • "I." Identyfikator komentarza
  • comment Komentarz dla użytkownika

Uwagi

  • Wywołanie rozkazu wymaga połączenia z serwerem
  • Urządzenie In Circuit Spy będące przede wszystkim urządzeniem typu Analizator Stanów Logicznych oparto o moduł USB firmy FTDI. Ze względu na dużą uniwersalność rozwiązania zdecydowano się na niefiltrowanie urządzeń o numerach PID innych niż PID urządzenia In Circuit Spy. Z tego powodu, gdy do komputera PC zostanie podpięty inny moduł oparty o układy firmy FTDI, urządzenie to zostanie również wyświetlone na liście dostępnych urządzeń

Szukaj