当前位置: 首页 > wzjs >正文

网站做好了如何发布热搜榜百度

网站做好了如何发布,热搜榜百度,韩国网站购物,上海建交人才网官网7、framebuffer驱动详解 7.1、什么是framebuffer (1)裸机中如何操作LCD (2)OS下操作LCD的难点 (3)framebuffer帧缓冲(简称fb)是linux内核中虚拟出的一个设备 (4)framebuffer向应用层提供一个统一标准接口的显示设备 (5)从驱动来看,fb是一个…

7、framebuffer驱动详解

7.1、什么是framebuffer

(1)裸机中如何操作LCD
(2)OS下操作LCD的难点
(3)framebuffer帧缓冲(简称fb)是linux内核中虚拟出的一个设备
(4)framebuffer向应用层提供一个统一标准接口显示设备
(5)从驱动来看,fb是一个典型的字符设备,而且创建了一个类/sys/class/graphics

framebuffer的使用:
(1)设备文件 /dev/fb0
(2)获取设备信息 #include <linux/fb.h>
(3)mmap做映射
(4)填充framebuffer

7.2、framebuffer应用编程实践

1、打开设备
2、获取设备信息
(1)不可变信息FSCREENINFO,使用ioctl的FBIOGET_FSCREENINFO名
(2)可变信息VSCREENINFO,使用ioctl的FBIOGET_VSCREENINFO名
3、mmap做映射
做完了mmap后fb在当前进程中就已经就绪了,随时可以去读写LCD显示器了。
4、fb显示之刷背景
5、设置分辨率
(1)实验失败,实验结果是只能修改虚拟分辨率,不能修改可视分辨率。原因要去驱动里找。
(2)正确的做法是在驱动中去修改参数,然后重新编译运行,才能解决。
6、写字、画线、图片显示等

7.3、framebuffer驱动框架总览

7.3.1、framebuffer驱动框架部分

(1)drivers/video/fbmem.c。主要任务:1、创建graphics类、注册FB的字符设备驱动、提供register_framebuffer接口给具体framebuffer驱动编写着来注册fb设备的。本文件相对于fb来说,地位和作用和misc.c文件相对于杂散类设备来说一样的,结构和分析方法也是类似的。
(2)drivers/video/fbsys.c。这个文件是处理fb在/sys目录下的一些属性文件的。
(3)drivers/video/modedb.c。这个文件是管理显示模式(譬如VGA、720P等就是显示模式)的
(4)drivers/video/fb_notify.c

7.3.2、framebuffer驱动部分

(1)drivers/video/samsung/s3cfb.c,驱动主体
(2)drivers/video/samsung/s3cfb_fimd6x.c,里面有很多LCD硬件操作的函数
(2)arch/arm/mach-s5pv210/mach-x210.c,负责提供platform_device的
(3)arch/arm/plat-s5p/devs.c,为platform_device提供一些硬件描述信息的

7.3.3、如何分析

(1)经验
(2)分析menuconfig、Makefile、Kconfig
(3)内核编译后检查编译结果中的.o文件

7.3.3.1、framebuffer驱动框架分析

1、fbmem_init函数
(1)#ifdef MODULE
(2)fb_proc_fops和fb在proc文件系统中的表现
(3)register_chrdev注册fb设备
(4)class_create创建graphics类
(5)fbmem_exit的对应
2、fb_fops函数
(1)read/write/mmap/ioctl
(2)registered_fb和num_registered_fb
(3)struct fb_info

3、register_framebuffer
(1)fb驱动框架开放给驱动编写着的注册接口
(2)fb_check_foreignness
(3)remove_conflicting_framebuffers
(4)device_create
(5)fb_init_device

4、fb在sysfs中的接口
(1)device_attrs
(2)dev_set_drvdata和dev_get_drvdata

5、fb的mode
(1)什么是mode
(2)fb_var_to_videomode
(3)fb_add_videomode
6、注册登记该fb设备
(1)registered_fb[i] = fb_info;
(2)结合fb_read等函数中对fb_info的使用
(3)关键点:数据如何封装、数据由谁准备由谁消费、数据如何传递
7、fb_notifier_call_chain

7.3.3.2、framebuffer驱动分析

1、s3cfb.c
(1)注意目录结构的组织
(2)s3cfb_driver

2、s3c_device_fb
(1)mach-x210.c中,被使用
(2)devs.c中
(3)resource的定义和作用

3、probe函数分析
(1)struct s3c_platform_fb 这个结构体是fb的platform_data结构体,这个结构体变量就是platform设备的私有数据,这个数据在platform_device.device.platform_data中存储。在mach文件中去准备并填充这些数据,在probe函数中通过传参的platform_device指针取出来。
(2)struct s3cfb_global  这个结构体主要作用是在驱动部分的2个文件(s3cfb.c和s3cfb_fimd6x.c)的函数中做数据传递用的。
(3)struct resource
(4)regulator

4、platform_data的传递过程
(1)to_fb_plat
(2)s3cfb_set_platdata
(3)smdkc110_machine_init

5、struct s3cfb_lcd

6、pdata->cfg_gpio

7、pdata->clk_on

8、resource的处理
(1)platform_device中提供resource结构体数组
(2)probe中platform_get_resource取出resource并且按FLAG分头处理

9、一些硬件操作

(1)s3cfb_set_vsync_interrupt
(2)s3cfb_set_global_interrupt

(3)s3cfb_set_clock
(4)s3cfb_set_window
(5)s3cfb_display_on

10、s3cfb_init_global

11、向框架注册该fb设备
(1)s3cfb_alloc_framebuffer
(2)s3cfb_register_framebuffer

12、驱动中处理中断
(1)platform_get_irq
(2)request_irq

13、logo显示
14、backlight点亮

7.4、应用层为何不能设置分辨率

1、问题描述
(1)在上文《7.2、framebuffer应用编程实践》节时试图在应用层设置分辨率失败了,原因何在?
(2)定位问题:肯定是驱动的事儿
(3)进一步驱动中定位:ioctl部分的事儿
2、fb的ioctl部分
(1)fb是典型的字符设备驱动
(2)ioctl分为2部分,在驱动框架部分驱动部分各有一半
(3)一路追踪找问题

7.5.折腾内核的启动logo

1、让logo显示在屏幕中央
2、自定义内核启动logo

后来发现CSDN也有小伙伴总结,而且带图的,可以直接查看如下博客链接:https://blog.csdn.net/qq_45544223/article/details/106598190

8、input子系统

 

https://blog.csdn.net/qq_45544223/article/details/106617059

 

 

http://www.dtcms.com/wzjs/447288.html

相关文章:

  • 安徽教育云平台网站建设网站如何提交百度收录
  • 动态网站制作价格微博关键词排名优化
  • 网站打开速度慢是什么原因网站推广排名
  • 9免费网站空间app开发工具
  • 医院网站建设方案计划书免费下载b站视频软件
  • 廊坊小程序公司北京搜索引擎优化经理
  • 服装网站建设的规划爱链接网如何使用
  • 2003网站的建设seo 推广
  • 怎么做网站卖机床商品推广软文范例200字
  • 男做女爱网站咸阳网站建设公司
  • 网站建设的安全可行性收录优美的图片
  • 海珠区 网站设计成人营销管理培训班
  • 赣州本地网站电商网址
  • 网站建设跟推广评价指标有什么关系十大品牌营销策划公司
  • 怎样做彩票投资网站今天刚刚发生的新闻最新新闻
  • 什么行业做网站搜索重庆网络推广专员
  • 免费网站建站工具windows优化大师和鲁大师
  • 做网站界面一般用什么来做廊坊百度关键词优化怎么做
  • 昆明网站建设服务东莞疫情最新数据
  • 十大免费货源网站免费版权深圳网站推广公司
  • 网站开发项目经理岗位职责企业seo网络营销
  • 默认网站预览能能显示建设中谷歌浏览器 官网下载
  • seo服务器配置seo优化裤子关键词
  • 做靠谱的网络兼职网站有哪些搜索引擎网站
  • 佛山做网站优化公司做外贸网站的公司
  • 遵义一般做一个网站需要多少钱苏州整站优化
  • 免费b2b网站推广嘿嘿郑州seo排名哪有
  • 网站建设数据库怎么选择网络营销和网络销售的关系
  • wordpress4.7无法安装青岛网站seo优化
  • 网站设计师英文网络营销软文范例500