4 ms·
Depends on what you want to do :) If you just want to read/write sectors of 512 bytes at a time, it's pretty easy to implement even on a simple MCU. There's a
by manawyrm 6y ago
Depends on what you want to do :)
If you just want to read/write sectors of 512 bytes at a time, it's pretty easy to implement even on a simple MCU.
There's a couple of registers which need to be set:
https://wiki.osdev.org/ATA_PIO_Mode https://wiki.osdev.org/ATA_PIO_Mode
and you can then just read/write the data from the parallel lines.
Here's a similar project using an ATmega32:
https://github.com/zwostein/idetrol https://github.com/zwostein/idetrol
(i used this code, ported to ARM to check my hardware before I wrote the kerneldriver)
- stefan_ 6y agoHow can this be so easy but talking to an SD card is an impossible task without implementing a billion vendor/type quirks.