OSDev
http://osdev.su/

перепрограммирование системного таймера
http://osdev.su/viewtopic.php?f=7&t=833
Страница 2 из 2

Автор:  Мотороллер [ 03 дек 2013, 17:12 ]
Заголовок сообщения:  Re: перепрограммирование системного таймера

Решил заюзать APIC. все работает. да только я в регистр счетчик заношу пока число наабум. а как собственно узнать на какое число надо занести туда, чтобы прерывание генерировалось 100 раз секунду?

Автор:  sh2ezo [ 03 дек 2013, 17:50 ]
Заголовок сообщения:  Re: перепрограммирование системного таймера

1193180 надо разделить на желаемую частоту, наверное :D

Автор:  Мотороллер [ 03 дек 2013, 18:06 ]
Заголовок сообщения:  Re: перепрограммирование системного таймера

т.е. что для пик, что для апик одно и тоже?

Автор:  sh2ezo [ 03 дек 2013, 19:11 ]
Заголовок сообщения:  Re: перепрограммирование системного таймера

Чет упустил момент про APIC. Н/з, как четкую частоту задать. Можно, как на osdev.org, т.е.:
1. Задаем начальное значение таймеру LAPIC'а, равное -1(минус один)
2. Задаем таймеру обычному(IRQ0) такое значение, чтобы прерывание было сгенерировано через 1/100 секунды
3. Запускаем таймер LAPIC'а
4. Запускаем обычный таймер
5. Как только IRQ0 было получено, берем текущее значение счетчика таймера LAPIC'а
6. Вычитаем текущее значение LAPIC Timer'а из начального, чтобы узнать, каким должно быть начальное значение для таймера, чтобы он срабатывал каждую 1/100 секунды.

ссыль на статью:
APIC timer

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/