色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > S5PV210(TQ210)學(xué)習(xí)筆記——LCD驅(qū)動(dòng)編寫

          S5PV210(TQ210)學(xué)習(xí)筆記——LCD驅(qū)動(dòng)編寫

          作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò) 收藏

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

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

          (1) 在Linux主機(jī)上編譯下面的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
          然后如下方式執(zhí)行程序:
          1. ./main>/nfsroot/rootfs/test.img
          我是直接將文件生成在NFS的根文件系統(tǒng)下了,你也可以用其他方式將生成的文件拷貝到開發(fā)板運(yùn)行環(huán)境內(nèi),然后執(zhí)行如下指令:
          1. cattest.img>/dev/fb0
          這時(shí),就可以在屏幕上看到一個(gè)矩形且矩形的四條邊顏色不相同。

          如果想將驅(qū)動(dòng)編譯進(jìn)內(nèi)核,并在啟動(dòng)時(shí)可以看到小企鵝,可以將上面的驅(qū)動(dòng)拷貝到內(nèi)核的drivers/video/目錄下,命名為tq210_fb.c,然后在該目錄下做如下修改:

          (1)修改Kconfig,添加TQ210的LCD驅(qū)動(dòng)配置選項(xiàng)

          在config FB_S4C項(xiàng)的后面添加如下內(nèi)容:

          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,添加如下內(nèi)容:
          1. obj-$(CONFIG_FB_TQ210)+=tq210_fb.o

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

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

          然后執(zhí)行指令make zImage或者make uImage來(lái)編譯內(nèi)核,將編譯好的內(nèi)核燒寫到開發(fā)板或者是放到NFS下即可正常運(yùn)行。

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


          上一頁(yè) 1 2 3 下一頁(yè)

          關(guān)鍵詞: S5PV210LCD驅(qū)動(dòng)編

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉