新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > Zedboard使用評測+HDMI顯示與SD讀取

Zedboard使用評測+HDMI顯示與SD讀取

作者: 時間:2012-10-17 來源:網(wǎng)絡(luò) 收藏

上次搭好了硬件平臺,后面立馬開始了軟件方面的調(diào)試。

本文引用地址:http://m.butianyuan.cn/article/193059.htm

因為以前做的都是些用HDL做過顯示,比如VGA,以及最近用FPGA做的LVDS屏的顯示。其工作原理的就是講數(shù)據(jù)寫入到顯存(DRAM)中,然后再按照行場模式或者是使能DE模式讀出DRAM中的數(shù)據(jù),按照屏的顯示時序,發(fā)送給屏完成顯示。

具體的功能框圖如下:

ZYNQ作為整個系統(tǒng)的控制核心,提供的顯示數(shù)據(jù),以及時讀寫顯存的控制,以及DDC的數(shù)據(jù)產(chǎn)生。PL部分主要是ADV7511的控制,還有將24bit的RGB數(shù)據(jù)轉(zhuǎn)換為16bit的YCBCR422的數(shù)據(jù)發(fā)送給ADV7511

EDK中的數(shù)據(jù)到顯存的函數(shù)如下:

#define img_length 2073600 //1920*1080

void ddr_video_wr(u32 write_addr){

u32 n;
u32 dcnt;
dcnt = 0;
xil_printf(DDR write start:nr);
for (n=0; n img_length; n++){
Xil_Out32((write_addr+(dcnt*4)),write_data); //RGB
dcnt = dcnt + 1;
}
Xil_DCacheFlush();
xil_printf(DDR write: completed (total %d)nr, dcnt);
}
說明:write_data的數(shù)據(jù)位十六進(jìn)制的RGB數(shù)據(jù)的組合。整個一幅圖片的RGB值的大小為1920*1080的數(shù)據(jù)。
因為此時沒有存取數(shù)據(jù)的地方,所以測試的圖片顯示的時候,將write_data 設(shè)定為固定值,讓全篇顯示紅色的背景。
當(dāng)時的設(shè)想是從SD卡中國過數(shù)據(jù),畢竟以前用HDL語言做過SD的數(shù)據(jù),實際上就是把他單過flah來操作。
于是在zynq_fsbl/src/下看到了關(guān)于SD卡兩個文件,sd.c以及sd.h
在SD.C中看到了能使用的3個函數(shù),如下:
1.InitSD(char *filename) 功能是sd中的指定的文件
2.u32 SDAccess( u32 SourceAddress,u32 DestinationAddress,u32 LengthWords); 功能就是講原地的數(shù)據(jù),復(fù)制一定長度的數(shù)據(jù)到目的地址。算作讀數(shù)據(jù)。
3.void ReleaseSD(void); 功能就是算作釋放掉SD卡操作完成。
于是就想用來試試看,新建了一個功能,當(dāng)然還是用14.2.
程序如下:
#include stdio.h>
#include platform.h
#include sd.h
#include xbasic_types.h
void xil_printf( const char *ctrl1, ...);
int main(){
u32 data;
init_platform();
InitSD(“123.bin”);
xil_printf(@@read 123.bin success!@@@);
cleanup_platform();
return(0);
};
功能就是讀取SD卡文件中的123.bin的文件。記過一編譯就開始缺少文件,然后我就在電腦里找啊找,找了7.8文件的.h
到目前為止還剩下ff.h下的integer.h還沒找到。
我想既然能從SD卡boot啟動,應(yīng)該可以自己操作SD卡,可是遇到這文件找不到,一切都沒轍了。上次AET提醒過14.2容易少靜態(tài)庫,這次編譯的時候特地選上所有standalone。


關(guān)鍵詞: Zedboard HDMI 評測 讀取

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉