“顯示”是嵌入式開發板最為重要的功能之一,能夠支持更多種類、更高規格的顯示接口,意味著它能夠應對的使用場景也更加廣泛。每一款嵌入式開發板在出廠前都會做屏幕調試,但在客戶的實際項目開發過程中往往會選擇非原廠的其他屏體進行適配,而在這個過程中可能會遇到一些無法適配問題。以飛凌嵌入式AM62x系列的OK6254-C開發板為例,它擁有LVDS和RGB兩種顯示接口,最多支持2路顯示控制器,可同時輸出2種不同畫面。為了幫助開發者們更方便地進行調試,小編會分上、下兩篇文章詳細介紹OK6254-C開發板的顯示方案,本文將先為大家帶來RGB的顯示和修改方式。 1 RGB接口規格 飛凌嵌入式OK6254-C開發板提供1個24bit RGB并行顯示接口,支持最高分辨率為 WUXGA(1920x1200 @60fps,165MHz 像素時鐘)。底板通過FPC座引出16bit數據接口,默認適配飛凌嵌入式7英寸電阻、電容觸摸屏,分辨率為1024x600@60fps。 如果對色彩細節和真實性要求較高,RGB888是更好的選擇;如果存儲空間有限且對色彩表現的要求不高,則可以考慮使用RGB565以節省存儲資源。這時,就涉及到了RGB888和RGB565的選擇問題。 2 RGB888和RGB565的選擇和修改 OK6254-C設備樹的修改十分方便,我們把設備樹分為三個部分——內核設備樹,LVDS顯示設備樹,RGB顯示設備樹。若要進行RGB888和RGB565的選擇和修改,我們需要打開OK6254-C-rgb.dts文件,如下圖: 上圖中第一個紅色方框內,我們可以修改RGB顯示為RGB888或者RGB565,默認為rgb565。下邊的紅色方框是分辨率信息,默認為1024*600,最大支持1920x1200,大家根據根據自己手中的屏體手冊修改對應參數即可。此外,OK6254-C開發板還支持800*480的屏幕分辨率,接下來為大家介紹選屏操作。 打開文件OK6254-C-rgb-800_480.dts 大家可以在下圖紅框部分修改分辨率以及適合屏幕的屏體參數。 (1) 編譯: 因為我們只對設備樹進行了修改,所以我們不需要全編譯,否則不僅費時而且費力。編譯內核后會在images目錄下生成新的Image 和多個設備樹文件,在這里我們只需要單獨編譯內核。 1. 切換目錄:cd OK6254-linux-sdk/ 2. 執行環境變量:. build.sh 3. 執行單獨編譯內核的指令:sudo ./build.sh kernel 4. 打包所有設備樹文件到開發板/boot/目錄下替換,然后sync保存重啟scp images/OK6254-C* root@172.16.0.225:/boot/ 至此修改完畢。 (2) 選屏階段: 我們已經修改好了對應的文件,替換之后應該如何選擇屏幕呢?目前屏幕切換控制方式有三種——內核設備樹指定、Uboot菜單動態控制、Forlinx Desktop界面Ubootmenu應用程序。今天簡單介紹一下Uboot菜單動態控制。 Uboot啟動過程中,按空格鍵將會進入Uboot 菜單。菜單共有三個選項: 輸入0,將會進入uboot 命令行; 輸入1,將會重啟Uboot; 輸入2,將會進入顯示配置菜單。 屏幕配置菜單有三個選項: 輸入0,將會返回上一級菜單; 輸入1,會切換選項1顯示的內容,從而配置屏幕1 LVDS;注:屏幕1支持單LVDS、雙LVDS和關閉(即LVDS off) 輸入2,會切換選項2顯示的內容,從而配置屏幕2 LCD。注:屏幕2支持1024*600分辨率LCD屏,800*480分辨率LCD屏幕和關閉(即RGB off) 選擇LCD屏時,我們輸入2就OK。 選擇好需要的配置后,輸入0返回上一級菜單。重啟Uboot或進入命令行啟動系統,都可以使屏幕設置生效。其它分辨率屏幕請按照屏幕參數要求自行修改內核設備樹屏幕參數實現。 至此,我們對于RGB的顯示方案介紹完畢,當然其他顯示接口也是類似,大家可以關注后續的應用筆記。 |