Cyze production vous presente le cours sur les microprocesseurs


CYZE PRODUCTION

VOUS PRESENTE LE COURS SUR LES MICROPROCESSEURS ET LEURS FABRICANTS

Tél : (00229) 96 15 81 18 E-mail : cyze2002@yahoo.fr / cyze2002@hotmail.com

CYZE PRODUCTION

Octet 2. 0

Octets 3-6. Adresse LBA du 1e secteur à lire

Octets 7-10. Nombre de secteurs.

Octet 11. 0

Octet 12. 0

Le contrôleur renvoie les données lues ((2048 * nombre de secteurs) octets).

Note : L’adresse est le nombre de secteur est indiqué avec la norme Big endian :

Octet 3 = ( lba >> 24 ) & 0xff;

Octet 4 = ( lba >> 16 ) & 0xff;

Octet 5 = ( lba >> 8 ) & 0xff;

Octet 6 = lba & 0xff;

Octet 7 = ( count >> 24 ) & 0xff;

Octet 8 = ( count >> 16 ) & 0xff;

Octet 9 = ( count >> 8 ) & 0xff;

Octet 10 = count & 0xff;

Écrire

Vers un disque ATA

L’écriture se passe exactement de la même manière que la lecture si ce n’est que la commande est 0x30 et que

les données ne sont pas transférées du disque à la mémoire mais de la mémoire au disque.

Vers un disque ATAPI

Dans le cas d’un CD-ROM, cette commande ne peut être utilisée que pour un graveur.

Prise en charge des erreurs

Une bonne prise en charge des erreurs est également un point important pour un pilote fonctionnel.

Pour cela, il faut lire le port d’erreur (0x1f1, 0x171, 0xf1 ou 0x71) après chaque commande. Le contenu de ce port

est décrit plus haut. La documentation offcielle est plus exhaustive sur ce port, dont la valeur peut parfois

dépendre de la dernière commande.

Pour les commandes Packet, il faut utiliser la commande (Packet) Request Sense pour connaître la valeur de la

dernière erreur (non traitée dans cet article).

Détecter le protocole

Les disques ATA et ATAPI fonctionnant différemment, il est important de pourvoir détecter le protocole utilisé par

un disque. Cela se réalise de la manière suivante :

1. En premier lieu, il faut initialiser le contrôleur

Laisser un commentaire