zoukankan      html  css  js  c++  java
  • 编译可加载lcd驱动的linux uImage

    pc:Centos5.4

    内核:linux 3.0.1

    开发板:ok6410

    交叉编译器:arm-linux-gcc 4.4.1

    LCD驱动程序

    怎么写LCD驱动程序?

    1. 分配一个fb_info结构体: framebuffer_alloc

    2. 设置

    3. 注册: register_framebuffer

    4. 硬件相关的操作

    测试:

    1. make menuconfig去掉原来的驱动程序

    -> Device Drivers

      -> Graphics support

    <M> S3C LCD framebuffer support

    2. make uImage

    出现错误:修改/drivers/media/video/samsung/tv/s3c-tvenc 中的makefile,然后将s3c-tvenc 注释掉。

    又出现错误,继续修改:/home/flinux/kernel/linux-3.0.1/drivers/media/video/samsung/fimc/s3c_fimc_core.c

    224 //      ctrl->open_lcdfifo = s3cfb_enable_local;

    225 //      ctrl->close_lcdfifo = s3cfb_enable_dma;

    再出错,再改: drivers/video/samsung,修改makefile ,把s3cfb_fimd4x.c屏蔽掉

       make modules 

    3. 使用新的uImage启动开发板:

    4. 通过上面的make modulecfbcopyarea.c这三个文件在driver/video里,不过还是没编译成功,为了省麻烦,直接把里面的这三个文件和一个头文件放到一个新建文件夹里,然后添加makefile,再来make下,这样就编译出下面要的三个.ko文件了。

    insmod cfbcopyarea.ko

    insmod cfbfillrect.ko

    insmod cfbimgblt.ko

    insmod lcd.ko

    echo hello > /dev/tty1  // 可以在LCD上看见hello

    cat lcd.ko > /dev/fb0   // 花屏

    5. 修改 /etc/inittab

    tty1::askfirst:-/bin/sh

    用新内核重启开发板

    insmod cfbcopyarea.ko

    insmod cfbfillrect.ko

    insmod cfbimgblt.ko

    insmod lcd.ko

    insmod buttons.ko

  • 相关阅读:
    二、Heroku使用教程
    一、Heroku简单介绍
    idea中HTTP Client使用
    在Idea中添加javap命令(反编译)
    Linux中如何记住git密码
    通过flume的hivesink接收数据存到hive数据库表中
    《我想进大厂》之Java基础夺命连环16问
    hive存储json数据
    FreeMarker学习
    arthas-boot.jar使用-代码耗时分析
  • 原文地址:https://www.cnblogs.com/start530/p/3834412.html
Copyright © 2011-2022 走看看