S5PV210(TQ210)學習筆記——LCD驅動編寫
鑒于上面兩個原因,我們需要配置內核支持Frame buffer和列舉出的三個函數,另外,內核中并沒有直接配置支持這三個函數的選項,權宜之計,修改下drivers/video目錄下的Kconfig文件,在config FB項中添加
- selectFB_CFB_FILLRECT
- selectFB_CFB_COPYAREA
- selectFB_CFB_IMAGEBLIT
- DeviceDrivers--->
- Graphicssupport--->
- <*>Supportforframebufferdevices--->
- insmodlcd.ko
(1) 在Linux主機上編譯下面的C++程序
- #include
- unsignedlongbuffer[480][800]={0};
- voidput_long_hex(unsignedlongv){
- for(inti=0;i!=4;++i){
- std::cout.put(static_cast
(0xff&(v>>(8*(3-i))))); - }
- }
- intmain(){
- for(inti=0;i!=480;++i){
- buffer[i][0]=0x00ff0000;
- buffer[i][799]=0x0000ff00;
- }
- for(inti=0;i!=800;++i){
- buffer[0][i]=0xff000000;
- buffer[479][i]=0x00ffff00;
- }
- for(inti=0;i!=480;++i){
- for(intj=0;j!=800;++j){
- put_long_hex(buffer[i][j]);
- }
- }
- }
- g++-omainmain.cpp
- ./main>/nfsroot/rootfs/test.img
- cattest.img>/dev/fb0
如果想將驅動編譯進內核,并在啟動時可以看到小企鵝,可以將上面的驅動拷貝到內核的drivers/video/目錄下,命名為tq210_fb.c,然后在該目錄下做如下修改:
(1)修改Kconfig,添加TQ210的LCD驅動配置選項
在config FB_S4C項的后面添加如下內容:
- configFB_TQ210
- tristate"TQ210lcdsupport"
- dependsonFB
- selectFB_CFB_FILLRECT
- selectFB_CFB_COPYAREA
- selectFB_CFB_IMAGEBLIT
- ---help---
- CurrentlythesuportisonlyfortheTQ210
- obj-$(CONFIG_FB_TQ210)+=tq210_fb.o
(3)退回到內核根目錄下,執(zhí)行make menuconfig并按如下方式配置內核
- DeviceDrivers--->
- Graphicssupport--->
- <*>Supportforframebufferdevices--->
- <*>TQ210lcdsupport
- [*]Bootuplogo--->
- [*]StandardblackandwhiteLinuxlogo
- [*]Standard16-colorLinuxlogo
- [*]Standard224-colorLinuxlogo
如果您在開發(fā)或配置過程遇到什么問題可以留言討論。
評論