1 综合篇 点我
2 uboot移植 点我
3 uboot lcd驱动 点我
4 kernel移植 点我
5 kernel lcd驱动 点我
6 摄像头驱动 点我
7 ubuntu base移植 点我
8 挂载网络文件系统 点我
9 qt移植 点我
10 搭建qt交叉编译 点我
11 wifi移植 点我

一般修改 LCD 驱动重点注意以下几点:
①、 LCD 所使用的 GPIO,查看 uboot 中 LCD 的 IO 配置是否正确。
②、 LCD 背光引脚 GPIO 的配置。
③、 LCD 配置参数是否正确。
我的开发板 LCD 原理图和 NXP 官方 I.MX6ULL 开发板一致,也就是 LCD 的 IO 和背光 IO 都一样的,所以 IO 部分就不用修改了。需要修改的之后 LCD 参数,打开文件 mx6ull_user_emmc.c,找到如下所示内容:

struct display_info_t const displays[] = {{.bus = MX6UL_LCDIF1_BASE_ADDR,.addr = 0,.pixfmt = 24,.detect = NULL,.enable  = do_enable_parallel_lcd,.mode = {.name           = "TFT43AB",.xres           = 480,.yres           = 272,.pixclock       = 108695,.left_margin    = 8,.right_margin   = 4,.upper_margin   = 2,.lower_margin   = 4,.hsync_len      = 41,.vsync_len      = 10,.sync           = 0,.vmode          = FB_VMODE_NONINTERLACED
} } };

代码定义了一个变量 displays,类型为 display_info_t,这个结构体是 LCD信息结构体,其中包括了 LCD 的分辨率,像素格式, LCD 的各个参数等。
结构体 fb_videomode 里面的成员变量为 LCD 的参数,这些成员变量函数如下:
name: LCD 名字,要和环境变量中的 panel 相等。
xres、 yres: LCD X 轴和 Y 轴像素数量。
pixclock:像素时钟,每个像素时钟周期的长度,单位为皮秒。
left_margin: HBP,水平同步后肩。
right_margin: HFP,水平同步前肩。
upper_margin: VBP,垂直同步后肩。
lower_margin: VFP,垂直同步前肩。
hsync_len: HSPW,行同步脉宽。
vsync_len: VSPW,垂直同步脉宽。
vmode: 大多数使用 FB_VMODE_NONINTERLACED,也就是不使用隔行扫描。
根据自己板子的lcd的参数将这部分修改为:

struct display_info_t const displays[] = {{.bus = MX6UL_LCDIF1_BASE_ADDR,.addr = 0,.pixfmt = 24,.detect = NULL,.enable  = do_enable_parallel_lcd,.mode = {.name           = "TFT50AB",.xres           = 800,.yres           = 480,.pixclock       = 37037,.left_margin    = 46,.right_margin   = 23,.upper_margin   = 22,.lower_margin   = 22,.hsync_len      = 1,.vsync_len      = 1,.sync           = 0,.vmode          = FB_VMODE_NONINTERLACED
} } };

修改之后重编编译uboot并烧录到板子中,烧录之后logo能正常显示说明适配成功

uboot中LCD驱动修改相关推荐

  1. 详解sd协议以及裸机和u-boot中的sd卡驱动(2)

    3. sd卡驱动 3.1 引入 经过第2章我们知道,要想实现读写sd卡,需要按照sd协议规定的基本传输单位(命令.响应.数据)以及流程(初始化.读.写),向sd卡发送信号或者从sd卡接收信号. 为了简 ...

  2. Uboot中的DM驱动模型

    这一篇我们学习uboot中的驱动模型的初始化,在uboot中,驱动模型被称为Driver Model,简称DM.这种驱动模型为uboot中的各类驱动提供了统一的接口. 1. 数据结构及概念 DM模型主 ...

  3. u-boot支持LCD显示(基于TQ2440)

    平台简介 Linux版本:Linux-3.14 u-boot版本:u-boot-2015.04 硬件:TQ2440(内存:64MB  NandFlash:256MB) 作者:彭东林 邮箱:pengdo ...

  4. LCD驱动调试中部分常见问题的分析及解决办法

    点击打开链接http://www.52rd.com/Blog/Detail_RD.Blog_DamonKabo_30355.html 点击打开链接 http://blog.csdn.net/color ...

  5. uboot环境下mmc操作_【记录】将Uboot 2011.06中mmc驱动移植到uboot 1.1.6的过程

    [记录]将Uboot 2011.06中mmc驱动移植到uboot 1.1.6的过程 时间:2011-8-14 作者:crifan 联系方式:green-waste (at) 163.com 附上代码: ...

  6. uboot中关于LCD的代码分析

    以下内容源于朱有鹏<物联网大讲坛>课程的学习,如有侵权,请告知删除. 1.在uboot-jiuding/board.c中,init_sequence中的display_banner中的op ...

  7. 在U-boot中添加以太网驱动-Nazgul

    当定义CONFIG_CMD_NET和CONFIG_CMD_PING,编译之后执行ping命令,告警没有找到以太网. 因此,需要打开U-boot的网络功能, u-boot-sunxi-sunxi中没有找 ...

  8. [I.MX6UL] U-Boot移植(六) 网络驱动修改 LAN8720A(对比原子和NXP官方测试板的网络芯片LAN8720A , KSZ8081 (也是飞凌)唯独复位引脚不同595芯片也涉及改动)

    I.MX6UL/ULL 内部有个以太网 MAC 外设,也就是 ENET,需要外接一个 PHY 芯片来实现网络通信功能,也就是内部MAC+外部 PHY 芯片的方案. I.MX6UL/ULL 有两个网络接 ...

  9. [I.MX6UL] U-Boot移植(六) 网络驱动修改 LAN8720A

    I.MX6UL/ULL 内部有个以太网 MAC 外设,也就是 ENET,需要外接一个 PHY 芯片来实现网络通信功能,也就是内部MAC+外部 PHY 芯片的方案. I.MX6UL/ULL 有两个网络接 ...

最新文章

  1. linux日志系统的实现,一个同步日志系统的简单实现 log for c (linux 平台)
  2. 7、计算机图形学——图形管线渲染与纹理映射
  3. vue里面怎么删除部分页面_基于VUE选择上传图片并页面显示(图片可删除)
  4. 不使用自带函数求区域的周长_Excel表格中最强大求和函数______DSUM函数
  5. 详解python中的yield(生成器)
  6. 关于Redis的几个问题
  7. [转]JavaScript继承详解
  8. 使用Go实现Socket服务端和客户端通信
  9. jetbrains goland配置go开发环境
  10. PHP将一个pdf 拆分按需要页码组装新的pdf
  11. OpenCV python 绘制椭圆形
  12. 添加CNZZ统计代码
  13. ClickHouse安装部署
  14. 很好用的搜网盘资源工具。很多都能找到
  15. git init和git clone获取仓库 (一)
  16. 比特大陆新一轮裁员50%,回应称系人员调整
  17. 计算机计算资产分析表,财务指标计算公式excel,用EXCEL做财务指标分析,如何使用其他工作簿做公式计算??...
  18. 【ARM裸机s5pv210 】程序烧录
  19. 用DriverBackUp备份了文件 装好系统后怎么把备份的驱动文件还原
  20. 常用的25条Excel技巧整理[转]

热门文章

  1. 理解插值法(拉格朗日、牛顿插值法)
  2. 音乐推荐与Audioscrobbler数据集
  3. VMware-WorkStation 序列号(转)
  4. Python-爬虫 (BS4数据解析)
  5. 【OR】YALMIP 二阶锥规划
  6. windows 服务程序和桌面程序集成(一)
  7. 【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用
  8. thinkPHP中的控制器与视图层
  9. 安全狗等级保护建设服务内容有哪些?
  10. 使用Maven创建Servlet项目及优化流程