发表于2010-3-8 20:24
显示全部楼层
此帖出自嵌入式系统论坛
最新回复
我的问题也搞定了。
手册写的寄存器配置不全!后来参考wince的驱动写的,现在可以实现bitblt的透明功能。800*600的时间大约是5~6ms
当时配置寄存器错误的几个地方如下:
1、DST_BASE_ADDR和SRC_BASE_ADDR要设置物理地址。不能是内核的虚拟地址或者应用程序中的地址。对于FB,要使用 dma_alloc_writecombine 第三个参数返回的物理地址 fbi->fix.smem_start。
2、在手册里bitblt没说要设置 clip 的寄存器,但是clip不设是不行的,感觉是使用默认值的0话就把图像全部剪掉了!我直接设为屏幕的分辨率了。
3、使用透明模式要设置的是 BS_COLOR,而不是BG_COLOR。开始我还以为是代码写错了。后来试了一下,感觉是手册写错了。Blue Screen Mode咋设置我就没有试了。
4、使用2D的画线和画点功能,也要设置DST_BASE_ADDR和clip的!手册里面都没说!
5、设置COORDn_X_REG+COORDn_Y_REG和设置COORDn_REG好像是一样的,都能跑。
代码详见 http://blog.chinaunix.net/u3/111323/showart.php?id=2200014
详情
回复
发表于 2010-3-26 10:05
| ||
|
||
发表于2010-3-9 09:08
显示全部楼层
| |
|
|
发表于2010-3-9 09:21
显示全部楼层
| |
|
|
发表于2010-3-9 21:35
显示全部楼层
| |
|
|
发表于2010-3-17 14:19
显示全部楼层
此帖出自嵌入式系统论坛
| ||
|
||
发表于2010-3-20 13:24
显示全部楼层
此帖出自嵌入式系统论坛
| ||
|
||
发表于2010-3-26 10:05
显示全部楼层
此帖出自嵌入式系统论坛
| ||
|
||
EEWorld Datasheet 技术支持