sdcard

index
index principal

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.
REF: http://elm-chan.org/docs/mmc/mmc_e.html
REF: http://elm-chan.org/docs/mmc/pic/sdinit.png
REF: https://www.sdcard.org/downloads/pls/

index principal

CARD-INFO ( -- )

Affiche les informations sur la carte SD.
La carte doit d'abord avoir été initialisée avec SDC-INIT.

nomdescription
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  
index
haut
index principal

SDC-INIT ( -- f )

Initialisation carte SD
REF: http://elm-chan.org/docs/mmc/pic/sdinit.png

arguments:
aucun   
retourne:
f   Indicateur Booléen, vrai si l'initialisation est réussie.
index
haut
index principal

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  
index
haut
index principal

SEGMENT? ( -- u )

Retourne le numéro du segment actif.

arguments:
aucun   
retourne:
u Numéro   du segment actif {0..SDC-SEGMENTS-1}
index
haut
index principal

?SDC ( -- u )

Retourne un entier non signé contenant les indicateurs booléen suivants

bit
nomdescription
0
F_SDC_IN1 → S'il y a une carte dans la fente.
1
F_SDC_OK1 → Si la carte est initialisée.
2
F_SDC_V21 → S'il s'agit d'une carte version 2.
3
F_SDC_HC1 → S'il s'agit d'une carte haute capacitée. Adressable par bloc de 512 octets.
4
F_SDC_TO1 → Si la dernière commande a expirée avant d'aboutir.
5
F_SDC_WE1 → S'il s'est produit une erreur d'écriture.
6
F_SDC_RE1 → S'il s'est produit une erreur de lecture.
7
F_SDC_IE1 → S'il s'est prdouit une erreur d'initialisation.
8
F_BAD_CARD1 → S'il n'y a pas de réponse de la carte.

arguments:
aucun   
retourne:
u   État de la carte.
index
haut
index principal

?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.
index
haut
index principal

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
index
haut
index principal

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
index
haut
index principal

SDC-BLOCKS ( -- ud )

Nombre de blocs de 1024 octets sur la carte SD.

arguments:
aucun   
retourne:
ud   Entier double non signé, nombre de blocs.
index
haut
index principal

SDC-SEGMENTS ( -- u )

Nombre de segments de 65535 blocs sur la carte SD.

arguments:
aucun   
retourne:
u   Entier simple, nombre de segments.
index
haut
index principal

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
haut
index principal

Index


haut
index principal