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

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.