You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bzt 7ace64ba9f Initial commit 7 years ago
..
Makefile Initial commit 7 years ago
OLVASSEL.md Initial commit 7 years ago
README.md Initial commit 7 years ago
gpio.h Initial commit 7 years ago
kernel8.img Initial commit 7 years ago
link.ld Initial commit 7 years ago
main.c Initial commit 7 years ago
start.S Initial commit 7 years ago
uart.c Initial commit 7 years ago
uart.h Initial commit 7 years ago

README.md

Tutorial 03 - UART1, Auxilary mini UART

It is time for the famous Hello World example. We're going to write on the UART1 first, as it's easier to program. NOTE: qemu does not redirect UART1 to terminal by default, only UART0!

Gpio.h

We have a new header file. This defines the base MMIO address, and the GPIO controller's addresses. This file going to be very popular, as many device needs it.

Uart.h, uart.c

A very minimal implementation.

uart_init() initializes the device and maps it to the GPIO ports.

uart_send(c) sends a character over the serial line.

uart_getc() receives a character. The carrige return character (13) will be converted into a newline character (10).

uart_puts(s) prints out a string. On newline, a carrige return character will also be sent (13 + 10).

Main

First we have to call the uart initialization code. Then we say "Hello World!". If you've purchased an USB serial cable, you should see it on minicom's screen. After that every character typed in minicom will be echoed back. If you haven't turned off local echo, that means you'll see every pressed key twice.