OSDev

для всех
Текущее время: 21 дек 2024, 20:24

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 14 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: 03 дек 2013, 17:12 

Зарегистрирован: 17 окт 2013, 18:45
Сообщения: 23
Решил заюзать APIC. все работает. да только я в регистр счетчик заношу пока число наабум. а как собственно узнать на какое число надо занести туда, чтобы прерывание генерировалось 100 раз секунду?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 дек 2013, 17:50 

Зарегистрирован: 31 июл 2013, 09:40
Сообщения: 28
1193180 надо разделить на желаемую частоту, наверное :D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 дек 2013, 18:06 

Зарегистрирован: 17 окт 2013, 18:45
Сообщения: 23
т.е. что для пик, что для апик одно и тоже?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 дек 2013, 19:11 

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

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB