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

 
 
> Переход на Linux под ARM, Новичок. Работа с периферией.
pavel_k
сообщение Aug 14 2007, 11:37
Сообщение #1





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



Начал разработку на ARM9 (Cirrus EP9312) под Linux.
Раньше писал под AVR и SAM7S, но без ОС, а тут возникли вопросы по азам, которые пока не могу уяснить.
Как производится работа с периферией под Linux?
Понятно, что устройства в Linux представлены в файловой системе. Как происходит обращение например к таймерам, PWM и другим блокам, которых нет в PC? нужно ли для этого писать свои kernel modules или есть какие-то другие механизмы? Есть примерчик, где показан вариант работы с регистрами через "/dev/mem". С этим вроде всё ясно: настроить регистры не проблема, а вот кто будет отвечать за прерывания того же таймера или внешние прерывания от линий данных? Если ядро, то как ему объяснить чего я хочу 07.gif

Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
amw
сообщение Aug 14 2007, 14:37
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(pavel_k @ Aug 14 2007, 14:37) *
Начал разработку на ARM9 (Cirrus EP9312) под Linux.
Раньше писал под AVR и SAM7S, но без ОС, а тут возникли вопросы по азам, которые пока не могу уяснить.
Как производится работа с периферией под Linux?
Понятно, что устройства в Linux представлены в файловой системе. Как происходит обращение например к таймерам, PWM и другим блокам, которых нет в PC? нужно ли для этого писать свои kernel modules или есть какие-то другие механизмы? Есть примерчик, где показан вариант работы с регистрами через "/dev/mem". С этим вроде всё ясно: настроить регистры не проблема, а вот кто будет отвечать за прерывания того же таймера или внешние прерывания от линий данных? Если ядро, то как ему объяснить чего я хочу 07.gif

Спасибо!


Думаю, что на большинство вопросов есть ответы в архивах списка рассылки h_t_t_p:_/_/_www (dot) arm (dot) linux (dot) org (dot) uk
Рекомендую почитать архивы и подписаться на рассылку.

Прерывания - только через модули ядра.

Сабжевый камень, кажется (я не занимался этим кмнем), поддерживается в ядре, так что посмотрите исходники.

Хорошая книжка по написанию модулей с примерами Linux Device Drivers Third Edition (LDD3). Наверное есть на ftp, но на всякий случай h_t_t_p:_/_/_lwn (dot) net/Articles/155655/
Ну и сам LWN.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 15:16
Рейтинг@Mail.ru


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