- Главная
- Форум
- Микроконтроллеры и Системы на Модуле (SOM)
- SoM-модули
- Контроллер MYZR iMX6 CB200 с Linux. HDMI. Подключение TFT-дисплея WINSTAR WF50.
- Форум
- Микроконтроллеры и Системы на Модуле (SOM)
- SoM-модули
- Контроллер MYZR iMX6 CB200 с Linux. HDMI. Подключение TFT-дисплея WINSTAR WF50.
Контроллер MYZR iMX6 CB200 с Linux. HDMI. Подключение TFT-дисплея WINSTAR WF50.
4 года 2 мес. назад - 4 года 2 мес. назад #6372
от AEfimov
В данной публикации рассмотрим специфику процесса подключения по HDMI пятидюймового TFT-дисплея WINSTAR WF50BTIFGDHTX# к модулю MY-IMX6-CB200. Данный интерфейс представляет интерес для подключения дисплеев к производительным микроконтроллерам со встроенным Linux по ряду параметров таких как:
В сборке Linux, предоставленной MYZR, прописаны все основные конфигурации дисплеев, но для работы устройств с нестандартным разрешением требуется провести дополнительную конфигурацию ядра.
Далее мы детально опишем этот процесс на примере WINSTAR WF50 с разрешением 800 x 480.
1. Правка исходных файлов ядра:
В файле drivers/video/fbdev/mxc/mxc_edid.c
добавить следующий код в разделе const struct fb_videomode mxc_cea_mode[64] = {:
В файле drivers/video/fbdev/mxc/mxc_hdmi.c добавить дополнительные параметры:
В этом же файле внесем изменение в функцию - static void mxc_hdmi_edid_rebuild_modelist(struct mxc_hdmi *hdmi):
Во вносимых нами правках присутствует строка «NULL, 30, 800, 480, 29850, 164, 23, 10, 10, 10», - которая задает ряд параметров, специфичных для каждого конкретного разрешения, и, частично состоит как из фиксированных значений, таких как разрешение по осям и частота обновления, так и тех, которые рассчитываются по специальным формулам.
Если вы столкнулись с задачей подключения дисплея с отличным от описанного нестандартным разрешением по HDMI к MYZR I.MX6 CB-200, - смело обращайтесь к нам, и наши инженеры подскажут, как нужно модифицировать код ядра в вашем случае.
2. Переменные U-boot.
После внесенных правок в исходный код мы компилируем образ ядра и загружаем его в память контроллера при помощи MFG-Tool и теперь остается только задать переменные U-Boot, для этого во время запуска Linux нажимаем пробел и вводим следующие команды:
Итак, дисплей успешно подключен и отображает терминальное окно LInux.
AEfimov создал тему: Контроллер MYZR iMX6 CB200 с Linux. HDMI. Подключение TFT-дисплея WINSTAR WF50.
В данной публикации рассмотрим специфику процесса подключения по HDMI пятидюймового TFT-дисплея WINSTAR WF50BTIFGDHTX# к модулю MY-IMX6-CB200. Данный интерфейс представляет интерес для подключения дисплеев к производительным микроконтроллерам со встроенным Linux по ряду параметров таких как:
- Высокая пропускная способность (Возможность работать с графически продвинутыми приложениями)
- Возможность использовать достаточно длинные кабеля вплоть до 35 метров, а используя активные кабеля и системы повторителей, - вплоть до нескольких километров, что актуально в промышленных условиях.
- Универсальность драйвера – подключение по HDMI не требует установки специфического драйвера дисплея.
В сборке Linux, предоставленной MYZR, прописаны все основные конфигурации дисплеев, но для работы устройств с нестандартным разрешением требуется провести дополнительную конфигурацию ядра.
Далее мы детально опишем этот процесс на примере WINSTAR WF50 с разрешением 800 x 480.
1. Правка исходных файлов ядра:
В файле drivers/video/fbdev/mxc/mxc_edid.c
добавить следующий код в разделе const struct fb_videomode mxc_cea_mode[64] = {:
/* #60: 800x4804@30Hz 16:9 */
[60] = { / *номер режима по порядку в данном случае – 60*/
NULL, 30, 800, 480, 29850, 164, 23, 10, 10, 10, 0
FB_SYNC_HOR_HIGH_ACT,
FB_VMODE_NONINTERLACED | FB_VMODE_ASPECT_16_9, 0
},
В файле drivers/video/fbdev/mxc/mxc_hdmi.c добавить дополнительные параметры:
static const struct fb_videomode sxga_mode = {
/* 800x480 @ 30 Hz */
NULL, 30, 800, 480, 29850, 164, 23, 10, 10, 10, 0
FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
FB_VMODE_NONINTERLACED | FB_VMODE_ASPECT_16_9, FB_MODE_IS_VESA,
В этом же файле внесем изменение в функцию - static void mxc_hdmi_edid_rebuild_modelist(struct mxc_hdmi *hdmi):
// fb_add_videomode(&vga_mode, &hdmi->fbi->modelist);
fb_add_videomode(&sxga_mode, &hdmi->fbi->modelist);
Во вносимых нами правках присутствует строка «NULL, 30, 800, 480, 29850, 164, 23, 10, 10, 10», - которая задает ряд параметров, специфичных для каждого конкретного разрешения, и, частично состоит как из фиксированных значений, таких как разрешение по осям и частота обновления, так и тех, которые рассчитываются по специальным формулам.
Если вы столкнулись с задачей подключения дисплея с отличным от описанного нестандартным разрешением по HDMI к MYZR I.MX6 CB-200, - смело обращайтесь к нам, и наши инженеры подскажут, как нужно модифицировать код ядра в вашем случае.
2. Переменные U-boot.
После внесенных правок в исходный код мы компилируем образ ядра и загружаем его в память контроллера при помощи MFG-Tool и теперь остается только задать переменные U-Boot, для этого во время запуска Linux нажимаем пробел и вводим следующие команды:
setenv mmcargs "setenv bootargs console=ttymxc1,115200 root=/dev/mmcblk3p2 rootwait rw video=mxcfb0:dev=hdmi,800x480M@30,if=RGB24,bpp=32"
run bootcmd
Итак, дисплей успешно подключен и отображает терминальное окно LInux.
Последнее редактирование: 4 года 2 мес. назад пользователем AEfimov.
- Форум
- Микроконтроллеры и Системы на Модуле (SOM)
- SoM-модули
- Контроллер MYZR iMX6 CB200 с Linux. HDMI. Подключение TFT-дисплея WINSTAR WF50.
Время создания страницы: 0.033 секунд