cfenollosa_os-tutorial/20-interrupts-timer
2015-03-19 20:14:30 +01:00
..
cpu Lesson 20 step 1, the timer 2015-03-19 20:07:50 +01:00
drivers lesson 20, preliminar 2015-03-17 20:47:43 +01:00
kernel Lesson 20 step 1, the timer 2015-03-19 20:07:50 +01:00
boot lesson 20, preliminar 2015-03-17 20:47:43 +01:00
Makefile lesson 20, preliminar 2015-03-17 20:47:43 +01:00
README.md updated README 20 2015-03-19 20:14:30 +01:00

Concepts you may want to Google beforehand: CPU timer, keyboard interrupts

Goal: Implement our first IRQ handlers: the CPU timer and the keyboard

Everything is now ready to test our hardware interrupts.

Timer

The timer is easy to configure. First we'll declare an init_timer() on cpu/timer.h and implement it on cpu/timer.c. It is just a matter of computing the clock frequency and sending the bytes to the appropriate ports.

We will now fix kernel/utils.c int_to_ascii() to print the numbers in the correct order. For that, we need to implement reverse() and strlen().

Finally, go back to the kernel/kernel.c and do two things. Enable interrupts again (very important!) and then initialize the timer interrupt.

Go make run and you'll see the clock ticking!