В U-boot прописана загрузка zImage, который и появляется в папке в папке /buildroot-2014.08-sk/output/images после сборки. В первый раз всё обновлять лучше через MfgTool либо записывать готовый образ на карточку. В дальнейшем скрипт обновления по tftp следует изменить на использование zImage. То есть для обновления ядра нужно поместить в папку /boot на устройстве файл zImage и соответсвующий *.dtb файл.
Перекопировал образ на SD карту командой sudo ./mk-sd.sh /dev/sdb, вставил карту в слот на модуле, замкнул джампер, подал питание, в PuTTY тишина... Что я не так делаю?
я не могу предугадать ваши действия - что вы делаете не так, для начала соберите минимальный образ, он собирается 5 мин. Есть подозрение что вы загружаетесь не с загрузочного usdhc - посмотрите мануал для своей платы - какой из слотов SD загрузочный.
В меню Bootloaders/Starterkit i.MX6 board нужно выбрать свой тип. Откуда должен грузится модуль? Может быть он пытается грузиться с NAND? У меня SODIMM модуль, грузится с eMMC, я первый раз шил через MfgTool.
Минимальный образ запустился!
Перед повторением вышеописанных действий полностью переформатировал карту памяти программой SDFormatter под Win7 (странно, но факт).
1. Вопрос каким образом менять/добавлять найстройки портов ввода-вывода и периферии в новой версии ядра?
В старой версии ядра порты ввода-вывода конфигураровались в *.c файле(модификация board-mx6q_sabrelite.c). Для некоторых из них нужно было указать по 2 определения.
Например для конфигуроирования ноги детектирования SD:
MX6Q_PAD_KEY_COL3__GPIO_4_12, /* SD1_DET */ (назначение ноги)
#define MX6_SK_SD1_CD IMX_GPIO_NR(4, 12)(использовалось в структуре инициализации)
В новом ядре потрты ввода-вывода можно сконфигурировать в соответсвующем *.dtsi файле. Но друго типа дефайнов теперь там нет.
Достатоно ли для переназначения ног менять определение вида "MX6Q_PAD_KEY_COL3__GPIO_4_12", либо ещё нужно что-то куда-то добавлять(пусть для случая с ногой детектирования SD карты)?
2. Впорос по поводу дисплеев.
В старой версии ядра у меня были устройства fb0-fb1 для главного дисплея и fb2-fb3 для второго двиплея. Допустим, первый дисплей был HDMI, а второй LVDS.
В новой версии ядра у меня почему-то нечётное число устройств fb0, fb1, fb2. Дисплеи те же HDMI и LVDS. Дисплей, который будет указан как главный работает корректно, на втором же изображение получить не удалось.
cat /bin/busybox > /dev/fb0 - на главном дисплее появляется мусор.
cat /bin/busybox > /dev/fb2 - на втором дислее ничего не появляется.
Настройка в U-boot: video=video=mxcfb0:dev=ldb,LDB-WSVGA,if=RGB24 video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24 dmfc=3 consoleblank=0
3. Вопрос по повоу Qt.
В старой версии buidroot(которая 2013.11-sk) с библиотеками Qt версии 4 для запуска приложения нужны били флаги -qws и -display inuxfb:/dev/fb2.
В новой версии buidroot(САБЖ) с библиотеками Qt версии 5.
Нужен ли для запуска флаг -qws(и без него работает)?
Каким образом теперь указывать диплей (так?: -platform linuxfb -display=linuxfb:/dev/fb2)?
4. Вопрос по поводу opengl в Qt5.
В Qt4 для запуска opengl приложения нужно было указать флаг -eglfs. При этом изображение вывести можно было только на главный дислей. А также выводилась лишь непосредственно opengl составляющая.
Например для opengl демо:
./hellogl_es2 -qws будет выведено только само окно заданного размера, внутри которого вместо opengl анимации чёрная пустота, зато можно запустить и на втором дисплее.
./hellogl_es2 -eglfs будет выведено только opengl анимация без рамки во весь экран, независимо от указанных классу главного окна размеров, вывести на второй дислпей невозможно.
В Qt5.3 была обещана возможность выбирать дисплей для вывода opengl. Так ли это? Каким образом это можно задать? И возможен ли одновременный вывод как виджета так и opengl содержимого?
---------- Start to write the [ .tmp_kobs_ng ]----
mtd: Writting .tmp_kobs_ng: #0 @0: 0x000000 - 0x0046600
mtd: erasng @0:0x400000-0x500000
mtd: The last page is not full : 4096
mtd: We write one page for save guard. *
mtd: Writting .tmp_kobs_ng: #1 @0: 0x00a00000 - 0x00a66000
mtd: erasing @0:0xa00000-0xb00000
mtd: The last page is not full : 4096
mtd: We write one page for save guard. *
#
в минимальном образе я забыл поставить галку для утилит mtd - добавьте через menuconfig
-> Target packages
-> Filesystem and flash utilities
[*] mtd, jffs2 and ubi/ubifs tools
то что по умолчанию там выделится - достаточно для работы с nand, потом просто make после этого и пакет добавится в новом образе, образ формируется заново после каждого make. Но все равно не понятно - хотя бы u-boot должен был загрузиться - перемычки не забываете переключать ? Конфиг потом добавлю как накопится побольше замечаний.