реклама на сайте
подробности

 
 
> AVR32 interrupt timer, linux 2.6.18
whitevv
сообщение Jul 19 2007, 05:53
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 7-06-07
Пользователь №: 28 248



Привет всем !!!
Я являюсь счастливым обладателем платы NGW100 с ядром 2.6.18 столкнулся с такой проблемой: Хочу повесить обработчик прерывания на таймер. Для этого написал модуль «ihtimer.ko» исходник ниже. И модуль который с командной строки записывает значение по адресу write.sh <адрес><значение>.

1. Настраиваю таймер на частоту 1Гц:
#Timer Counter 1
#PM
./write.sh 0xfff00014 0x37d7
#CMR
./write.sh 0xfff01084 0x000fC000
#RC
./write.sh 0xfff0109c 0x8000
#CCR
./write.sh 0xfff01080 0x5

1. Смотрю на осциллографе все правильно таймер работает с частотой 1 Гц.
2. Я подгружаю свой модуль (~ # insmod /home/mods/ihtimer.ko )
3. проверяю что модуль подгружен и настроен на нужное прерывание

~ # lsmod
Module Size Used by Not tainted

ihtimer 1320 0

atmel_mci 7776 0
mmc_block 4712 0
mmc_core 15056 2 atmel_mci,mmc_block
vfat 8352 0
fat 36828 1 vfat

~ # cat /proc/interrupts
CPU0
0: 66571 timer
2: 1 dmac
3: 2 atmel_spi.0
7: 392 ttyS0

23: 0 atmel_timer

25: 526 eth0
26: 6679 eth1

4. Далее включаю на таймере обработку прерывания
#IER
./write.sh 0xfff010A4 0x1

И тут появляется проблема в виде «BUG: soft lockup detected on CPU#0!», плата весит, хотя мой обработчик работает и выдаёт сообщение на консоль, по этим сообщениям, я подсчитал с какой скоростью вызывается мой обработчик ~500кГц и от настроек таймера это не как не зависит.

Где я на грабли наступаю?

листинг «ihtimer.ko» в атаче

Сообщение отредактировал whitevv - Jul 19 2007, 06:46
Прикрепленные файлы
Прикрепленный файл  Ihtimer.txt ( 1012 байт ) Кол-во скачиваний: 53
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 22:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01327 секунд с 7
ELECTRONIX ©2004-2016