This change adds rudimentary SD card support on FAT that the F256 kernel can talk to. This implements a subset of the SPI/SD card spec-- more specifically it's the subset that is needed by the kernel.
To do this, it
Pulls a bunch of common FAT-abstraction functionality from the existing C256 SD card device code, called GabeSDController, into a common base class
GabeSDController extends this base class and is otherwise unchanged
A new class called F256SDController was created. It also extends this base class, acts as a memory-mapped register and implements various SPI commands.
This change adds rudimentary SD card support on FAT that the F256 kernel can talk to. This implements a subset of the SPI/SD card spec-- more specifically it's the subset that is needed by the kernel.
To do this, it
I followed the reference here http://www.rjhcoding.com/avrc-sd-interface-1.php
Some of the FAT code was adjusted a little to account for how F256 kernel works- for example, to include LFN encodings.