博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uboot中关于LCD的代码分析【转】
阅读量:6803 次
发布时间:2019-06-26

本文共 753 字,大约阅读时间需要 2 分钟。

本文转载自:

以下内容源于朱有鹏《物联网大讲坛》课程的学习,如有侵权,请告知删除。

 

1、在uboot-jiuding/board.c中,init_sequence中的display_banner中的open_backlight函数中,给GPF3_5输出高电平。

   

 

 

  • 注释掉这一句uboot的LCD显示照样正常的,因为后面LCD操作的部分还会再做一遍的。
  • 真正的初始化LCD系统并且显示logo,在start_armboot函数的后段的x210_preboot_init函数中(这个函数在mpadfb.c文件中);此函数纯粹是九鼎在移植时添加的。如果我们自己移植uboot可以考虑自己去添加。

 

2、logo显示和LCD屏幕分辨率适配

LCD驱动mpadfb.c文件(此文件在uboot/drivers/video目录下)中,有一个函数mpadfb_init(),下面分析此函数。

(1)fb_init函数给framebuffer相关的数据结构赋值。

 

  • 左值的info是一个结构体,这个结构体描述fb驱动中的硬件设备参数的;
  • 右值的lcd是自己定义的一个数据结构,里面的值都是我们人为配置给驱动体系的。

 

(2)lcd_port_init看是lcd端口的初始化,端口就是GPIO,所以这个函数是在初始化LCD相关的SoC的引脚。

(3)lcd_reg_init是LCD的寄存器的初始化,就是SoC的LCD控制器中的那些寄存器的初始化。

(4)以上三个函数调用执行完后,LCD初始化就结束了。接下来是写东西和开背光。

(5)display_logo(&s5pv210_fb);这个函数负责把logo图片写到LCD的fb中去。

(6)backlight_brigness_init(1);负责开背光。

 

 

3、上面涉及的结构体

 

你可能感兴趣的文章
学习进度表(第六周)
查看>>
TCP/IP四层模型与OSI七层模型
查看>>
处理器体系结构学习记录
查看>>
htonl() htons()及inet_ntoa() inet_addr()的用法
查看>>
《linux网络编程》学习笔记
查看>>
假设检验:p-value,FDR,q-value
查看>>
Redis常用命令
查看>>
数据库(十一)
查看>>
R语言中对文本数据进行主题模型topic modeling分析
查看>>
PeopleSoft PeopleTools Meta-Tables
查看>>
VS2012 配置 OpenCV3.0
查看>>
python基本进程调用
查看>>
django基础-跨域操作jsonp/cors
查看>>
3.CCNA第三天-认识和操作思科IOS操作系统
查看>>
poj 2485 Highways (prim)
查看>>
交叉编译Mesa,X11lib,Qt opengl
查看>>
Openfire:安装指南
查看>>
【转载】Nginx 简介
查看>>
Linux实践篇--自动删除n天前日志
查看>>
IO inputStream和outputStream
查看>>