您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> ADSP_EDU_BF53X的bf53x_tft480_272程序中的... 
本帖共有364个阅读者
发表帖子 发表投票 回复主题
ADSP_EDU_BF53X的bf53x_tft480_272程序中的DisplayBuffer_565[272][1440]问题
qscwsxesz(论坛新手)
qscwsxesz
头衔:社区公民
帮派:无帮无派
帖数:11
金钱:222
积分:20
注册时间:2014/2/27
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
ADSP_EDU_BF53X的bf53x_tft480_272程序中的DisplayBuffer_565[272][1440]问题

程序中初始DMA部分程序如下:

section("sdram0_bank1") unsigned char DisplayBuffer[272][1440] ;
section("sdram0_bank1") unsigned char DisplayBuffer_565[272][1440] ;
section("sdram0_bank1") unsigned char TempBuffer_img[272][1440] ;
section("sdram0_bank1") unsigned char Inputdata[391734];
void InitDMA(void)
{
int addr;
addr = &DisplayBuffer_565;
addr -= 1920;
*pDMA0_START_ADDR = addr;
*pDMA0_X_COUNT = 480; //内循环数:480
*pDMA0_X_MODIFY = 2; //内增量数:2
*pDMA0_Y_COUNT = 286; //外循环数:286
*pDMA0_Y_MODIFY = 2; //外增量数:2
*pDMA0_CONFIG = 0x1034; //16Bits,2D,读内存,不开中断
}

所以DMA送出第一行的数据如下:
DisplayBuffer_565[0][0]、DisplayBuffer_565[0][2]、………、DisplayBuffer_565[0][958]
DMA送出第二行的资料如下:
DisplayBuffer_565[0][960]、DisplayBuffer_565[0][962]、…………..
想请教的是,第二行的数据并不是从DisplayBuffer_565[1][0]开始,这样不是有问题吗?谢谢!!


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2014/3/13 12:05:58
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
内存中的数据存储是连续的,并非按buffer定义的行和列排列,你看一下RGB888转RGB565的代码,在转换时,RGB565是连续排列在内存中的,并非
[1][0] 就是图像的第二行第一个数据。存储图像的buffer只是随机定义了一个不小于图像尺寸的buffer。

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2014/3/13 22:25:00
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159184 Call, 1 Queries, Processed in 0.015625 second(s),