新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 淺析嵌入式存儲系統設計方法

        淺析嵌入式存儲系統設計方法

        作者: 時間:2010-01-21 來源:網絡 收藏

        為此,將公共代碼段中的程序單獨編譯,并且在鏈接、定位目標代碼時,給操作和公共庫函數的每個函數在0x0000~0x7FFFH內分別指定一個固定的首地址。鑒于用戶程序可能調用這些函數,需要為這些函數分別編寫一個相同類型的同名偽函數,每個偽函數僅包含一條到真實函數(入口地址已知)的轉移指令,所有這些函數都存放在一個被稱為虛擬接口的頭文件中。虛擬接口文件與用戶程序一起編譯,完成用戶程序與操作兩次編譯的接口。顯然這種僅占用了用戶區的極少量代碼空間,而絲毫沒有浪費用戶數據區,同時又實現了地址復用。

        公共代碼段和操作的數據區特殊的對應關系(見圖4),很容易通過P2端口線來指定。由單片機外部程序區訪問時序(圖 5)可知,PSEN的上升沿后數據總線A0~A7上開始出現指令或指令操作數,此時的地址線A15指示當前訪問的是公共代碼段(對應數據區高64k)還是其他程序段(對應數據區低64k),因此在PSEN上升沿鎖存地址線A15,用它可以選擇不同的數據器空間。

        3 系統的性能分析

        本文基于虛擬系統思想實現了存儲系統中大容量存儲器的擴展。不難看出系統的擴展余地受端口線的限制。由于在同一塊芯片中構造圖2所示的結構,需要多使用一根端口線,因此對于8051系列使用整個P1口可以將系統的程序虛擬空間擴展至8M字節。數據存儲區擴展的最大容量還與程序在編譯時所被分成塊的數目有關,最大可達16M字節,這在單片機存儲系統中已經是足夠大了。

        程序在調用不同頁面的函數時需要額外的軟件切換周期,頻繁的頁面切換會降低系統的性能,因此編譯時應仔細選擇函數,盡可能將相關的函數分配在同一頁中。

        數據存儲區切換是由硬件實現的,頁面切換并不降低系統性能。由于操作系統與用戶程序數據區相互獨立,對用戶來說整個64k空間都是可用的,這就增加了操作系統的透明性。

        4結論

        存儲系統由于它的專用性和特殊性,系統的軟硬件都與傳統的計算機系統有所不同。但進行嵌入式系統時仍然很有必要借鑒傳統計算機系統體系結構成熟的設計,“量體裁衣”為我所用。作者在進行嵌入式存儲系統平臺設計時借鑒了傳統計算機虛擬存儲思想來擴展存儲系統,并在實際項目中得以應用,證明這種方法是非常有效的。

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

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 开鲁县| 彭州市| 师宗县| 平湖市| 德阳市| 东乌| 太白县| 宁夏| 赤壁市| 蒲江县| 老河口市| 常宁市| 南充市| 抚顺县| 澎湖县| 南召县| 平泉县| 博白县| 台北县| 黄山市| 壤塘县| 南汇区| 郑州市| 太谷县| 五原县| 南京市| 崇明县| 南乐县| 民县| 城口县| 潮安县| 韶山市| 伊川县| 西充县| 宝丰县| 梅河口市| 永春县| 新巴尔虎左旗| 鄂州市| 信阳市| 卓资县|