|
本帖最后由 kay54068 于 2010-4-16 00:33 编辑
回复 32# jeff
謝謝大大的回覆,我還是不知道該解決之前所說的問題,目前的Arbitration(30,30,60)-100MZ(在sopc builder中加的pll)。
1.第一次只在y=10,的地方畫一條白線,顯示有問題
for(j=0;j<640;j++)
{ frame_buffer2[10*640+j]=0xffffffff; }
2.之後在x=100,y=100的地方顯示ascii字串,白線有顯示出來但字串顯示不完整
for(j=0;j<640;j++)
{ frame_buffer2[10*640+j]=0xffffffff; }
drawString("ABCDEFGHIJKLMNOPQRSTUVWXYZ",100,100);
原始圖
字串部分放大圖
SOPC Builder 設置
軟體主程式
//dma addr
IOWR(VGA_IF_0_BASE,4,0x00800820);
//maxAddr
maxaddr=(640*480-128)*4;
IOWR(VGA_IF_0_BASE,7,maxaddr);
IOWR(VGA_IF_0_BASE,1,&frame_buffer);
//writeAddress
IOWR(VGA_IF_0_BASE,2,0x00800818);
//length
length=128*4;
IOWR(VGA_IF_0_BASE,3,length);
//master start
IOWR(VGA_IF_0_BASE,0,0x0001);
//dma addr
IOWR(LTM_IF_BASE,4,0x00000080);
//clear screen
memset(frame_buffer,0x0,sizeof(frame_buffer));
for(j=0;j<640;j++)
{ frame_buffer2[10*640+j]=0xffffffff;
}
drawString("ABCDEFGHIJKLMNOPQRSTUVWXYZ",100,100);
開發環境:Quartus II 9.0 (32-Bit)、Nios II 9.0 IDE |
|