花了点时间研究了下全志的2D加速模块,这个2D加速,其实就是DE2模块,现在测试了矩形填充,以及bitblit操作。
驱动代码在这里。
https://gitee.com/xboot/xboot/blob/master/src/arch/arm32/mach-t113s3/driver/g2d-t113.c
离线
这干货太干了
离线
#include <g2d/g2d.h>
LZ请问,这个头文件在哪呢?
离线
用个显存也可以吧
离线
都可以的,没有限制,内存如果cache了,注意要flush,保证cache一致性
离线
看着很不错,就这两个函数就可以适配到各种的GUI引擎上了
离线
都可以的,没有限制,内存如果cache了,注意要flush,保证cache一致性
内存cache 了如何flush?
我之前遇到这种问题,通过camera接口采样数据,一开始申请的frame buffer比较少,就几个
然后读出的数据就会发现,某些数据明显不对, 异常处是64个字节有问题
测试在驱动里申请不cache的buffer,好像是一个宏。(A33 kernel 3.4) 问题就消失了, 但是采样速率太慢了无法满足工作需求
最后我用了个偷懒的办法,申请了几十个frame buffer, 问题就消失
离线
cache一致性,都是操作系统相关的,核心就是要处理好因cache提速而所带来的各种副作用,主频越高的芯片,cache显得越重要。本质还是因为DRAM太慢了,还有CACHE太贵了,否则用CACHE当RAM,不是爽得飞起。存内计算,应该就没有DRAM什么事了,每个计算单元旁都有MEM,当然编程模型就得大变样了。冯诺依曼都得爬起来拍大腿。
离线
Why you remove 'volatile' from g2d registers?
离线