新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > FPGA程序遠程在線更新設計

        FPGA程序遠程在線更新設計

        作者: 時間:2013-02-18 來源:網絡 收藏

        4 合并文件

        Nios II的啟動要經歷兩個過程:

        器件本身的配置過程。如果內部邏輯中使用了Nios II,則配置完成的中包含有Nios II軟核CPU。

        ② Nios II本身的應用過程。一旦配置成功后,Nios II就被邏輯中的復位電路復位,從reset地址開始執行代碼。

        Nios II IDE將FPGA的配置文件(.sof文件)和應用(.elf文件)轉成flash格式文件,轉換后的flash格式文件是一種SRecord格式數據,包含如下區域:

        [6]。各字段的意思分別如下:表示記錄的類型;表示數據的長度;

        表示數據寫入的起始地址,該字段的長度取決于的取值;表示存儲的數據;表示校驗位。

        配置文件和應用可能有多個段,每個段前面都插有一個“程序記錄”。一個“程序記錄”由2個32位的數據構成,一個是32位的整數,另一個是32位的地址,分別表示程序段本身的長度和程序段的運行時地址。其存儲布局如圖3所示。

        圖3 Flash文件存儲布局

        為了在更新程序時把FPGA配置文件和Nios II應用程序一起更新,把FPGA配置文件和Nios II應用程序合并成一個文件,并且把合并后的Flash格式的文件轉換成不需要地址解碼就能直接執行的二進制BIN文件。具體處理流程如圖4所示。

        圖4 合并程序文件流程

        在合并程序的過程中,去掉了flash文件中的長度、目的地址等用于解析程序的信息,并且把程序映像由字符格式轉換為二進制格式。合并后的BIN文件包含FPGA配置文件和Nios II應用程序,并且Nios II應用程序緊挨在FPGA配置文件的后面,其存儲布局如圖5所示。

        程序文件第n個程序段映像

        Len1~Len1+L2程序文件第1個程序段映像

        配置文件第n個程序段映像

        0~L1配置文件第1個程序段映像

        圖5 BIN文件存儲布局



        關鍵詞: FPGA 程序 遠程

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 孟连| 宣威市| 长治县| 克东县| 古交市| 微山县| 子长县| 仁怀市| 武穴市| 福鼎市| 建德市| 五峰| 古蔺县| 邹平县| 通化县| 嵩明县| 祁东县| 衡山县| 隆化县| 驻马店市| 宿迁市| 澄城县| 武川县| 原阳县| 汉源县| 垣曲县| 芜湖县| 金昌市| 奎屯市| 厦门市| 井冈山市| 丘北县| 晋宁县| 尼玛县| 松潘县| 左贡县| 广水市| 浮梁县| 武强县| 福海县| 松潘县|