-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Добавление программируемого интервального таймера
- Loading branch information
Aren
committed
Oct 24, 2023
1 parent
fe63787
commit 2ba30e8
Showing
20 changed files
with
250 additions
and
120 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
ColumnLimit: 100 | ||
ColumnLimit: 80 | ||
IndentWidth: 4 | ||
UseTab: ForIndentation | ||
TabWidth: 4 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
#define VERSION_MAJOR 0 | ||
#define VERSION_MINOR 1 | ||
#define VERSION_BUILD 293 | ||
#define VERSION_BUILD 297 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
#define NO_NAME "Не задано название" | ||
|
||
const char *exception_names[] = { "Деление на ноль", | ||
"Отладка", | ||
"NMI", | ||
"Точка останова", | ||
"Переполнение", | ||
"Выход за границы", | ||
"Недопустимая операция", | ||
"Устройство недоступно", | ||
"Двойное исключение", | ||
NO_NAME, | ||
"Недопустимый TSS", | ||
"Сегмент не присутствует", | ||
"Ошибка сегмента стека", | ||
"Общая защитная ошибка", | ||
"Ошибка страницы", | ||
NO_NAME, | ||
"x87 исключение", | ||
"Проверка выравнивания", | ||
"Ошибка машины", | ||
"SIMD исключение", | ||
"Виртуализация", | ||
NO_NAME, | ||
NO_NAME, | ||
NO_NAME, | ||
NO_NAME, | ||
NO_NAME, | ||
NO_NAME, | ||
NO_NAME, | ||
NO_NAME, | ||
"Безопасность" }; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
/** | ||
* pit.c | ||
* Программируемый интервальный таймер | ||
* | ||
* Настройка программируемого интервального таймера и | ||
* | ||
*/ | ||
|
||
#include <arch.h> | ||
#include <fb.h> | ||
#include <stdbool.h> | ||
#include <stdint.h> | ||
#include <tool.h> | ||
|
||
static uint64_t count = 0; | ||
|
||
static void isr_generic( ) { | ||
fb_printf("\nТик! %u", count++); | ||
} | ||
|
||
void pit_set_interval(int hz) { | ||
int divisor = 1193180 / hz; // Вычисляем делитель | ||
outb(0x43, 0x36); // Устанавливаем байт команды 0x36 | ||
outb(0x40, divisor & 0xFF); // Устанавливаем младший байт делителя | ||
outb(0x40, divisor >> 8); // Устанавливаем старший байт делителя | ||
} | ||
|
||
void pit_init( ) { | ||
idt_set_int(32, isr_generic); | ||
pit_set_interval(100); | ||
asm volatile("sti"); | ||
} |
Oops, something went wrong.