Напишите какая у вас плата и что хотите поменять - я объясню на примере, иначе пол-форума можно исписать, главное суть уловить, а она та же самая - переключить нужный пин на нужную ф-цию - gpio в данном случае, передать номер gpio драйверу.
Попробуйте убрать dmfc=3, могу ошибаться но с этим параметром fifo по-моему только один дисплей будет работать.
в Qt5 поностью ушли от QWS (Qt Window System)
Думаю сейчас уже нет смысла использовать linuxfb - на i.mx6 прекрасно работает eglfs - он прописан по умолчанию через переменную окружения
export QT_QPA_PLATFORM=eglfs
в /etc/profile, приложениям не надо указывать драйвер платформы если вас eglfs устоаивает. Есть для него ограничение правда - он только на одном дисплее будет работать.
и сейчас можно явно указать
-platform eglfs
можно в переменной окружения передавать, можно явно указать в конфиге Qt в буилдруте платформу по умолчанию
(eglfs) Default graphical platform
wayland пока плоховато работает, иксы и directfb я пока вообще не трогал - по-поздней займусь, инаверно как минимум иксы нужны будут. Меня больше интересуют мультимедийные возможности процессора а не таскание окошек по экранам :)
плохое качество - извиняйте - снимать и мышью крутить одновремнно не получилось :) под конец еще батарейка сдохла, но возможности процессора и Qt5 думаю хватит оценить
Напишите какая у вас плата и что хотите поменять - я объясню на примере, иначе пол-форума можно исписать, главное суть уловить, а она та же самая - переключить нужный пин на нужную ф-цию - gpio в данном случае, передать номер gpio драйверу.
Плата SK-iMX6D-SODIMM, поменять хочу пин детектирования карты SD1, пин сброса mPCIE, добавить пин сброса usb hub, добавить карту памяти SD2, поменять звуковой кодек на sgtl5000(как на sabrelite), убрать из инициализации АЦП ADV7180 чтение и запись регистров по i2c(то есть работать с ним как с уже настоенным), добавить шину памяти pseudo sram.
Вот для примера заменить пин детектирования карты SD1 с GPIO_1_10(MX6Q_PAD_SD2_CLK__GPIO_1_10) на GPIO_4_12(MX6Q_PAD_KEY_COL3__GPIO_4_12).
Попробуйте убрать dmfc=3, могу ошибаться но с этим параметром fifo по-моему только один дисплей будет работать.
После удаления параметра ничего не изменилось. Уже не помню точно с какими именно настройками сборки, но устройств иногда 2(/dev/fb0, /dev/fb1), а иногда 3(/dev/fb0, /dev/fb1, /dev/fb2).
3. Вопрос по повоу Qt.
В новой версии buidroot(САБЖ) с библиотеками Qt версии 5.
Нужен ли для запуска флаг -qws(и без него работает)?
Думаю сейчас уже нет смысла использовать linuxfb - на i.mx6 прекрасно работает eglfs - он прописан по умолчанию через переменную окружения
export QT_QPA_PLATFORM=eglfs
в /etc/profile, приложениям не надо указывать драйвер платформы если вас eglfs устоаивает. Есть для него ограничение правда - он только на одном дисплее будет работать.
и сейчас можно явно указать
-platform eglfs
можно в переменной окружения передавать, можно явно указать в конфиге Qt в буилдруте платформу по умолчанию
(eglfs) Default graphical platform
Мне нужно понять как запустить приложение на втором дисплее. Допустим главный это HDMI(там мигает консоль), а приложение нужно вывести на LVDS. Приложение одно, полноэкранное, ни клавиатура, ни мышь(== тач) не используются.
Можно было бы даже оставить только один экран LVDS, но как убрать с него консоль(а она мигает даже сквозь активное приложение)?
wayland пока плоховато работает, иксы и directfb я пока вообще не трогал - по-поздней займусь, инаверно как минимум иксы нужны будут. Меня больше интересуют мультимедийные возможности процессора а не таскание окошек по экранам :)
Хотелось бы найти оптимальный метод реализации такой задачи:
На экране отображать и активно(часто) перемещать несколько картинок(небольших, не большк 12 шт). Поверх этих картинок накладывать несколько небольших иконок, тестовых надписей и отрисовывать несколько линий.
Сейчас это решается средствами Qt4: картинки накладываются на QLabel, перемещения соответсвующими функциями этого класса, иконки и текст - так же, линии рисуются посредством QPainter на прозрачном слое над окном с картинками.
Всё, конечно, работает, но обрабатыавется ядром. Перемещение картинок сильно грузит процессор, и не такое уж плавное, если присмотреться. Наверное, как-то это можно реализовать посредсвом opengles2, чтобы нагрузка ложилась на gpu.
Вообще шик, если поверх всего этого можно было бы включать отображение с видео АЦП и проигрывать видеофайлы.
плохое качество - извиняйте - снимать и мышью крутить одновремнно не получилось :) под конец еще батарейка сдохла, но возможности процессора и Qt5 думаю хватит оценить
[/quote]
Круто. Меню на QML? А как с камер и изображение выводится? И вот это 3D анимация в конце, это же не видео?
в минимальном образе я забыл поставить галку для утилит mtd - добавьте через menuconfig
-> Target packages
-> Filesystem and flash utilities
[*] mtd, jffs2 and ubi/ubifs tools
то что по умолчанию там выделится - достаточно для работы с nand, потом просто make после этого и пакет добавится в новом образе, образ формируется заново после каждого make. Но все равно не понятно - хотя бы u-boot должен был загрузиться - перемычки не забываете переключать ? Конфиг потом добавлю как накопится побольше замечаний.
C перемычками тут трудно промахнуться, тут она всего одна :-)
В конфиге imx6sk_qt5gst_defconfig этот пункт выбран, но всё равно не получается запустить плату с NAND.
У кого-нибудь получилось это сделать на OEM?
- Устройства /dev/fbX стали отображаться корректно(то есть все 4), когда я убрал из конфигурации настойки LCD интерфейса.
- Консоль на главном экране можно убрать как в настройке ядра, так и убрав соотвествующуюнастройку в inittab.
и всё остальное тоже уже решено, но осталась некоторое непонимаение как оно заработало. Это касается настройки пинов. Всё же хотелось бы увидеть краткое описание действий с пояснениями на примере, допустим, пина сброса mPCIE интерфейса.
Но самый главный вопрос по интерфейсу UART.
Плата SK-iMX6D-SODIMM. Ядро и его настройки из билдрута данной темы.
Через интерфейс UART2 принимаются данные, пакетами по 20-40 байт, 3-5 пакетов в секудну(то есть траффик очень маленький).
В старой версии ядра приём данных осуществлялся корректно на скоростях вплоть до 4000000 bps.
В новой же версии ядра на скоростях больше 115200 периодически возникает следующая ошибка: "imx-uart 21e8000.serial: Rx FIFO overrun".
Ошибка возникает в произвольный момент времени и через произвольное число принятых байт(раз в несколько секунд). При этом наблюается поврежение принимаемых данных(каждый пакет содержит контрольную сумму).
Если данные принимать не через UART2 а через USB переходник(FT232), то передача данных происходит корректно вплоть до 2000000 bps(больше пере не поддерживает).
Так как во всех случаях использовался один и тот же передатчик и одно и то же приложение приёмник, то выходит, что проблема в драйвере или его настройке.
Я смотрел исходники драйвера и выяснил, что ошибка выводится при проверке соответсвующего флага. В старой версии драйвера этой проверки не было, но если и в новой версии убрать проверку, то данные всё равно продолжают портиться.
Очень хочется устранить проблему, помогите пожалуйста.
Очень хочется устранить проблему, помогите пожалуйста.
Предлагаю создать отдельную тему в ветке которая предназначена для вашего модуля - каждый вопрос с новой темой, здесь про buildroot. Вы уже написали два десятка вопросов в одной куче - как в такой каше будут разбираться другие люди с аналогичными вопросами ? И сразу предугадывая - если вы изменили DTS - выложите его куда нибуть (прикрепленные файлы на этом форуме куда-то пропадают) - например на pastebin.com
Про DTS я уже вынес в отдельную тему - продолжите там http://starterkit.ru/html/index.php?name=forum&op=view&id=24064&last#0
уверен что кроме вас там будет еще куча вопросов по этой теме
X-сервер запущен перед стартом GTK-приложения ? учитывайте еще что пока поддержки GPU в buildroot для иксов нет.
В том то и дело, что сервер не запущен. и как его запустить практически я никак не пойму. Выполнение
$Xfbdev
или
$X
или
$Xvfb
Приводят к одному результату - черному экрану.
expot DISPLAY.. я так понимаю еще рано делать.
Печально что нет поддержки GPU( Меня интересует возможность воспроизведения онлайн видео, думаю HolaDuo должна с этим справится... хотя GPU не помешало бы