新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > S5PV210(TQ210)學習筆記——LCD驅動編寫

        S5PV210(TQ210)學習筆記——LCD驅動編寫

        作者: 時間:2016-11-28 來源:網絡 收藏

        鑒于上面兩個原因,我們需要配置內核支持Frame buffer和列舉出的三個函數,另外,內核中并沒有直接配置支持這三個函數的選項,權宜之計,修改下drivers/video目錄下的Kconfig文件,在config FB項中添加

        1. selectFB_CFB_FILLRECT
        2. selectFB_CFB_COPYAREA
        3. selectFB_CFB_IMAGEBLIT
        添加時一定保證格式正確,參考下該文件下的其他配置項即可。配置完成后執行make menuconfig作如下配置:
        1. DeviceDrivers--->
        2. Graphicssupport--->
        3. <*>Supportforframebufferdevices--->
        配置后保存配置,編譯內核并將編譯好的內核下載到開發板或者NFS運行,同時將編譯好的LCD驅動程序拷貝到開發板運行環境中進行安裝,如果驅動文件名為lcd.ko,則執行:
        1. insmodlcd.ko
        這時,你可以看到屏幕被重新初始化了。雖然LCD已經初始化了,但是不知道如何進行測試,可以按照韋東山老師視頻中講述的方法進行LCD驅動測試,但是我們移植的3.8.3內核默認不支持字庫,還需要作其他配置,我是用畫線的方式測試的屏幕,這里我講一下我用的測試方法:

        (1) 在Linux主機上編譯下面的C++程序

        1. #include
        2. unsignedlongbuffer[480][800]={0};
        3. voidput_long_hex(unsignedlongv){
        4. for(inti=0;i!=4;++i){
        5. std::cout.put(static_cast(0xff&(v>>(8*(3-i)))));
        6. }
        7. }
        8. intmain(){
        9. for(inti=0;i!=480;++i){
        10. buffer[i][0]=0x00ff0000;
        11. buffer[i][799]=0x0000ff00;
        12. }
        13. for(inti=0;i!=800;++i){
        14. buffer[0][i]=0xff000000;
        15. buffer[479][i]=0x00ffff00;
        16. }
        17. for(inti=0;i!=480;++i){
        18. for(intj=0;j!=800;++j){
        19. put_long_hex(buffer[i][j]);
        20. }
        21. }
        22. }
        編譯指令如下:
        1. g++-omainmain.cpp
        然后如下方式執行程序:
        1. ./main>/nfsroot/rootfs/test.img
        我是直接將文件生成在NFS的根文件系統下了,你也可以用其他方式將生成的文件拷貝到開發板運行環境內,然后執行如下指令:
        1. cattest.img>/dev/fb0
        這時,就可以在屏幕上看到一個矩形且矩形的四條邊顏色不相同。

        如果想將驅動編譯進內核,并在啟動時可以看到小企鵝,可以將上面的驅動拷貝到內核的drivers/video/目錄下,命名為tq210_fb.c,然后在該目錄下做如下修改:

        (1)修改Kconfig,添加TQ210的LCD驅動配置選項

        在config FB_S4C項的后面添加如下內容:

        1. configFB_TQ210
        2. tristate"TQ210lcdsupport"
        3. dependsonFB
        4. selectFB_CFB_FILLRECT
        5. selectFB_CFB_COPYAREA
        6. selectFB_CFB_IMAGEBLIT
        7. ---help---
        8. CurrentlythesuportisonlyfortheTQ210
        (2)修改Makefile,添加如下內容:
        1. obj-$(CONFIG_FB_TQ210)+=tq210_fb.o

        (3)退回到內核根目錄下,執行make menuconfig并按如下方式配置內核

        1. DeviceDrivers--->
        2. Graphicssupport--->
        3. <*>Supportforframebufferdevices--->
        4. <*>TQ210lcdsupport
        5. [*]Bootuplogo--->
        6. [*]StandardblackandwhiteLinuxlogo
        7. [*]Standard16-colorLinuxlogo
        8. [*]Standard224-colorLinuxlogo

        然后執行指令make zImage或者make uImage來編譯內核,將編譯好的內核燒寫到開發板或者是放到NFS下即可正常運行。

        如果您在開發或配置過程遇到什么問題可以留言討論。


        上一頁 1 2 3 下一頁

        關鍵詞: S5PV210LCD驅動編

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 客服| 正蓝旗| 乐亭县| 嘉祥县| 祁阳县| 宁国市| 石河子市| 甘洛县| 年辖:市辖区| 仙桃市| 渭南市| 辽阳市| 沈丘县| 应用必备| 杭锦后旗| 盐津县| 陕西省| 固原市| 呈贡县| 锡林浩特市| 汝南县| 上饶县| 白山市| 琼结县| 丹巴县| 瑞安市| 望都县| 南华县| 应城市| 巴彦淖尔市| 文化| 邵阳市| 曲沃县| 揭西县| 湖口县| 曲靖市| 天津市| 芜湖市| 雷州市| 晴隆县| 临洮县|