stekohl
11.11.2008, 16:55
So nun nach anfänglichen Startproblemen in C komm ich einigermasen mit dem Syntax klar.
Jetzt habe ich eine kleine Testroutine gebaut die per obiger Lib aine Datei mit 10000 Datensätzen schreibt.
Jetzt das Problem.
Hier liegen 10 SD KArten rum.
Folgende Karten funtkionieren:
1 x 2 GB HAMA Secure Digital Card
3 x 1 GB CNMemory First Class
Folgende Karten funktionieren nicht:
1 x 2 Gb Verbatim
3 x 512 MB Sandisk
2 x 256 TakeMS
Laut Scope sieht man auch, dass das Signalverhalten komplett verschieden ist.
Letzten Endes sind alle Karten per Windows in FAT16 formatiert.
Hier die beiden Ausgaben der Debugfunktion der Lib.
Send CMD58
0x80 0xFF 0x80 0x00
Read CSD
0x00 0x2F 0x00 0x32 0x5F 0x59 0x83 0xBD 0xED 0xB7 0xFF 0x9F 0x96 0x40 0x00 0xA9
CSD done
CSD_STRUCT 0
SPEC_VERSION 0
SD card
c_size 3831 , c_size_mult 512
DriveSize 980992 kB , maxsect 1961984
mmc_init() ok
FAT16
bootSecOffset 255
Reserved Sectors 1
FAT Sectors 240
Num. of FAT's 2
secPerCluster 32
BytesPerCluster 16384
FATFirstSector 256
FirstRootSector 736
RootDirSectors 32
FirstDataSector 768
maxsect 1961984
FirstDirCluster 0
maxcluster 61290
Send CMD58
0x80 0xFF 0x80 0x00
Read CSD
0x00 0x2F 0x00 0x32 0x5F 0x5A 0x83 0xB7 0x6D 0xB7 0xFF 0xBF 0x96 0x80 0x00 0xE9
CSD done
read_bl_len is 1024 !
CSD_STRUCT 0
SPEC_VERSION 0
SD card
c_size 3805 , c_size_mult 512
DriveSize 1948672 kB , maxsect 3897344
mmc_init() ok
FAT16
bootSecOffset 0
Reserved Sectors 4
FAT Sectors 238
Num. of FAT's 2
secPerCluster 64
BytesPerCluster 32768
FATFirstSector 4
FirstRootSector 480
RootDirSectors 32
FirstDataSector 512
maxsect 3897344
FirstDirCluster 0
maxcluster 60890
Ich werde nochmal Testen, inwieweit versch. Partitionierungen und Formatierungen Einfluß auf die Lesbarkeit haben.
Ach ja, ich nutze die FATSingleopt.zip von Holgers Seite. Kleine Änderungen wie das Entfernen der SPI Register Definitionen (sind wohl schon in AVRGCC definiert) muß man noch machen.
Wenn es dann läuft, ist der Zugriff wirklich flott. Die 10 000 Recordsets werden so in ca. 18 Sekunden geschrieben.
Hat mal jemand einen Tipp wie ich evtl. alle Karten ans laufen bekomme.
Gruß,
Stephan
Jetzt habe ich eine kleine Testroutine gebaut die per obiger Lib aine Datei mit 10000 Datensätzen schreibt.
Jetzt das Problem.
Hier liegen 10 SD KArten rum.
Folgende Karten funtkionieren:
1 x 2 GB HAMA Secure Digital Card
3 x 1 GB CNMemory First Class
Folgende Karten funktionieren nicht:
1 x 2 Gb Verbatim
3 x 512 MB Sandisk
2 x 256 TakeMS
Laut Scope sieht man auch, dass das Signalverhalten komplett verschieden ist.
Letzten Endes sind alle Karten per Windows in FAT16 formatiert.
Hier die beiden Ausgaben der Debugfunktion der Lib.
Send CMD58
0x80 0xFF 0x80 0x00
Read CSD
0x00 0x2F 0x00 0x32 0x5F 0x59 0x83 0xBD 0xED 0xB7 0xFF 0x9F 0x96 0x40 0x00 0xA9
CSD done
CSD_STRUCT 0
SPEC_VERSION 0
SD card
c_size 3831 , c_size_mult 512
DriveSize 980992 kB , maxsect 1961984
mmc_init() ok
FAT16
bootSecOffset 255
Reserved Sectors 1
FAT Sectors 240
Num. of FAT's 2
secPerCluster 32
BytesPerCluster 16384
FATFirstSector 256
FirstRootSector 736
RootDirSectors 32
FirstDataSector 768
maxsect 1961984
FirstDirCluster 0
maxcluster 61290
Send CMD58
0x80 0xFF 0x80 0x00
Read CSD
0x00 0x2F 0x00 0x32 0x5F 0x5A 0x83 0xB7 0x6D 0xB7 0xFF 0xBF 0x96 0x80 0x00 0xE9
CSD done
read_bl_len is 1024 !
CSD_STRUCT 0
SPEC_VERSION 0
SD card
c_size 3805 , c_size_mult 512
DriveSize 1948672 kB , maxsect 3897344
mmc_init() ok
FAT16
bootSecOffset 0
Reserved Sectors 4
FAT Sectors 238
Num. of FAT's 2
secPerCluster 64
BytesPerCluster 32768
FATFirstSector 4
FirstRootSector 480
RootDirSectors 32
FirstDataSector 512
maxsect 3897344
FirstDirCluster 0
maxcluster 60890
Ich werde nochmal Testen, inwieweit versch. Partitionierungen und Formatierungen Einfluß auf die Lesbarkeit haben.
Ach ja, ich nutze die FATSingleopt.zip von Holgers Seite. Kleine Änderungen wie das Entfernen der SPI Register Definitionen (sind wohl schon in AVRGCC definiert) muß man noch machen.
Wenn es dann läuft, ist der Zugriff wirklich flott. Die 10 000 Recordsets werden so in ca. 18 Sekunden geschrieben.
Hat mal jemand einen Tipp wie ich evtl. alle Karten ans laufen bekomme.
Gruß,
Stephan