Часто встречаются вопросы, типа «Как дрыгать ногой SAM9260», «Как включать-выключать реле», «Как зажечь светодиод» и т.п.
Привожу пример программы, которая мигает светодиодом на ногах 1 и 3 разъема X1 с интервалом 1 секунда. Доступ сделан через memory mapping (/dev/mem), специальный драйвер ядра не нужен.
В прикрепленном архиве файлы gpio.c и Makefile, сборка простым make, никакие файлы больше не требуются, перфикс кросс-компилятора в переменной CC в Makefile - измените на свой, если не armv5l-linux-uclibc…
Таким же образом можно писать-читать ЛЮБЫЕ адреса памяти или устройств (т.к. в SAM все девайсы отображены на память, см. datasheet). Что такое mmap и как оно работает - см. мануал libc.
Источник идеи: http://svn.arhuaco.org/svn/src/emqbit/tools/AT91-GPIO/user-space/
пост принадлежит «repairman»

Дискуссия