Forum: Mikrocontroller und Digitale Elektronik CF Karte, erster Sektor, BSY-Flag


von Christian E. (cerker)


Lesenswert?

Hallo,

da die Platine für mein erwähntes IDE-Interface noch etwas dauern wird, 
mach ich mir schonmal konzeptionelle Gedanken über die SW.

Was mich etwas stört, ist der Gedanke auf das BSY-Flag zu warten ohne 
ein Timeout zu verwenden. Hierbei stellt sich jedoch das Problem .. wie 
lange darf BSY denn eigentlich aktiv sein, ich habe die ATA-Spec bereits 
durchsucht aber finde keine Zahlenwerte .. hab ich was übersehen oder 
ist das tatsächlich nicht spezifiziert?

Weiterhin, wo liegt der Hintergrund das ich bei meiner 
1GB-Platinum-CF-Karte die erste Partition erst bei Sektor 2048 beginnen 
kann (linux fdisk lässt mich nicht vorher)? Es stört mich nicht im 
geringsten, aber ich frag mich was da los ist.

Gruß,
Christian

von Frank P. (mauz)


Lesenswert?

Aus reiner Neugierde habe ich mir mal ein paar hier rumliegende CFs 
angeschaut:
1
ich@rechner:~> sudo /sbin/fdisk /dev/sdc
2
3
Befehl (m für Hilfe): p
4
5
Platte /dev/sdc: 15 MByte, 15990784 Byte
6
4 Köpfe, 32 Sektoren/Spur, 244 Zylinder, zusammen 31232 Sektoren
7
Einheiten = Sektoren von 1 × 512 = 512 Bytes
8
Sector size (logical/physical): 512 bytes / 512 bytes
9
I/O size (minimum/optimal): 512 bytes / 512 bytes
10
Disk identifier: 0x4f960061
11
12
   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
13
/dev/sdc1   *          32       31103       15536    1  FAT12
14
15
Befehl (m für Hilfe): q
16
17
ich@rechner:~> sudo /sbin/fdisk /dev/sdc
18
19
Befehl (m für Hilfe): p
20
21
Platte /dev/sdc: 130 MByte, 130023424 Byte
22
16 Köpfe, 32 Sektoren/Spur, 496 Zylinder, zusammen 253952 Sektoren
23
Einheiten = Sektoren von 1 × 512 = 512 Bytes
24
Sector size (logical/physical): 512 bytes / 512 bytes
25
I/O size (minimum/optimal): 512 bytes / 512 bytes
26
Disk identifier: 0x00000000
27
28
   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
29
/dev/sdc1   *          32      253951      126960    b  W95 FAT32
30
31
Befehl (m für Hilfe): q
32
33
ich@rechner:~> sudo /sbin/fdisk /dev/sdc
34
35
Befehl (m für Hilfe): p
36
37
Platte /dev/sdc: 2017 MByte, 2017419264 Byte
38
38 Köpfe, 48 Sektoren/Spur, 2160 Zylinder, zusammen 3940272 Sektoren
39
Einheiten = Sektoren von 1 × 512 = 512 Bytes
40
Sector size (logical/physical): 512 bytes / 512 bytes
41
I/O size (minimum/optimal): 512 bytes / 512 bytes
42
Disk identifier: 0x7f763c83
43
44
   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
45
/dev/sdc1            2048     3938303     1968128    c  W95 FAT32 (LBA)
46
47
Befehl (m für Hilfe): q
48
49
50
ich@rechner:~> sudo /sbin/fdisk /dev/sdc
51
52
Befehl (m für Hilfe): p
53
54
Platte /dev/sdc: 8195 MByte, 8195604480 Byt
55
128 Köpfe, 63 Sektoren/Spur, 1985 Zylinder, zusammen 16007040 Sektoren
56
Einheiten = Sektoren von 1 × 512 = 512 Bytes
57
Sector size (logical/physical): 512 bytes / 512 bytes
58
I/O size (minimum/optimal): 512 bytes / 512 bytes
59
Disk identifier: 0x7f763c83
60
61
   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
62
/dev/sdc1              63    16007039     8003488+   b  W95 FAT32
63
64
Befehl (m für Hilfe): q

Seltsam ist: Die 15MB, 128MB und die 8GB scheinen genau eine Spur "frei 
zu lassen". Bei der 2GB sind es, wie bei Dir, 2048 Sektoren. Würde mich 
auch interessieren, wer, wann, wo und warum "festlegt" wie viele 
Sektoren frei bleiben.

von Christian Erker (Gast)


Lesenswert?

Eine Spur entspricht dem "üblichen" Standard womit Partitionen auf den 
Anfang einer Spur aligned werden und der Anfang der ersten ist eben 
schon vom MBR belegt. Das ganze machte ev. noch Sinn bei den alten 
Platten wo tatsächlich die logischen Zylinder den mechanischen 
entsprachen .. jetzt ist es gerade bei LBA eigentlich ein nutzloses 
Relikt.

Gruß,
Christian

von Frank P. (mauz)


Lesenswert?

Stimmt, aber erklärt die ominösen 2048 freigelassen Blöcke bei manchen 
Karten nicht. Bei der von mir geposteten "2GB-Karte" passen diese nicht 
mal auf die Zylindergrenzen. Ich habe noch eine 2GB-Karte gefunden, da 
passt es wieder mit der einen Spur:
1
Platte /dev/sdc: 2048 MByte, 2048901120 Byte
2
255 Köpfe, 63 Sektoren/Spur, 249 Zylinder, zusammen 4001760 Sektoren
3
Einheiten = Sektoren von 1 × 512 = 512 Bytes
4
Sector size (logical/physical): 512 bytes / 512 bytes
5
I/O size (minimum/optimal): 512 bytes / 512 bytes
6
Disk identifier: 0xbf07ff64
7
8
   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
9
/dev/sdc1              63     4000184     2000061    c  W95 FAT32 (LBA)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.