91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

microblaze之Video Processing Subsystem調(diào)試誤區(qū)

Hack電子 ? 來源:CSDN技術(shù)社區(qū) ? 作者:古樓望月 ? 2022-10-31 13:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

內(nèi)容:總結(jié)video processing subsystem調(diào)試中遇到的問題,以及在解決問題中的思路方法論,引為前車之鑒。

1,我的目的是希望采用vps中的scaler模塊對(duì)圖像進(jìn)行拉伸縮小。IP的配置如下:

58fe184c-58d9-11ed-a3b6-dac502259ad0.png

2,整個(gè)系統(tǒng)的框架圖如下,僅比上期的內(nèi)容增加了scaler模塊,如下:

59212cec-58d9-11ed-a3b6-dac502259ad0.png

3,查手冊(cè),可以知道這個(gè)scaler only組件分成了hscale,vscale和GPIO,其中GPIO是控制上下游stream流控設(shè)備復(fù)位用,暫時(shí)忽略。hscale和vscale的寄存器空間如下,主要關(guān)注圖像的大小,以及縮放比率:

593c2006-58d9-11ed-a3b6-dac502259ad0.png

4,vivado中的工程綜合完畢之后,進(jìn)入SDK之中,可以看到xv_hscale.h和xv_vscale.h,文件內(nèi)部包含了控制這個(gè)scale模塊的函數(shù)。雖然使用的是scaler only模式,但是系統(tǒng)自動(dòng)生成了所有的IP文件,例如deinterlace,csc等,因?yàn)檫@里指需要使用scale,因此直接操控xv_hscale和xv_vscale或許更簡(jiǎn)單。

596ade50-58d9-11ed-a3b6-dac502259ad0.png

5,在SDK內(nèi)部編寫控制代碼,下載之后輸出沒有圖像,添加打印之后發(fā)現(xiàn)hscale初始化失敗,而vscale初始化成功,對(duì)比了hscale和vscale的驅(qū)動(dòng)代碼后,發(fā)現(xiàn)是完全一致的,于是沒有明白原因何在,如下:

5989c7c0-58d9-11ed-a3b6-dac502259ad0.png

6,在SDK中采用debug單步調(diào)試,于是發(fā)現(xiàn)了問題所在,原來hscale傳遞的基地址參數(shù)為0x00,這是一個(gè)非法的地址。但是想一想就知道這是系統(tǒng)自動(dòng)生成的驅(qū)動(dòng)文件,不應(yīng)該出現(xiàn)這種低級(jí)的錯(cuò)誤才對(duì)。于是去查看系統(tǒng)設(shè)備描述文件xparameters.h,發(fā)現(xiàn)hscale的地址確實(shí)是0x000000,vscale的地址是0x20000,而vps的基地是0x44A40000。

59ae93ca-58d9-11ed-a3b6-dac502259ad0.png

7,后面懷疑過自己的工程創(chuàng)建是否有誤,以及創(chuàng)建IP過程中可否允許編輯起始地址,但結(jié)果根本無法編輯,工程也確認(rèn)無誤。后來想到應(yīng)該是hscale和vscale的基地址僅僅是整個(gè)IP的偏移地址而已,在初始化的時(shí)候應(yīng)該加上IP的首地址,于是做如下更改,并設(shè)置好圖像的寬高,但是line ratepixel rate卻不知道填寫多少,寫一個(gè)45和74吧,因?yàn)槲业膱D像是720P60,水平同比是45Khz,像素時(shí)鐘是74.25,結(jié)果當(dāng)然還是沒有圖像輸出,原因是這個(gè)兩個(gè)值是錯(cuò)誤的。同時(shí)把寄存器讀出來之后可以知道所有的數(shù)據(jù)是配置了的,那么原因就是某些數(shù)據(jù)是錯(cuò)誤的。

59c7c00c-58d9-11ed-a3b6-dac502259ad0.png

8,想到上次調(diào)試TPG模塊的時(shí)候,圖像的寬度需要除以2,進(jìn)而也嘗試之后仍然不對(duì)。于是去xilinx論壇社區(qū)找一下有無相同的問題。搜索vpss scaler后瀏覽,發(fā)現(xiàn)有人在gitup里面上傳有scale的代碼,于是點(diǎn)擊后大致瀏覽一遍,發(fā)現(xiàn)了line rate和pixel rate 的計(jì)算公式:

5a070f32-58d9-11ed-a3b6-dac502259ad0.png

9,有這個(gè)發(fā)現(xiàn)之后,因?yàn)槲业妮斎牒洼敵龅膶挾群透叨仁且粯拥模虼薼ine rate 和pixel rate應(yīng)該設(shè)置為65536?,F(xiàn)在終于知道了這兩個(gè)參數(shù)指的意思分別是縱向和橫向的縮放比率。

5aa87f84-58d9-11ed-a3b6-dac502259ad0.png

10,原本以為可以出圖了,實(shí)際上還是沒有出圖,讓人沒想到的是程序只要執(zhí)行scaler_set_HwReg的任何函數(shù),程序立馬就跑飛了。然后重新燒錄bit文件,重新運(yùn)行elf文件,還是一樣的結(jié)果。這個(gè)時(shí)候我把Block design中的debug信號(hào)全部去掉,同時(shí)把AXI系統(tǒng)時(shí)鐘由150M改為100M,最終的結(jié)果還是會(huì)跑飛。這時(shí)候我想軟件上面沒有改動(dòng)的余地了,于是想知道VPS這個(gè)IP的AXI總線是處于什么狀態(tài),當(dāng)我執(zhí)行這些函數(shù)的時(shí)候。于是僅把AXI總線信號(hào)加入debug模塊,觸發(fā)運(yùn)行后得到如下的結(jié)果,情況是VPS沒有應(yīng)答,因此CPU直接掛掉了。

5acfe7fe-58d9-11ed-a3b6-dac502259ad0.png

11,這個(gè)時(shí)候差點(diǎn)快絕望了,于是放棄直接控制h_scale和v_scale的方式,改用控制最上層的vps,誰知道xilinx需要做什么騷操作。首先看一下xvprocss.h文件信息,里面定義各種操作的函數(shù),初始化函數(shù)中依據(jù)所定義的子IP,SetSubsystemConfig函數(shù)有選擇性的進(jìn)行配置。

5b0c555e-58d9-11ed-a3b6-dac502259ad0.png

12,然后仔細(xì)的看了一遍函數(shù)中的數(shù)據(jù)結(jié)構(gòu)定義,于是重新編寫了控制程序,這時(shí)候想應(yīng)該有圖輸出了吧,然而還是沒有圖輸出。并且把里面的寄存器讀出來之后,發(fā)現(xiàn)除了最開始0x00寄存器空間之外,其他數(shù)據(jù)全部是0,確實(shí)很意外。

5b4d4d48-58d9-11ed-a3b6-dac502259ad0.png

13,到了這個(gè)時(shí)候,確實(shí)沒有招了,于是來回的改來改去,無意中多注釋了兩行代碼,結(jié)果出圖了,同時(shí)監(jiān)控AXI總線上的數(shù)據(jù),也有應(yīng)答了。原來是我在配置完成之后,又把這個(gè)IP軟復(fù)位了。因此其余的數(shù)據(jù)全部變成了0。印證了陸游的那句話,山窮水復(fù)疑無路,柳暗花明又一村。

5b828968-58d9-11ed-a3b6-dac502259ad0.png

5c06126a-58d9-11ed-a3b6-dac502259ad0.png

總結(jié):

1,通過調(diào)試這個(gè)IP,對(duì)于軟件編程有了更進(jìn)一步的了解;

2,其實(shí)直接控制h_scale和v_scale應(yīng)該可以達(dá)到同樣的功能,只不過這個(gè)IP需要有特殊的配置順序,以及各種復(fù)位邏輯,任何的差池都會(huì)導(dǎo)致沒有圖像輸出;

3,目前還沒有深入了解這個(gè)IP的控制流程,還需要深入底層去看實(shí)現(xiàn)的細(xì)節(jié)部分,比如實(shí)現(xiàn)deinterlace等其他功能。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Video
    +關(guān)注

    關(guān)注

    0

    文章

    197

    瀏覽量

    46541
  • MicroBlaze
    +關(guān)注

    關(guān)注

    3

    文章

    68

    瀏覽量

    22305
  • Subsystem
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    6880

原文標(biāo)題:microblaze之Video Processing Subsystem調(diào)試誤區(qū)

文章出處:【微信號(hào):Hack電子,微信公眾號(hào):Hack電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    MicroBlaze串口設(shè)計(jì)

    本系統(tǒng)中,Basys3的MicroBlaze模塊調(diào)用基于AXI協(xié)議的UART IP核,通過AXI總線實(shí)現(xiàn)MicroBlaze-UART之間的通信,完成串口打印。
    發(fā)表于 08-02 09:32 ?2530次閱讀
    <b class='flag-5'>MicroBlaze</b>串口設(shè)計(jì)

    Video Processing Using FPGAs in Video Surveillance Systems

    Video Processing Using FPGAs in Video Surveillance SystemsVideo surveillance systems are a key
    發(fā)表于 08-08 12:32

    ATSC Standard:AVC Video Transport Subsystem Characteristics

    ATSC Standard:AVC Video Transport Subsystem CharacteristicsIn issuing this standard, the ATSC
    發(fā)表于 10-16 08:36

    如何理解DM8148的HD Video Coprocessor Subsystem和Media Controller Subsystem中的HDVICP2

    和HDVICP2.。在1.4節(jié)又提到了HD Video Coprocessor Subsystem,簡(jiǎn)稱也是HDVICP2。請(qǐng)問這兩個(gè)有什么不同?非常感謝
    發(fā)表于 05-28 11:17

    怎么遠(yuǎn)程調(diào)試microblaze軟件

    嗨,我已經(jīng)在Xiphos上問了這個(gè)問題,但得到了負(fù)面的反饋。我正在嘗試在嵌入式系統(tǒng)上安裝gdb服務(wù)器來遠(yuǎn)程調(diào)試microblaze-gcc編譯的應(yīng)用程序。我使用gcc編譯器在本地主機(jī)上進(jìn)行了遠(yuǎn)程調(diào)試
    發(fā)表于 02-27 09:46

    調(diào)試Microblaze應(yīng)用程序出現(xiàn)處理器無法停止的錯(cuò)誤

    嗨,大家好,我正在嘗試調(diào)試我的Microblaze應(yīng)用程序,但是當(dāng)我啟動(dòng)它并且讓時(shí)間過去時(shí)它會(huì)停止在XMD控制臺(tái)中顯示此消息:處理器無法停止錯(cuò)誤:MicroBlaze未被計(jì)時(shí)。檢查
    發(fā)表于 07-17 14:18

    SDK 16.2無法調(diào)試Microblaze

    我正在使用SDK 16.2調(diào)試微問題。最初,Vivado 16.2沒有推出SDK 16.2,但是當(dāng)我手動(dòng)啟動(dòng)它時(shí),它無法調(diào)試microblaze。我嘗試使用SDK 15.4&amp; Vivado 15.4和一切都工作得很好。
    發(fā)表于 09-27 09:49

    TMS320DM335 pdf datasheet(數(shù)字媒體

    for display applications that do not require video compression and decompression. Coupled with a video processing
    發(fā)表于 08-05 10:25 ?19次下載

    VIDEO PROCESSING FOR DLPTM DIS

    VIDEO PROCESSING FOR DLPTM DISPLAY SYSTEMS:Texas Instruments’ Digital Light ProcessingTM (DLPTM
    發(fā)表于 10-01 16:56 ?17次下載

    Video and Image Processing Up

    The Altera® video and image processing up conversion example designdemonstrates up conversion
    發(fā)表于 11-24 11:12 ?11次下載

    TMS320DM335-216,pdf(Digital Me

    for display applications that do not require video compression and decompression. Coupled with a video processing
    發(fā)表于 12-01 23:42 ?45次下載

    TMS320DM335-135,pdf(Digital Me

    for display applications that do not require video compression and decompression. Coupled with a video processing
    發(fā)表于 12-01 23:46 ?18次下載

    HDMI_1.4_2.0_RX_Subsystem_IP介紹和基礎(chǔ)debug建議

    Xilinx HDMI 1.4/2.0 RX的解決方案是由HDMI 1.4/2.0 Receiver Subsystem IP作為MAC和Video PHY Controller IP作為PHY組成,在板上,由外部電阻來實(shí)現(xiàn)TMDS level shifter,還有TMD
    的頭像 發(fā)表于 03-25 09:13 ?5621次閱讀

    Video Processing subsystem例程分析

    連接設(shè)備:v_proc_ss_0---m_axi_mm(接收video_processing_subsystem master端口傳過來的 數(shù)據(jù))時(shí)鐘來源:mig_7series_0---ui_clk/ACLK
    的頭像 發(fā)表于 10-28 14:30 ?3124次閱讀

    Video Processing Subsystem與HDMI示例設(shè)計(jì)

    在撰寫本文時(shí),HDMI Transmitter Subsystem IP 核與 Video Processing Subsystem IP 核均有多個(gè)示例設(shè)計(jì)可供使用,但并沒有演示將兩
    的頭像 發(fā)表于 11-07 10:35 ?712次閱讀
    <b class='flag-5'>Video</b> <b class='flag-5'>Processing</b> <b class='flag-5'>Subsystem</b>與HDMI示例設(shè)計(jì)