Добрый день.
Начал переходить с Bare metal на Linux.
Пытаюсь разобраться как написать простенький драйвер для моей ip core. Пока это просто 8 лампочек.
Борда: zedboard.
Сейчас читаю литературу, т.к. до этого не было опыта написания драйверов.
1) Не рекомендуется писать драйвер под файловую систему /dev. Раньше конечно так делали. Сейчас, якобы актуально писать под файловую систему /proc или /sys.
Верно ли это? Хочется сразу научиться праивльным вещам.
Т.е. может при написании драйвера под какую-нибудь фс скрываются ккаие-то подводные камни. И есть резон писать под другую фс.
2) Почитал
https://linuxseekernel.blogspot.com/2014/05...-practical.html и, честно говоря, так и не понял какое различие между:
Platform Driver
Platform Device
Т.е. это два независимых варианта? Или есть определенные случаи когда стоит что-то конкретное из этого использовать?
3) Как я понял. Написание дравера состоит из двух больших шагов.
а) Создать виртуальный файл в файловой системе. Чтобы в него можно было писать/читать и т.д.
б) Связать этот виртуальный файл с физическим устройством.
Верно?
4) Пока нашел такой код. Все нормально работает.
myled.txt ( 6.88 килобайт )
Кол-во скачиваний: 19Как можно реализовать чтение и запись в регистры с определенным сдвигом? Действовать через base_addr (он определен в коде)?