yangfenyan 2014年02月08日
24BPP bootloader读取NAND中LOGO,图像杂乱
BOOTLOADER 中 从 NANDFLASH 读取LOGO RGB888的纯数据,显示,下面代码可有问题?我死活看不出问题了,但是图像显示完全是乱的。
LOGO存放在第10个BLOCK,每个BLOCK 32个page
图片大小 320*240*3

(LCD中显示RGB三条RGB色块无问题)后
LcdAddrPointer=(U32*)IMAGE_FRAMEBUFFER_DMA_BASE;
//logoBuffer = IMAGE_FRAMEBUFFER_DMA_BASE;


dwSector =10<<5;
dwLength = 450;

while (dwLength)
{

if(!NF_ReadSector(dwSector, (unsigned char*)Buf512))
{
//Uart_SendString("\nBAD! : ");
//Uart_SendDWORD((DWORD)dwSector);
}

for(i=0;i<512;i=i+3)
{
*LcdAddrPointer++=(t32_0=Buf512[i])|((t32_1=Buf512[i+1])<<8)|((t32_2=Buf512[i+2])<<16);
}
temp1=Buf512[510];
temp2=Buf512[511];

if(!NF_ReadSector(dwSector, (unsigned char*)Buf512))
{
//Uart_SendString("\nBAD! : ");
//Uart_SendDWORD((DWORD)dwSector);
}
temp0=Buf512[0];
*LcdAddrPointer++=temp1|(temp2<<8)|(temp0<<16);
for(i=0;i<512;i=i+3)
{
*LcdAddrPointer++=(t32_0=Buf512[i])|((t32_1=Buf512[i+1])<<8)|((t32_2=Buf512[i+2])<<16);
}
temp2=Buf512[511];
if(!NF_ReadSector(dwSector, (unsigned char*)Buf512))
{
//Uart_SendString("\nBAD! : ");
//Uart_SendDWORD((DWORD)dwSector);
}
*LcdAddrPointer++=temp2|((t32_0=Buf512[0])<<8)|((t32_1=Buf512[1])<<16);
for(i=0;i<512;i=i+3)
{
*LcdAddrPointer++=(t32_0=Buf512[i+2])|((t32_1=Buf512[i+3])<<8)|((t32_1=Buf512[i+4])<<16);
}

dwSector=dwSector+3;
dwLength=dwLength-3;
}
...全文
524 点赞 收藏 14
写回复
14 条回复

还没有回复,快来抢沙发~

发动态
发帖子
嵌入开发(WinCE)
创建于2007-09-28

8163

社区成员

4.1w+

社区内容

硬件/嵌入开发 嵌入开发(WinCE)
社区公告
暂无公告