查看: 1264|回復: 0
打印 上一主題 下一主題

iMX6Q Linux應用筆記-LCD移植、LVDS移植、QT桌面旋轉

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2021-1-13 09:07:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: 飛凌嵌入式
本文主要適用于飛凌OKMX6DL/Q-C平臺Linux3.0.35操作系統,其他imx6Q平臺也可以參考,但是不同平臺之間會(huì )存在差異,需客戶(hù)自行修改以適應自己的使用。通過(guò)本文您可以了解LCD移植、LVDS移植及桌面旋轉的參考方法。
第一章 LCD移植
以添加800x600分辨率的LCD屏為例:
步驟一:iMX6Q內核部分的修改:
修改linux-3.0.35/drivers/video/mxc/mxc_lcdif.c
根據屏體手冊在驅動(dòng)添加時(shí)鐘參數:
static struct fb_videomode lcdif_modedb[] = {
        {
        /* 800x480 @ 57 Hz , pixel clk @ 27MHz */
        "CLAA-WVGA", 57, 800, 480, 37037, 40, 60, 10, 10, 20, 10,
        FB_SYNC_CLK_LAT_FALL,
        FB_VMODE_NONINTERLACED,
        0,},
      …………………………………………..中間省略N行,可參看實(shí)際代碼
        {
        "AT080-WVGA", 60, 800, 600, 21276, 46, 23, 210, 12, 1, 1,
        FB_SYNC_CLK_LAT_FALL,
        FB_VMODE_NONINTERLACED,
        0,},
};
步驟二:iMX6Q 關(guān)于uboot中的修改
修改uboot-2009/include/configs/mx6q_sabresd.h中的顯示參數
#elif defined(CONFIG_UBOOT_KERNEL_LCD)
   #define MXC_FB0          "mxcfb0=video=mxcfb0:dev=lcd, AT080-WVGA,if=RGB24,bpp=32\0"
   #define MXC_FB1          "mxcfb1=video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32\0"
   #define FB0BASE          "fb0base=fb0base=0x27b00000\0"
   #define FBMEM     "fbmem=fbmem=28M\0"
   #define PANEL            "panel= AT080-WVGA \0"
#endif               
注意:AT080-WVGA是和內核中的配置保持一致的。代碼中的具體參數需要客戶(hù)根據自己的屏幕手冊自行計算,不知道參數具體含義的可以百度搜索了解這方面相關(guān)的知識。

第二章LVDS移植以飛凌的10.1吋1280x800分辨率的LVDS屏幕為例。
步驟一:iMX6Q 內核部分的修改
修改linux-3.0.35/drivers/video/mxc/ldb.c
static struct fb_videomode ldb_modedb[] = {
{
"LDB-WXGA", 60, 1280,800, 14064,
           70, 80,
            8, 13,
           10, 2,
           0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},
{
"LDB-XGA", 60, 1024, 768, 15385,
220, 40,
21, 7,
60, 10,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},
{
"LDB-1080P60", 60, 1920, 1080, 7692,
100, 40,
30, 3,
10, 2,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},
};
步驟二:iMX6Q Uboot部分的修改
修改uboot-2009/include/configs/mx6q_sabresd.h
#if defined(CONFIG_UBOOT_KERNEL_LVDS)
   #define MXC_FB0          "mxcfb0=video=mxcfb0:dev=ldb,LDB-WXGA,if=RGB24,bpp=32\0"
   #define MXC_FB1          "mxcfb1=video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32\0"
   #define FB0BASE          "fb0base=fb0base=0x27b00000\0"
   #define FBMEM     "fbmem=fbmem=28M\0"
   #define PANEL            "panel=LDB-WXGA\0"
  注意:
LDB-WXGA是和內核中的配置保持一致的。代碼中的具體參數需要客戶(hù)根據自己的屏幕手冊自行計算,不知道參數具體含義的可以百度搜索了解這方面相關(guān)的知識。

第三章 QT桌面旋轉90度通過(guò)以下方法可以將屏幕上的QT旋轉90度,180度或者是270度。以旋轉90度為例:
修改iMX6Q文件系統中的QT環(huán)境變量腳本:
root@freescale /$ vi  /etc/rc.d/qt_env.sh
將 export QWS_display="linuxfb:mmWidth50:mmHeight130:0"
修改為export QWS_DISPLAY=”Transformed:Rot90inuxFb:/dev/fb0”
修改完成后保存該文件并執行sync命令后,重啟iMX6Q開(kāi)發(fā)板即可;有些QT界面不能夠適應旋轉后的寬高等,需要重新編譯調整下qt界面的圖形界面。也可以修改文件系統源碼下的etc/rc.d/qt_env.sh 文件,改動(dòng)方法同上,然后重新制作文件系統映像并燒寫(xiě)到平臺。

原文鏈接:https://www.forlinx.com/article_view_618.html


您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页