Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
6 views7 pages

SDCard Map

The document provides a detailed mapping of a SanDisk 512 MB SD Card, including the structure of the Master Boot Record, Boot Record, File Allocation Tables, and the Root Directory. It includes tables that decode the contents and offsets of various components, such as the partition table and directory entries for files like 'Bill of Rights.txt' and 'MyFile.txt'. Additionally, it explains the FAT16 file system used and the significance of each entry in the File Allocation Tables.

Uploaded by

boost00000000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views7 pages

SDCard Map

The document provides a detailed mapping of a SanDisk 512 MB SD Card, including the structure of the Master Boot Record, Boot Record, File Allocation Tables, and the Root Directory. It includes tables that decode the contents and offsets of various components, such as the partition table and directory entries for files like 'Bill of Rights.txt' and 'MyFile.txt'. Additionally, it explains the FAT16 file system used and the significance of each entry in the File Allocation Tables.

Uploaded by

boost00000000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Microprocessor Interfacing Fall 2006 jeg

SD Card Map
The SD CARDs are SanDisk 512 MB and are preprogrammed with a Master Boot
Record, Boot Record, FAT 1, FAT 2, Root Directory, and two files. The address and
sector numbers for these entities are listed in Table 1.
Table 1 SD Card Road Map
Address Sector Cluster Description
0:0000 0 N.A. Master Boot Record which contains the Partition table)
1:DA00 1DA N.A Boot Record
1:DC00 1DC N.A File Allocation Table 1 with 16-bit FAT entries
2:CE00 2CE N.A. File Allocation Table 2 with 16-bit FAT entries
3:C000 3C0 N.A. Root Directory with VFAT and directory entries
4:0000 400 2 Bill of Right.txt
4:4000 440 3 MyFile.txt

An image of the Master Boot Record is shown in Figure 1.

Figure 1 Master Boot Record

1
Microprocessor Interfacing Fall 2006 jeg

The Master Boot Record for the SD Cards starts at address 0:0000 of the physical drive.
It contains the Partition Table stating at offset 0:01BE. This information is decoded in
Table 2. Consult Microsoft’s TechNet for further details

Table 2 SD Card Partition Table


Offset Size Data Description
0x1BE 1 Byte 0x00 Do not use for booting
0x01BF 1 Byte 0x03 Starting Head
0x1C0 6 Bits 0B110001 Starting Sector
0x1C0 10 Bits 0B000000000000 Staring Cylinder
0x1C2 1 Byte 0x06 System ID: BIGDOS FAT16 partition or
logical drive
0x1C3 1 Byte 0x0F Ending Head
0x1C4 6 bits 0B111111 Ending Sector
0x1C4 10 bits 0B1101011011 Ending Cylinder
0x1C6 4 Bytes 0x000000ED Relative Sector
0x1CA 4 Bytes 0X000F1DA3 Total Sectors

The next non-zero bytes in the SD Card is the Boot Record. An image of the Boot
Record is shown in Figure 2. A table that decodes the contents of the Boot Record is
shown in Table 3.

Table 3 Boot Record Reference


Offset Size Data Description
0x00 3 Bytes 0x00EB 0x90 Jump instruction
0x03 8 Bytes "MSDOS5.0" OEM name in text
0x0B 25 Bytes See Figure 2 BIOS parameter block
0x24 26 Bytes See Figure 2 Extended BIOS parameter clock
0x3E 448 Bytes See Figure 2 Bootstrap code
0x1FE 2 Bytes 0x55AA End of boot sector mark

The BIOS parameter block contains information used by the operating system to access
information, such as location of FAT 1 and FAT 2. The extended BIOS parameter block
was added for larger devices such as the 512 Megabyte SD Card.

Table 4 BIOS and Extended BIOS Parameter Block


Offset Size Data Description
0x0B 2 Bytes 0x200 Bytes per sector (512)
0x0D Byte 0x20 Sectors per cluster (32)
0x0E 2 Bytes 0x0001 Reserved sectors
0x10 1 Byte 0x02 Number of File Allocation Tables
0x11 2 Bytes 0x0200 Root entries (512)
0x13 2 Bytes 0x0000 Small sectors

2
Microprocessor Interfacing Fall 2006 jeg

Offset Size Data Description


0x15 1 Byte 0xF8 Media type
0x16 2 Bytes 0x0079 Sectors per File Allocation Table (121)
0x18 2 Bytes 0x003F Sectors per track (63)
0x1A 2 Bytes 0x0010 Number of heads (16)
0x1C 4 Bytes 0x000000ED Hidden sectors (237)
0x20 4 Bytes 0x000F1DA3 Large sectors (990627)
0x24 1 Bytes 0x80 Physical drive number
0x25 1 Byte 0x00 Current head
0x26 1 Byte 0x29 Signature
0x27 4 bytes 0x63343362 Volume serial number
0x2B 11 Bytes "NO NAME " Volumn label
0x36 8 Bytes "FAT16 " System ID

Figure 2 Boot Record

The first File Allocation Table is shown in Figure 3. Each entry is 16 bits since this is a
BIGDOS FAT16 based table. File Allocation Table indicates which clusters or allocation
units are used. The reference for each entry is given in Table 5. For this CD Card each
cluster is 8 Kbytes or 16 sectors of 512 bytes each.

3
Microprocessor Interfacing Fall 2006 jeg

Table 5 FAT Entry Reference


Entry Description
0x0000 Free cluster
0x0001 Reserved cluster
0x0002 - 0xFFEF Used cluster; value points to next cluster
0xFFF0 - 0xFFF6 Reserved values
0xFFF7 Bad cluster
0xFFF8 - 0xFFFF Last cluster in file

The first two entries are 0xFFF8 and 0xFFFF; notice the byte wrap. The word 0xFFF8
represents the last cluster in the file. The next entry is 0xFFFF, which also represents the
last cluster in a file. In fact, 0xFFF8 through 0xFFFF represent the last cluster in a file.
The next cluster entry is 0xFFFF because the Bill of Right.txt file is less than 1 cluster or
16,384 bytes (32 x 512). The next entry is 0xFFFF, because My File.txt is 8,196 or which
is still less than 1 cluster (16,384 bytes).

Figure 3 File Allocation Table 1 (FAT 1)


Figure 4 is a duplicate of FAT 1. The operating system's file system will try to keep FAT
1 and FAT 2 synchronized. If they do not agree, you will get the dreaded Fall Allocation
Table error.

4
Microprocessor Interfacing Fall 2006 jeg

Figure 4 File Allocation Table 2 (FAT 2)


Immediately following FAT 2 is the Root Directory. The root directory for the SC Card
is shown in Figure 5. Each 32-byte block is a directory entry. The first two directory
entries are the VFAT or LFN (Long Filename) entry for "Bill of Rights.txt". The next
directory entry is the 8.3 filename for "Bill of Rights.txt". This entry also has
information about date created, file length, and file attribute. This entry is decoded in
Table 6. Note the times and dates may differ for your SD Card.

Table 6 "Bill of Right.txt" Directory Entry


Offset Size Data Description
0x00 8 Bytes "BILLOF~1 8.3 Filename.
0x08 3 Bytes "TXT 8.3 File extension
0x0B 1 Byte 0x20 Attribute
0x0C 1 Byte 0x00 Reserved
0x0D 1 Byte 0x68 Creation time milliseconds
0x0E 2 Bytes 0x4209 Creation time in hours, minutes and seconds
0x10 2 Bytes 0x3574 Creation date in years since 1980, months, and day.
0x12 2 Bytes 0x3574 Last accessed date
0x14 2 Bytes 0x0000 EA-index
0x16 2 Bytes 0x42EF Last modified time
0x18 2 Bytes 0x3571 Last modified date
0x1A 2 Bytes 0x0002 First cluster
0x1C 4 Bytes 0x00000F23 File size in bytes.

5
Microprocessor Interfacing Fall 2006 jeg

Figure 5 Root Directory


The VFAT or LFN entries may be decoded using Table 7. Note the "s .txt" part is in the
previous LFN entry. The VFAT system just adds as many LFN entries as needed before
the 8.3 filename directory entry.

Table 7 Long Filename Reference


Offset Size Data Description
0x00 1 Byte 01 Sequence number
0x01 10 Bytes "Bill " Name characters as five UTF-16 characters
0x0B 1 Byte 0x0F Attribute
0x0C 1 Byte 0x00 Reserved
0x0D 1 Byte 0x2A Checksum of DOS file name
0x0E 12 Bytes "of Right" Name characters as six UTF-16 characters
0x1A 2 Bytes First cluster which is always 0x0000

Starting at 0x40000 is the contents of the "Bill of Right.txt" file. You can read the right
hand column of Figure 6 to see what its contents are.

6
Microprocessor Interfacing Fall 2006 jeg

Figure 6 First Sector of "Bill of Right.txt"


The next file starts at 0x44000and is the file "MyFile.txt". This file contains 8,196 bytes
of 0x20. This is the ASCII blank character. The first few bytes of this file are shown in
Figure 7.

Figure 7 First Sector of "MyFile.txt"


This completes the discussion of the SD Card contents. Consult Wikipedia and Microsoft
for more details.

You might also like