LINUX.ORG.RU

ARM interrupt


0

0

Поделитесь, плз, каким-нибудь материалом по написанию interrupt handlers для ARM под linux.
Или кто-нибудь может вкратце объяснить или даже показать примерчик хендлера?

interrupt handlers для ARM под linux

Он ничем не отличается - весь архитектурно зависимый код выполняет ядро, включая манипуляции с конкретным контроллером прерываний для конкретного SoC, если конечно на данный SoC есть порт - если нет то тема выходит за рамки простого примера :) Хотя там ничего сложного нет - нужно доки читать.

bengan
()

На kernel.org выложили код ядра какой-то операционки - может тебе подойдет?

Pavval ★★★★★
()

>Поделитесь, плз, каким-нибудь материалом по написанию interrupt handlers для ARM под linux.

Или кто-нибудь может вкратце объяснить или даже показать примерчик хендлера?


Тебе что вообще надо?
1. Портировать лин на новый чип
2. Сделать свою ОС:)
3. Написать лин-драйвер с обработчиком прерывания

Если 3, то: 1. Асм ненужен. 2. бери LDD3 или что-то другое по ядру и читай - в это случае нет разницы, ARM это или нет.

Pavval ★★★★★
()
Ответ на: комментарий от Pavval

3. Нужно обработать прерывание с определённой GPIO-ноги. Не очень понимаю понятия irq number и как его получить, если у меня есть лишь факт появления IRQ или FIQ.

markevichus ★★★
() автор топика
Ответ на: комментарий от markevichus

Номер прерывания определяется конфигурацей железа. В общем случае он или фиксирован, или его можно задать через какие-то регистры. Тут лезь в маны по своему железу.

Pavval ★★★★★
()
Ответ на: комментарий от frey

Нет, сначала в доки по bsp! И только потом в код.

Pavval ★★★★★
()
Ответ на: комментарий от markevichus

> 3. Нужно обработать прерывание с определённой GPIO-ноги.

В ядре есть bsp-специфичная функция gpio_to_irq, которая переводит номер GPIO пина в номер прерывания в IRQ контроллере.

eXire ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.