sdcard
Description
Interface de bas niveau pour l'accès à la carte SD.
Permet l'initialisation de la carte ainsi que la lecture et l'écriture d'un bloc de
donnée sur la carte. Cette interface n'est compatible qu'avec les cartes SD V1 et V2.
CARD-INFO ( -- )
Affiche les informations sur la carte SD.
La carte doit d'abord avoir été initialisée avec SDC-INIT.
nom | description |
VER | Card version. |
MID | Manufacturer ID. |
OID | OEM/Application ID. |
PNM | Product name. |
PRV | Product revision. |
PSN | Product serial number. |
MTD | Manufacturing date. |
BLK | Capacitée en nombre de blocs de 1024 octets. |
SEG | Nombre de segments, 1 segment correspond à 65535 blocs. |
arguments:
aucun
retourne:
rien
SDC-INIT ( -- f )
Initialisation carte SD
arguments:
aucun
retourne:
f Indicateur Booléen, vrai si l'initialisation est réussie.
SEGMENT ( u -- )
Sélectionne le segment de la carte SD.
Le système définit dans block.s ne permet que d'accéder 65535 blocs sur un périphérique
ce qui représente 1024*65535 ou 2^10 * (2^16-1)= 67 107 840 octets.
Pour les cartes de plus de 64Mo il faut diviser l'espace de données de la carte
en segments de 65535 blocs.
arguments:
u Numéro du segment qui devient le segment actif.
retourne:
rien
SEGMENT? ( -- u )
Retourne le numéro du segment actif.
arguments:
aucun
retourne:
u Numéro du segment actif {0..SDC-SEGMENTS-1}
?SDC ( -- u )
Retourne un entier non signé contenant les indicateurs booléen suivants
bit | nom | description |
0 | F_SDC_IN | 1 → S'il y a une carte dans la fente. |
1 | F_SDC_OK | 1 → Si la carte est initialisée. |
2 | F_SDC_V2 | 1 → S'il s'agit d'une carte version 2. |
3 | F_SDC_HC | 1 → S'il s'agit d'une carte haute capacitée. Adressable par bloc de 512 octets. |
4 | F_SDC_TO | 1 → Si la dernière commande a expirée avant d'aboutir. |
5 | F_SDC_WE | 1 → S'il s'est produit une erreur d'écriture. |
6 | F_SDC_RE | 1 → S'il s'est produit une erreur de lecture. |
7 | F_SDC_IE | 1 → S'il s'est prdouit une erreur d'initialisation. |
8 | F_BAD_CARD | 1 → S'il n'y a pas de réponse de la carte. |
arguments:
aucun
retourne:
u État de la carte.
?SDCOK ( -- f )
Retourne vrai s'il y a une carte dans la fente et qu'elle est initialisée.
arguments:
aucun
retourne:
f Indicateur booléen, vrai si la carte est intialisée.
SDCREAD ( c-addr ud -- f )
Lecture d'un secteur de la carte SD.
Un secteur compte 512 octets.
arguments:
addr Adresse du tampon RAM
ud Numéro du secteur sur la carte SD.
retourne:
f Indicateur booléen échec/succcès
SDCWRITE ( addr ud -- f )
Écriture d'un secteur de 512 octets sur la carte SD.
arguments:
addr Adresse du tampon RAM des données à écrire.
ud Numéro du secteur la carte SD où effectuer l'écriture.
retourne:
f Indicateur booléen succès/échec
SDC-BLOCKS ( -- ud )
Nombre de blocs de 1024 octets sur la carte SD.
arguments:
aucun
retourne:
ud Entier double non signé, nombre de blocs.
SDC-SEGMENTS ( -- u )
Nombre de segments de 65535 blocs sur la carte SD.
arguments:
aucun
retourne:
u Entier simple, nombre de segments.
SDCARD ( -- a-addr )
Descripteur de périphérique pour la carte Secure Digital.
arguments:
aucun
retourne:
a-addr Adresse du descripteur de périphérique.
Index