xistor 910619de4c fix missing semicolon 1 year ago
..
Makefile 426205e2a3 Added makefiles for LLVM Clang 5 years ago
Makefile.clang 9c5c2813a0 Update QEMU command in all README and Makefile 2 years ago
Makefile.gcc 9c5c2813a0 Update QEMU command in all README and Makefile 2 years ago
OLVASSEL.md 7ace64ba9f Initial commit 6 years ago
README.md 4ad8b7002a Function -> Functions 2 years ago
delays.c 910619de4c fix missing semicolon 1 year ago
delays.h 7ace64ba9f Initial commit 6 years ago
gpio.h 7ace64ba9f Initial commit 6 years ago
kernel8.img 8ce0f75b47 Recompiled with latest gcc 4 years ago
link.ld 7ace64ba9f Initial commit 6 years ago
main.c 7ace64ba9f Initial commit 6 years ago
mbox.c 214885df63 compute the mailbox cmd only once 6 years ago
mbox.h 7ace64ba9f Initial commit 6 years ago
sd.c 0c0b9a5b21 Fixed newline 6 years ago
sd.h 7ace64ba9f Initial commit 6 years ago
start.S ea4691947c Improve comments wrt stack setup 3 years ago
uart.c 8a80ab88b9 Clearified mbox call in uart per issue #49 6 years ago
uart.h 7ace64ba9f Initial commit 6 years ago

README.md

Tutorial 0B - Read Sector

So far we have linked our data (pixmap, font) to the kernel image. It is time to read data from the SD card. For this tutorial we're implementing a real driver for read sector function.

Sd.h, sd.c

Well, it would be nice to have a mailbox for reading and writing sectors, but there isn't. So we have to talk directly to the EMMC, which is tricky and boring. We have to handle all kinds of cards. But finally, we have two functions.

sd_init() initialize EMMC for SD card read.

sd_readblock(lba,buffer,num) read num blocks (sectors) from the SD card into buffer starting at sector lba.

Main

We read a block after the bss segment in memory, and then we dump it to the console. The read function will display detailed information on the EMMC communication.