• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > Board從入門到精通(五):軟硬件協同設計

    Board從入門到精通(五):軟硬件協同設計

    作者: 時間:2017-10-11 來源:網絡 收藏

    最大的優勢在于,同時具備軟件、硬件、IO可編程,即All Programmable。在設計過程中,同樣要建立一種意識,就是從原來單純的軟件思維(或單純的硬件思維)中解脫,轉向軟硬件協同設計的開發方法。

    本文引用地址:http://www.czjhyjcfj.com/article/201710/365599.htm

    軟件設計,即基于ARM的軟件開發,我們第三節里面已經做過例子了,基本就是通過某一硬件地址映射寄存器與相應的硬件進行交互,這類硬件包括ARM外設如GPIO,EMIO,SPI,TImer等,也包括掛載到AXI總線上的PL。除此之外,軟件還要處理好諸如操作系統、網絡等高層任務。

    硬件設計,即基于的邏輯開發,主要通過實例化一些現成的IP,利用狀態機實現自身邏輯功能,然后實現AXI接口與ARM進行通信。

    將軟硬件結合進行設計,需要AXI總線。我們反復強調了AXI的重要性,可以說它決定了軟硬件協同設計的成敗。

    關于的網絡教程也有很多了,像懶兔子的 ,筆者初學Zynq時是按照他的教程一步步做實驗的。本教程不會重復這些步驟,而是幫助初學者建立一個框架,剩下的就是自己通過查文檔、做實驗去填充這些具體內容。

    我們大體劃分一下Zynq開發的框架:
    首先是需求分析,確定要做什么;之后將任務進行細分,一般可以看哪些適合在上實現,單獨提出;剩下的則用PS。接著選擇通信接口,物理鏈路選擇GP或HP或ACP,協議選AXI-Lite,AXI-FIFO或AXI-Stream。劃分完畢,則邏輯工程師與ARM工程師從這里分道揚鑣,按照各自任務進行實現。

    邏輯工程師需要集中精力做IP設計,將功能集成到一個用戶IP中,并留出通信接口與AXI通信。

    ARM工程師則根據需求建立ARM裸機軟件工程或基于嵌入式Linux的工程,前者開發周期較短,后者功能較強但需要為Linux做很多準備工作(引導,內核,文件系統,驅動,圖形界面開發等)。雖然基于嵌入式Linux的開發看上去很“酷”,但我們要把握好分寸,能用裸機實現的堅決不用操作系統,否則只會勞民傷財。

    各自開發工作完成后,進入聯調,ARM通過讀寫PL映射寄存器來查看相應功能是否正常,如果不正常則需要返工修改,反復測試,直到解決問題為止。



    關鍵詞: Board Zynq FPGA

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 南开区| 获嘉县| 中超| 佛教| 西藏| 叙永县| 铜陵市| 奇台县| 山东省| 澎湖县| 盐池县| 武胜县| 美姑县| 宜州市| 宜城市| 临清市| 道孚县| 安乡县| 开鲁县| 潼关县| 闻喜县| 潜江市| 晋州市| 太原市| 临朐县| 尼木县| 砀山县| 炎陵县| 余干县| 阳新县| 丰顺县| 南陵县| 东丽区| 丹寨县| 思南县| 高尔夫| 台东县| 长阳| 柳林县| 长丰县| 班玛县|