You are heredev_bootloader_init_routine

dev_bootloader_init_routine


    Używanie rozkazu dev_jump_to_address w przypadku skoku do bootloadera może niekiedy wymagać zablokowania procedury resetującej ustawienia procesora wywoływanej automatycznie przy starcie systemu. Jest to szczególnie przydatne gdy użytkownik chce wykorzystać jeden z rozkazów dostępnych w bootloaderze a niedostępny w bieżącej aplikacji urządzenia ICS. W tym celu stworzono funkcję dev_bootloader_init_routine której zadaniem jest zarządzanie funkcją resetującą domyślnie wywoływaną przy resecie systemu. Możliwe dwie konfiguracje procedury resetującej to:

  • enabled Procedura resetująca zostanie wykonana
  • disabled Procedura resetująca zostanie pominięta

    Ogólne informacje dotyczące rozkazu dev_bootloader_init_routine

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

  • Rozkaz na ogół dostępny jest tylko w bootloaderze. Skok do bootloadera z zablokowaniem wykonania się procedury resetującej musi byc przewidziane jeszcze przy aktywnym programie bootloadera. To ograniczenie jest wymuszone przyjętą w urządzeniu ICS konfiguracją zasobów urządzenia. Założono, że adresy pamięci RAM

    0x40007FD8 .. 0x40007FFF

    są zajęte przez bootloader i inne aplikacje dostarczone z pakietem oprogramowania. W tym przypadku, dla rozkazu dev_bootloader_init_routine zajęte zostało 8 bajtów pamięci o adresach

    0x40007FD8 .. 0x40007FDF

    W przypadku gdy w tym miejscu bootloader wykryje tablicę znaków

    'I', 'C', 'S', 0x20, 0xAA, 0x00, 0xff, 0x55

    omija procedurę resetującą system. Dla uściślenia 'I' znajduje się pod adresem 0x40007FD8, 'C' pod adresem 0x40007FD9 itd

  • Skok do bootloadera odpowiada skokowi pod adres 0x00000000

  • Wywołanie rozkazu reset blokuje wykonanie się procedury resetującej jednorazowo

  Rozkazy  
  • --get Zwraca informację o aktywności procedury resetujacej
  • --set Uaktywnia procedurę resetującą
  • --reset Blokuje procedurę resetującą

Opis rozkazów

  --get  

Składnia

ics_client.exe --dev_bootloader_init_routine IP TCP --get
  • IP Adres IP serwera
  • TCP Numer portu TCP serwera
  • --get Słowo klucz

Poprawna odpowiedź

O. mode
I. comment
  • "O." Identyfikator poprawnego wykonania rozkazu
  • mode Aktywność procedury. '1' oznacza, że procedura resetująca wykona się przy skoku do bootloadera. '0' oznacza, że procedura zostanie pominięta
  • "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
  --set  

Składnia

ics_client.exe --dev_bootloader_init_routine IP TCP --set
  • IP Adres IP serwera
  • TCP Numer portu TCP serwera
  • --set Słowo klucz

Poprawna odpowiedź

O. mode
I. comment
  • "O." Identyfikator poprawnego wykonania rozkazu
  • mode Aktywność procedury, zwrócona wartość powinna wynosić '1' co oznacza, że procedura resetująca wykona się przy skoku do bootloadera
  • "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
  --reset  

Składnia

ics_client.exe --dev_bootloader_init_routine IP TCP --reset
  • IP Adres IP serwera
  • TCP Numer portu TCP serwera
  • --reset Słowo klucz

Poprawna odpowiedź

O. mode
I. comment
  • "O." Identyfikator poprawnego wykonania rozkazu
  • mode Aktywność procedury, zwrócona wartość powinna wynosić '0' co oznacza, że procedura resetująca nie wykona się przy skoku do bootloadera
  • "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

Szukaj