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