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