Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:4
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:8
Форум » starterkit.ru » Embedded Linux
Buildroot и dev/...
AGevork
Добавлено 25.03.2014 10:28
0
Сообщение: 1
AGevork
4.71

Пункты: 10580
Регистрация: 14.08.2013
Здравствуйте! Работаю с платой AT91SAM9G45-OEM столкнулся со следующей проблемой при сборке rootfs с помощью buildroot 2014 xx . корневой файловой системы все проходит успешно, но папка dev в ней почти пуста кроме тех файлов которые указанны в таблице device_table.txt. Соответственно при старте система выдает ошибку can't open dev/ttyS0.
Ядро использую 2.6.36-rc6 из комплекта с платой.
КФС собирал по гайду:

https://code.google.com/p/starterkit-org/wiki/QtBuildroot

Но без ядра. Там указанно что все динамические модули сами копируются если собирать ядро в составе buildroot (ответ на мою ошибку). Но как тогда его конфигурировать если нету патча ? Допустим в ядре мне нужен HDMI plug 10248? uart debug, uart1, звук и пару аппаратных кнопок для работы.
Вопрос в следующем! Можно ли как то править board файлы ядра после того как сделал make в buildroot и как же все таки сделать свой патч на ядро?
Ах да если кому не сложно маленький пример или все таки ссылку на то как сделать свой драйвер для аппаратных кнопок в ядре и взаимодействия потом их с Qt.
Спасибо за внимание буду рад любой помощи.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 25.03.2014 10:47 Редактировалось 25.03.2014 10:47 Сообщение: 2
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Соответственно при старте система выдает ошибку can't open dev/ttyS0.

создайте это устройство в каталоге из которого формируется финальный образ rootfs и пересоберите - после этого, когда рутовая развернется в систему у вас будет готовый ttyS0..

Цитата
Вопрос в следующем! Можно ли как то править board файлы ядра после того как сделал make в buildroot и как же все таки сделать свой патч на ядро?

поищите в менюконфиге билдрута опцию - "всегда пересобирать ядро", потом можно делать изменения в исходниках ядра и всё оптом пересобирать..

Цитата
Ах да если кому не сложно маленький пример или все таки ссылку на то как сделать свой драйвер для аппаратных кнопок в ядре и взаимодействия потом их с Qt.

откройте файл платы и поищите слово "button"
arch/arm/mach-at91/board-ваша-плата.c

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
AGevork
Добавлено 25.03.2014 11:09 Редактировалось 25.03.2014 11:11 Сообщение: 3
AGevork
4.71

Пункты: 10580
Регистрация: 14.08.2013
Цитата
[quote]Соответственно при старте система выдает ошибку can't open dev/ttyS0.

создайте это устройство в каталоге из которого формируется финальный образ rootfs и пересоберите - после этого, когда рутовая развернется в систему у вас будет готовый ttyS0..

Спасибо большое за ответ! Но как так то создать ? В недоумении если честно....
Думаю тогда лучше будет если автоматически пересобирать ядро и динамические модули автоматически копировались ?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 25.03.2014 14:00 Сообщение: 4
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Спасибо большое за ответ! Но как так то создать ? В недоумении если честно....


в виртуалке в консоли:

Код
cd каталог-с-деревом-рутовой
sudo mknod dev/ttyS0 c 4 64


после пересборки для контроля можно проверить в архиве, который сформируется, наличие этого файла устройства..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
AGevork
Добавлено 25.03.2014 14:29 Редактировалось 25.03.2014 14:36 Сообщение: 5
AGevork
4.71

Пункты: 10580
Регистрация: 14.08.2013
Цитата
[quote]Спасибо большое за ответ! Но как так то создать ? В недоумении если честно....


в виртуалке в консоли:

Код
cd каталог-с-деревом-рутовой
sudo mknod dev/ttyS0 c 4 64


после пересборки для контроля можно проверить в архиве, который сформируется, наличие этого файла устройства..[/quote]

Огромное спасибо!
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 25.03.2014 15:24 Редактировалось 26.03.2014 12:12 Сообщение: 6
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Огромное спасибо!

да не за что..
пользуйтесь гуглепоиском:
google.ru->"buildroot site:starterkit.ru"
google.ru->"ttys1 site:starterkit.ru"

по билдруту есть тред, полезно почитать:
http://www.starterkit.ru/html/index.php?name=forum&op=view&id=2287

о hdmi - это всего лишь трансивер, ядру достаточно объяснить геометрию и глубину цветности..

update FulHD не будет - ограничитель 9g45 1280х860

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
AGevork
Добавлено 07.04.2014 15:53 Сообщение: 7
AGevork
4.71

Пункты: 10580
Регистрация: 14.08.2013
появилась новая проблема, пытаюсь что то сделать с gpio через sys/class/gpio/
Выбираю нужный мне gpio из этой папки например gpiochip160 (как я понял это папка) но там только такие файлы
base
label
ngpio
subsystem
uevent

Соответственно не пойму куда мне вносить/считывать значения пина ?
Ядро напомню использую стандартное, пробывал сделать как описано здесь: http://falsinsoft.blogspot.ru/2012/11/access-gpio-from-linux-user-space.html
, но увы ничего не получается....
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 07.04.2014 16:25 Сообщение: 8
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
дак прямо так и делаете, как описано по вашей ссылке:
сначала:
Код
echo 160 > /sys/class/gpio/export


потом смотрите содержимое:
Код
ls /sys/class/gpio/gpio160


сейчас он работает на "ввод"
переведем на вывод:
Код
echo "out" > /sys/class/gpio/gpio160/direction

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
AGevork
Добавлено 07.04.2014 17:10 Редактировалось 07.04.2014 17:28 Сообщение: 9
AGevork
4.71

Пункты: 10580
Регистрация: 14.08.2013
[quote]дак прямо так и делаете, как описано по вашей ссылке:
сначала:
Код
echo 160 > /sys/class/gpio/export


потом смотрите содержимое:
Код
ls /sys/class/gpio/gpio160


сейчас он работает на "ввод"
переведем на вывод:
Код
echo "out" > /sys/class/gpio/gpio160/direction
[/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 все равно.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 07.04.2014 17:51 Сообщение: 10
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Вот что я делаю :
echo 84 > /sys/class/gpio/export

попробуйте 116..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux