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

荔枝派LicheePi Zero V3S芯片图形系统开发详解[持续更新]

一、图形子系统

一般移动Linux设备实现图像显示的方案无非两种:

一种是使用OpenGL ES

另外一种就是使用FrameBuffer

使用OpenGL有个前提就是这个芯片是需要有GPU的,不然是没有意义的。

查看芯片系统框图,注意到V3S这款芯片是不支持GPU的,所以只有使用FrameBuffer显示这一条路了。

另外就是芯片定位了,这款芯片的定位就说明了,本身并不需要精细的画面显示效果。

 二、FrameBuffer开发

1、FrameBuffer认知误区

我一直以为FrameBuffer做图像显示是很低效率的,无法做高帧率动画或者视频显示,实际上显示效率确实不是太高,但是并不意味着无法做高帧率,可以理解为直接对显存读写实现图像显示,对显存读写的过程会很占用cpu时间,但是只要cpu写入速度够快,也是可以做到很高帧率的,但是显存刷新速率并不意味着显示帧率,显示帧率也受总线和屏幕质量的影响。

根据系统框图说明,这款芯片最高是可以做到1024*768分辨率下的60Hz显示的,已经够用了。

2、FrameBuffer支持的图形库

1)QT

官方推荐的图像库,用基本Widget开发内存占用小一些,如果要使用Qml开发,对于V3S的64MB内存来说就有些捉襟见肘了。

2)SDL

sdl也是支持framebuffer的

3)LVGL

可以配置framebuffer支持

4)自行查找

其他

3、FrameBuffer应用独占

FrameBuffer开发最大的问题还是,当有多个程序都要使用FrameBuffer进行显示时会出现显示抢占的情况,还有就是闪烁的命令输入光标和时不时的控制台打印输出。


http://www.kler.cn/a/521412.html

相关文章:

  • Nxopen 直齿轮参数化设计
  • FloDB 设计与思考
  • 12、本地缓存分布式缓存(未完待续)
  • Android的签名
  • uvm timeout的哪些事
  • 2025.1.26机器学习笔记:C-RNN-GAN文献阅读
  • 有趣的网站
  • VUE3 使用路由守卫函数实现类型服务器端中间件效果
  • ListOJ14:环形链表II(寻找环的入口点)
  • Spring Security(maven项目) 3.0.2.6版本—下
  • DeepSeek学术题目选择效果怎么样?
  • AWS Serverless Application Repository
  • Anaconda使用教程 如何conda配置多版本Python环境
  • 【力扣:新动计划,编程入门 —— 题解 ③】
  • 【Oracle】修改表字段顺序 保留原数据
  • Jenkins安装部署(以及常见报错解决方案),jdk版本控制器sdkman
  • 2025/1/22 [抓包] Fiddler
  • redis的分片集群模式
  • 【Elasticsearch】index:false
  • Flutter子页面向父组件传递数据方法