色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

          Zedboard使用評(píng)測(cè)+HDMI顯示與SD讀取

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

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

          本文引用地址:http://cafeforensic.com/article/193059.htm

          因?yàn)橐郧白龅亩际切┯肏DL做過(guò)顯示,比如VGA,以及最近用FPGA做的LVDS屏的顯示。其工作原理的就是講數(shù)據(jù)寫(xiě)入到顯存(DRAM)中,然后再按照行場(chǎng)模式或者是使能DE模式讀出DRAM中的數(shù)據(jù),按照屏的顯示時(shí)序,發(fā)送給屏完成顯示。

          具體的功能框圖如下:

          ZYNQ作為整個(gè)系統(tǒng)的控制核心,提供的顯示數(shù)據(jù),以及時(shí)讀寫(xiě)顯存的控制,以及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);
          }
          說(shuō)明:write_data的數(shù)據(jù)位十六進(jìn)制的RGB數(shù)據(jù)的組合。整個(gè)一幅圖片的RGB值的大小為1920*1080的數(shù)據(jù)。
          因?yàn)榇藭r(shí)沒(méi)有存取數(shù)據(jù)的地方,所以測(cè)試的圖片顯示的時(shí)候,將write_data 設(shè)定為固定值,讓全篇顯示紅色的背景。
          當(dāng)時(shí)的設(shè)想是從SD卡中國(guó)過(guò)數(shù)據(jù),畢竟以前用HDL語(yǔ)言做過(guò)SD的數(shù)據(jù),實(shí)際上就是把他單過(guò)flah來(lái)操作。
          于是在zynq_fsbl/src/下看到了關(guān)于SD卡兩個(gè)文件,sd.c以及sd.h
          在SD.C中看到了能使用的3個(gè)函數(shù),如下:
          1.InitSD(char *filename) 功能是sd中的指定的文件
          2.u32 SDAccess( u32 SourceAddress,u32 DestinationAddress,u32 LengthWords); 功能就是講原地的數(shù)據(jù),復(fù)制一定長(zhǎng)度的數(shù)據(jù)到目的地址。算作讀數(shù)據(jù)。
          3.void ReleaseSD(void); 功能就是算作釋放掉SD卡操作完成。
          于是就想用來(lái)試試看,新建了一個(gè)功能,當(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的文件。記過(guò)一編譯就開(kāi)始缺少文件,然后我就在電腦里找啊找,找了7.8文件的.h
          到目前為止還剩下ff.h下的integer.h還沒(méi)找到。
          我想既然能從SD卡boot啟動(dòng),應(yīng)該可以自己操作SD卡,可是遇到這文件找不到,一切都沒(méi)轍了。上次AET提醒過(guò)14.2容易少靜態(tài)庫(kù),這次編譯的時(shí)候特地選上所有standalone。


          關(guān)鍵詞: Zedboard HDMI 評(píng)測(cè) 讀取

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉