请看《关于linux的通用显示框架和android显示框架(必读的总结).docx》
目前成都创新互联公司已为上1000家的企业提供了网站建设、域名、网页空间、成都网站托管、企业网站设计、鼓楼网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。一定要明白各个部分之间的关系,哪些部分为了Rendering渲染,哪些部分为了送显。
android或其他显示架构中,应用向类似android的surfaceflinger申请buffer,然后使用gpu在各自的buffer中渲染(画)相应的图,然后类似android的surfaceflinger会把所有的显示的buffer做图层的merge处理(利用hardware composer),合并到framebuffer中,framebuffer本身申请的内存能存两个屏幕的数据量还大的内存,所以采样交替送显的方式进行eglSwapBuffers交换(即fb_pan_display指定切换到另外framebuffer的另一部分地址),即framebuffer的A部分用于merge处理,framebuffer的B部分用于送显显示,下一个节拍(例如vsync节拍)时,进行切换,framebuffer的A部分送显,framebuffer的B部分用于merge。送显的内容除了framebuffer外,还有overlay的内容,硬件会把他们进行合并,再送到显示屏幕。
新的DRM架构
对于新的DRM架构,单独的FB driver已经没有了,而是被集合到了drm驱动里面。
即DRM framebuffer和以前的framebuffer driver的framebuffer是两个不同的内存。
见Drm_fb_helper.c (drivers\gpu\drm): 对register_framebuffer(info)的调用。
LCD Display Signals and Timing
The basic signals needed are:
VSYNC (Vertical Sync)
Used to reset LCD row pointer to top of display
HSYNC (Horizontal Sync)
Used to reset LCD column pointer to edge of display
D0 –Dxx (1 or more data lines)
Data lines to send display data
CLK (LCD clock)
Used to control the refresh rate
Other signals (optional)
LCD Power, Backlight power, touch screen
lcd panel的接口分类
1)RGB并行信号2)MIPI接口—使用DCS指令集,DSI命令设置
3)LVDS
4)HDMI
5)其他
后续文章,将陆续介绍RGB、LVDS、MIPI屏接口的一些注意事项。
详细请看我的免费的linux各种驱动开发课程如下:
https://edu.51cto.com/course/17138.html
另外我的相关培训视频请看:
欢迎观看我发布的各个课程: https://edu.51cto.com/lecturer/8896847.html
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。