新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 使用嵌入式處理器對可編程邏輯器件重編程

        使用嵌入式處理器對可編程邏輯器件重編程

        作者: 時間:2012-06-05 來源:網絡 收藏

          2.3.1 程序存儲空間(ROM)情況

          所需程序存儲空間為:

        所需程序存儲空間

        Jam Player的大小由以及接口的復雜度決定,Jam文件總的程序存儲空間由JTAG鏈上正在被數量決定。如果JTAG鏈上只有一個,該對應Jam文件的大小即為所需程序存儲空間的大小。Jam文件的大小還取決于目標器件,在壓縮后一般在26K字節到30K字節。假設JTAG鏈中有3個器件,所有3個器件都將要,所需Jam文件存儲空間將為3個Jam文件大小的總和。表1給出了單器件所需要程序存儲空間的情況。

        表1 單器件需要的程序存儲空間

        單器件需要的程序存儲空間

          2.3.2 動態內存(RAM)的情況

          所需RAM 空間為:

        所需RAM 空間

        Jam 文件需要的RAM 空間與ROM 空間大小一樣,在程序存儲空間使用情況里已經討論過了。在Jam Player從ROM 讀出Jam 文件存儲到RAM 之后,Jam Player 對Jam 文件里的壓縮數據解壓并將解壓后的數據存儲到RAM。解壓后的數據占用RAM 空間的大小可以通過Jam 文件里的ACA 變量來得到。每個ACA 變量都在“變量聲明/初始化”部分列出,每個數組的大小由變量聲明方括號里的數值決定。例如:

        公式

        說明解壓后的ACA變量大小為434460比特,也就是大約53K字節。

          符號表的大小由下式給出:

        公式

        一個變量或標記名稱的大小為48字節,JAM_C_MAX_SYMBOL_COUNT在jamdefs.h文件里定義,默認值為1021。實際上大多數Jam文件最多使用400個變量和標記名稱。將JAM_C_MAX_SYMBOL_COUNT修改為400能節省一部分動態內存,

        公式

          相比較Jam Player使用的總RAM空間大小而言堆棧和堆需要很少的RAM,jamdefs.h文件里的JAMC_MAX_NESTING_DEPTH常量定義堆棧的最大深度。表2給出了單器件所需要RAM空間的情況。

        表2 單器件需要的RAM 空間

        單器件需要的RAM 空間

          3 結論

          本文通過軟件、硬件以及內存的使用情況等方面的介紹,詳細描述了一種通過使用Jam與測試語言對ISR器件重編程的新方法,為在產品原型及制造階段對器件重編程提供了參考,具有很強的實用意義。

          本文作者創新點:由于在產品原型及制造階段,單板上的JTAG接口很可能出于產品外形及內部結構設計的考慮已經無法與下載電纜相連接,此時將無法通過下載電纜對器件重編程。而通過串行接口或以太網接口將邏輯器件的更新程序發送到,由處理器對可編程邏輯器件重編程,解決了這個難題。

          參考文獻

          [1] 杜延,劉從越.實時系統軟件測試實踐[J].微計算機信息,2007,4-2:86-88.

          [2] Kamal,Raj.嵌入式系統:體系結構、編程設計[M].清華大學出版社,2005.

          [3] 鄭亞民,董曉舟.可編程邏輯器件開發軟件QuartusII[M].國防工業出版社,2006.

          [4] Stuart,R.Ball.嵌入式微處理器系統設計實例(第三版)[M].電子工業出版社,2004.

          [5] 田澤.嵌入式系統開發與應用[M].北京航空航天大學出版社,2005.

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平南县| 聊城市| 濮阳市| 徐水县| 米林县| 临夏市| 乌兰察布市| 贵州省| 会宁县| 康保县| 林周县| 仁寿县| 潼关县| 肇东市| 陇川县| 大田县| 叶城县| 东乡县| 潼关县| 卓资县| 孝感市| 色达县| 镶黄旗| 建德市| 年辖:市辖区| 电白县| 易门县| 丰原市| 昔阳县| 侯马市| 道真| 景谷| 留坝县| 南充市| 湘阴县| 锡林浩特市| 金溪县| 喀喇沁旗| 区。| 宁陵县| 土默特右旗|