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
Opis rozkazów
Etykietowanie