亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種遠(yuǎn)程在線更新FPGA程序的方法

        2012-09-25 02:59:28劉金福武宏偉楊勝姚
        關(guān)鍵詞:程序模塊機(jī)系統(tǒng)配置文件

        劉金福,武宏偉,楊勝姚

        (北京萬集科技股份有限公司,北京 100085)

        1 概 述

        現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)器件具有高密度、低功耗、高速、高可靠性等優(yōu)點,在航空航天、通信、工業(yè)控制等方面得到了大量應(yīng)用。FPGA的處理器分為軟核和硬核,并且軟核處理器具有高度的靈活性和可配置性。

        由于FPGA器件采用的是SRAM工藝,在斷電的情況下FPGA內(nèi)的配置數(shù)據(jù)將丟失,所以需要非易失的存儲器來結(jié)合FPGA完成嵌入式系統(tǒng)的設(shè)計。EPCS(Erasable Programmable Configurable Serial)Flash屬于串行接口Flash,具有接口簡單、體積小、配置方便的特點,通常用來存儲FPGA的配置文件和Nios II的軟件可執(zhí)行代碼。在經(jīng)過合理的配置后,系統(tǒng)在上電后就可以從EPCS Flash中讀取這些文件來啟動整個系統(tǒng)。

        為了能使系統(tǒng)得到更靈活的應(yīng)用,充分發(fā)揮FPGA的靈活性、高效性,F(xiàn)PGA的軟硬件程序都需要方便的更新和升級功能;而當(dāng)形成產(chǎn)品后,通過JTAG和Nios II IDE工具來聯(lián)合完成對EPCS Flash的更新燒寫很不方便。為此,本文結(jié)合Altera公司提供的工具,提出了一種遠(yuǎn)程在線更新FPGA配置文件和Nios II程序文件的方法。

        2 系統(tǒng)硬件結(jié)構(gòu)

        系統(tǒng)硬件結(jié)構(gòu)如圖1所示。系統(tǒng)主要有上位機(jī)系統(tǒng)、FPGA系統(tǒng)、EPCS Flash三個主體部分。上位機(jī)系統(tǒng)提供人機(jī)交互的部分,F(xiàn)PGA系統(tǒng)包括Nios II處理器、EPCS控制器、網(wǎng)絡(luò)及串行接口和其他外部接口,EPCS Flash主要用于存儲FPGA的配置文件和Nios程序映像文件。上位機(jī)系統(tǒng)通過FPGA集成的網(wǎng)絡(luò)及串行接口來完成通信工作。

        圖1 系統(tǒng)硬件結(jié)構(gòu)圖

        FPGA采用Altera公司的Cyclone III系統(tǒng)的EP3C40F484I7N芯片。它具有低功耗、高集成度、易于使用的特性。EPCS Flash采用Altera公司的EPCS16SI16N芯片,它支持多種可配置的時鐘源,最高支持100MHz的外部時鐘源,具有16Mb的存儲空間,足夠滿足一般的FPGA配置文件和Nios程序文件的存儲需要。

        3 更新程序處理流程

        更新FPGA的配置文件和Nios II的應(yīng)用程序的流程如圖2所示。

        圖2 更新程序處理流程

        本方法把由Nios II IDE生成的FPGA配置文件和Nios II程序文件合并,并編程為一個可以直接執(zhí)行的、包含F(xiàn)PGA配置文件和Nios II程序文件的二進(jìn)制BIN文件。然后把該文件通過X-modem協(xié)議由上位機(jī)系統(tǒng)傳輸給Nios II的應(yīng)用程序。Nios II的應(yīng)用程序接收到完整的BIN文件后,把該BIN文件寫入到EPCS Flash中。最后,Nios II的應(yīng)用程序停止看門狗,程序重新啟動,即完成了FPGA的遠(yuǎn)程在線更新程序的過程。

        4 合并程序文件

        Nios II的啟動要經(jīng)歷兩個過程:

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

        ②Nios II本身的應(yīng)用過程。一旦FPGA配置成功后,Nios II就被邏輯中的復(fù)位電路復(fù)位,從reset地址開始執(zhí)行代碼。

        Nios II IDE將FPGA的配置文件(.sof文件)和應(yīng)用程序(.elf文件)轉(zhuǎn)成flash格式文件,轉(zhuǎn)換后的flash格式文件是一種S-Record格式數(shù)據(jù),包含如下區(qū)域:<type><length> <address> <data> <checksum>[6]。各字段的意思分別如下:<type>表示記錄的類型;<length>表示數(shù)據(jù)的長度;<address>表示數(shù)據(jù)寫入的起始地址,該字段的長度取決于<type>的取值;<data>表示存儲的數(shù)據(jù);<checknum>表示校驗位。

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

        圖3 Flash文件存儲布局

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

        圖4 合并程序文件流程

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

        圖5 BIN文件存儲布局

        5 Nios II更新程序模塊處理

        Nios II程序中的更新程序模塊主要負(fù)責(zé)從上位機(jī)接收合并后的可執(zhí)行BIN文件,并把該BIN文件寫入EPCS Flash,處理流程如圖6所示。

        圖6 更新程序模塊處理流程

        5.1 程序文件的傳輸

        Nios II應(yīng)用程序中的更新程序模塊和上位機(jī)系統(tǒng)采用X-modem協(xié)議傳輸程序文件,X-modem協(xié)議是一種網(wǎng)口和串口通信中廣泛用到的異步傳輸協(xié)議。

        如果在程序傳輸過程中出現(xiàn)錯誤,更新程序模塊能夠通過設(shè)置超時來退出更新程序的狀態(tài)。

        5.2 對EPCS Flash的讀寫

        由于EPCS Flash的串行配置器件定義了特殊的讀寫協(xié)議,所以Nios II程序只能通過Altera提供的HAL API(Application Program Interface,應(yīng)用程序接口)來完成讀寫Flash。打開、關(guān)閉Flash設(shè)備的 API為:alt_flash_open_dev()和alt_flash_close_dev()。操作Flash讀寫的 API為:alt_read_flash()和alt_write_flash_block()。清除Flash的 API為alt_erase_falsh_block()。

        結(jié) 語

        本文以提高FPGA遠(yuǎn)程更新程序的方便性為目標(biāo),提出了一種基于EPCS Flash的遠(yuǎn)程在線更新FPGA程序的方法,從而在應(yīng)用中能夠使基于FPGA的產(chǎn)品更加方便地維護(hù)升級。

        [1]蔡偉綱.Nios II軟件架構(gòu)解析[M].西安:西安電子科技大學(xué)出版社,2007.

        [2]楊釗,顏浩洋.基于EPCS Flash配置的Altera SOPC啟動及更新研究[J].中國西部科技,2009(1).

        [3]潘松,黃繼業(yè),曾毓.SOPC技術(shù)實用教程[M].北京:清華出版社,2005.

        [4]李蘭英,等.Nios II嵌入式軟核SOPC設(shè)計原理及應(yīng)用[M].北京航空航天大學(xué)出版社,2006.

        [5]Altera.Cyclone III Device Handbook.

        [6]S-Record格式詳解[OL].(2008-04-25)[2011-10].http://blog.csdn.net/norains/article/details/2326306.

        猜你喜歡
        程序模塊機(jī)系統(tǒng)配置文件
        提示用戶配置文件錯誤 這樣解決
        基于信息檢索的軟件缺陷定位方法綜述*
        搭建簡單的Kubernetes集群
        互不干涉混用Chromium Edge
        手持式觸摸測試機(jī)對閘機(jī)系統(tǒng)的維護(hù)研究
        樂高M(jìn)INDSTORMSEV3軟件程序模塊開發(fā)
        忘記ESXi主機(jī)root密碼怎么辦
        基于Web網(wǎng)絡(luò)的環(huán)境信息通信系統(tǒng)設(shè)計
        ADSP TS201S Link口在多DSP系統(tǒng)中的應(yīng)用
        經(jīng)濟(jì)、可靠的自動開關(guān)機(jī)系統(tǒng)
        WWW拍拍拍| 伊人久久大香线蕉综合网站| 7777精品伊人久久久大香线蕉| 久久精品免视看国产明星 | 亚洲视频在线播放免费视频| 久久一区二区三区少妇人妻| 97久久精品人妻人人搡人人玩| 国产成人精品一区二区视频| 亚洲成a人片在线观看中文!!!| 国产黄片一区二区三区| 射精区-区区三区| 欧美人与动牲交a欧美精品| 日本不卡一区二区高清中文| 婷婷久久亚洲中文字幕| 亚洲熟妇色自偷自拍另类| 男女18禁啪啪无遮挡| 美女熟妇67194免费入口| 日本熟妇中出高潮视频| 亚洲一区二区三区四区五区六| 日本高清一区二区三区水蜜桃| 精品一区二区三区中文字幕在线| 偷拍色图一区二区三区| 国产真实乱对白精彩| 亚洲 成人 无码 在线观看| 日本免费a一区二区三区| 久久天天躁夜夜躁狠狠85麻豆| 日韩在线一区二区三区免费视频| 巨乳av夹蜜桃站台蜜桃机成人| 一区二区三区在线观看人妖| av国产传媒精品免费| 日韩精品大片在线观看| 日本骚色老妇视频网站| 国产三级精品视频2021| 国产丝袜无码一区二区三区视频 | 越南女子杂交内射bbwbbw| 亚洲无码图| 国内自拍偷国视频系列| 蜜桃视频无码区在线观看| 亚洲AV无码一区二区二三区我| 国产av一区二区三区天美| 无码一区二区三区中文字幕|