Здравствуйте! Работаю с платой AT91SAM9G45-OEM столкнулся со следующей проблемой при сборке rootfs с помощью buildroot 2014 xx . корневой файловой системы все проходит успешно, но папка dev в ней почти пуста кроме тех файлов которые указанны в таблице device_table.txt. Соответственно при старте система выдает ошибку can't open dev/ttyS0.
Ядро использую 2.6.36-rc6 из комплекта с платой.
КФС собирал по гайду:
Но без ядра. Там указанно что все динамические модули сами копируются если собирать ядро в составе buildroot (ответ на мою ошибку). Но как тогда его конфигурировать если нету патча ? Допустим в ядре мне нужен HDMI plug 10248? uart debug, uart1, звук и пару аппаратных кнопок для работы.
Вопрос в следующем! Можно ли как то править board файлы ядра после того как сделал make в buildroot и как же все таки сделать свой патч на ядро?
Ах да если кому не сложно маленький пример или все таки ссылку на то как сделать свой драйвер для аппаратных кнопок в ядре и взаимодействия потом их с Qt.
Спасибо за внимание буду рад любой помощи.
создайте это устройство в каталоге из которого формируется финальный образ rootfs и пересоберите - после этого, когда рутовая развернется в систему у вас будет готовый ttyS0..
поищите в менюконфиге билдрута опцию - "всегда пересобирать ядро", потом можно делать изменения в исходниках ядра и всё оптом пересобирать..
откройте файл платы и поищите слово "button" arch/arm/mach-at91/board-ваша-плата.c
создайте это устройство в каталоге из которого формируется финальный образ rootfs и пересоберите - после этого, когда рутовая развернется в систему у вас будет готовый ttyS0..
Спасибо большое за ответ! Но как так то создать ? В недоумении если честно....
Думаю тогда лучше будет если автоматически пересобирать ядро и динамические модули автоматически копировались ?
появилась новая проблема, пытаюсь что то сделать с gpio через sys/class/gpio/
Выбираю нужный мне gpio из этой папки например gpiochip160 (как я понял это папка) но там только такие файлы
base
label
ngpio
subsystem
uevent
[quote]дак прямо так и делаете, как описано по вашей ссылке:
сначала:
потом смотрите содержимое:
сейчас он работает на "ввод"
переведем на вывод:
[/quote]
Вот что я делаю :
echo 84 > /sys/class/gpio/export
по моей логике это должен быть PC20
потом echo >out /sys/class/gpio/gpio84/direction
echo 1 > /sys/class/gpio/gpio84/value
но значение пина не меняется как было 3.3в так и остается не при 0 не при 1
после echo 1 > /sys/class/gpio/gpio84/value
cat /sys/class/gpio/gpio84/value показывает 0 все равно.