本帖最后由 3guoyangyang7 于 2017-8-20 22:38 编辑
先说一下背景,这几天做一个摄像头处理的qt项目,摄像头的像素是1280*720的,25fps,用qt的painter重绘widget窗体,会出现大量占cpu的情况,在刷新图片的时候整个窗体的事件响应缓慢,定时器不准,不能忍受,基本上网上的办法都尝试过,什么多线程只在主线程刷图啊,直接写frambuffer啊,都没有什么卵用。只能抓住最后的稻草,使用gpu刷图,这样cpu的占用肯定下来。所以第一步要做的就是搭建ARM环境下OPENGL ES开发环境。以下的方法不是小狂独创,是在一个大神的指导下完成,有什么不对的地方还希望大家批评指正。
给出我的开发环境的参数。
开发板:友善之臂smart4418,(这个OPENGL ES的驱动支持mail400的gpu。只要是这个的应该都适用)。
开发板系统:内核3.4.39、系统 Ubuntu 16.04
PC机系统:ubuntu16.04
交叉编译环境:arm-cortexa9-linux-gnueabihf-4.9.3 32位。
总的步骤按照大体上分为三部分,第一部分是编译mail400的内核驱动,第二部分是编译用户层的OPENGL ES的库,第三部分是测试,下面给出具体的做法。一、内核驱动的编译
从给出的附件中,把所有内容拷贝到你相应内核目录下/driver/gpu目录下,如果有了就覆盖就行,然后就是开始编译内核,我把smart4418具体的编译步骤给出,其他开发板的见各个厂商给的编译步骤。1、交叉编译环境的搭建
在这里