COMMANDES RELATIVES AUX UTILITAIRES
Que peut on faire?
Deux types d'utilitaires peuvent être programmés :
- en flash : 3 utilitaires max
- en ram
Utilitaires résidents (flash): On dispose de 3 zones programmes
18000h-1bfffh utilitaire 0 16 kbytes
1c000h-1efffh utilitaire 1 12 kbytes
1f000h-1f1ffh utilitaire 2 512 bytes
Utilitaires non résidents (ram) : On dispose d'une zone programme
30000h-3ffffh soit 65535 bytes
Des variables sont dédiés aux utilitaires : 8 variables 1octet, 6 variables 2 octets, 4 variables 4octets
Un buffer est dédié aux utilitaires : 1500 octets
Identification
Chaque code utilitaire commence obligatoirement par # suivi du nom (5 caractères). Le # permet de savoir qu'un utilitaire est en mémoire.
COMMANDES RELATIVES AUX UTILITAIRES RESIDENTS
COMMANDE |
PARAMETRE |
MIN |
MAX |
FONCTION |
ZRUTIL |
Commande permettant de spécifier à portable que l on va envoyer du code intel à ranger en ROM (flash) | |||
ZUTILR? |
n |
0 |
2 |
Demande à portable de renvoyer le nom de l'utilitaire n |
ZUTILR |
n a b c d e f |
0 0 0 0 0 0 0 |
2 255 255 255 65535 65535 65535 |
Lance l'utilitaire n et charge les paramètres
(obligatoires) numèro de l'utilitaire paramètre n°1 (8 bits) paramètre n°2 (8 bits) paramètre n°3 (8 bits) paramètre n°4 (16 bits) paramètre n°5 (16 bits) paramètre n°6 (16 bits) |
EXEMPLE: On désire charger un utilitaire en résident nommé U =RI dont l'adresse d'exécution est 1c000h. Deux paramètres sont nécessaires soient 128 et 1000.
On envoie ZUTILR? 1<cr>
Orphy répond abcdef<lf><cr> par exemple
Vu que le premier caractère n'est pas # l'espace mémoire est libre
On envoie ZRUTIL<cr> puis le code au format intel. On attend que portable renvoie un caractère. Si ! il faut recommencer. Si " la programmation s'est bien passée.
On envoie ZUTILR? 1<cr>
Portable répond #U =RI<lf><cr>
On envoie ZUTILR 1 128 0 0 1000 0 0<cr> ce qui lance l'utilitaire immédiatement
COMMANDES RELATIVES AUX UTILITAIRES NON RESIDENTS
COMMANDE |
PARAMETRE |
MIN |
MAX |
FONCTION |
ZUTILRAM |
Commande permettant de spécifier à portable que l on va envoyer du code intel à ranger en RAM | |||
ZUTIL? |
A |
0 |
65535 |
Demande à portable de renvoyer le nom de l'utilitaire situé à l'adresse A+30000h |
ZUTIL |
A a b c d e f |
0 0 0 0 0 0 0 |
65535 255 255 255 65535 65535 65535 |
Lance l'utilitaire mémorisé à l'adresse A +
30000h et charge les paramètres (obligatoires) adresse paramètre n°1 (8 bits) paramètre n°2 (8 bits) paramètre n°3 (8 bits) paramètre n°4 (16 bits) paramètre n°5 (16 bits) paramètre n°6 (16 bits) |
EXEMPLE:
On désire charger un utilitaire non résident nommé U =RI dont l'adresse d'exécution est 30100h. Deux paramètres sont nécessaires soient 128 et 1000.
On envoie ZUTILRAM<cr> puis le code au format intel.
On envoie ZUTIL? 256<cr> car (30100h-30000h) = 100h = 256d
Portable répond #U =RI<lf><cr>
On envoie ZUTIL 256 128 0 0 1000 0 0<cr> ce qui lance l'utilitaire immédiatement