《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 單片機嵌入式存儲系統程序存儲區擴展
單片機嵌入式存儲系統程序存儲區擴展
摘要: 嵌入式存儲系統由于它的專用性和特殊性,系統的軟硬件設計都與傳統的計算機系統設計方法有所不同。但進行嵌入式系統設計時仍然很有必要借鑒傳統計算機系統體系結構成熟的設計方法,“量體裁衣”為我所用。作者在進行嵌入式存儲系統平臺設計時借鑒了傳統計算機虛擬存儲思想來擴展存儲系統,并在實際項目中得以應用,證明這種方法是非常有效的。
Abstract:
Key words :

編輯導讀:工程結果:遙控|嵌入式系統開發面臨的問題與集成開發環境的應用|解決優先級倒置問題的RTOS優先級調度策略|嵌入式系統與普適計算|淺談Real-Time Linux|ARM發布用于嵌入式系統的新產品|基于2.6.19內核的小型Linux系統制作與移植|如何監控和保護Linux下進程安全|嵌入式數控系統體系結構研究|嵌入式系統設計方法的演化|
正文:

 

 嵌入式存儲系統由嵌入式硬件和固化在硬件平臺中的嵌入式存儲系統軟件組成。傳統的小規模嵌入式存儲系統,軟件多采用前后臺的方法,通常應用于實時性要求不高的簡單場合;對于復雜的應用場合,較為普遍的做法是給系統配上嵌入式存儲系統實時操作系統(RTOS),這樣不僅能夠使系統具有良好的實時性能,降低軟件編制的工作量,還可以提高整個系統的穩定性。此外,為了簡化用戶程序,系統通常要提供一些必要的庫函數供用戶調用。同前后臺系統相比,這種實時嵌入式系統增加了系統存儲空間的開銷。Intel 8051系列及各種兼容的單片機因其極高的性價比、豐富的庫函數和長期的技術積累等背景而被廣泛應用于各種嵌入式領域中。受傳統單片機尋址空間的限制,嵌入式應用中經常需要進行存儲空間擴展。本文借鑒傳統計算機系統設計中的虛擬存儲技術,以8051單片機為例提出一種采用頁面分組和虛擬接口技術擴展存儲空間的方法。本方法與Keil C編譯器具有良好的兼容性。

  2 存儲系統的組織

  2.1 虛擬存儲系統

  計算機系統中常采用虛擬存儲技術來擴展存儲系統容量,頁式虛擬存儲器是常用的一種組織方法。在這種方法下,整個虛擬地址空間和主存空間均被分成容量相等的若干頁,地址變換機構(通常是一個快速地址變換表)建立了虛擬空間到主存空間虛頁到實頁的映射。頁式存儲器組織關系如圖1。

頁式存儲器組織關系

  虛擬存儲系統利用計算機CPU中的一組寄存器堆作為頁表基址寄存器,如圖1(b)所示,它與頁表一起給出用戶程序地址。實際計算機系統的頁式虛擬存儲要比這復雜得多,還需考慮未命中時的外部地址變換以及頁面替換算法,然而在嵌入式存儲系統中這些都可以簡化乃至省去。

  2.2 單片機嵌入式存儲系統程序存儲區擴展

  受虛擬存儲系統啟發,我們把上述方法作了一些修改以應用于嵌入式存儲系統中。由于系統設計選用的外部程序存儲器容量為256k,而一般單片機(如 8051系列)的尋址空間為64k,為簡單起見,以64k為一頁,將256k虛擬地址分為4頁映射到單片機的64k空間。嵌入式存儲系統中地址變換機構可被簡化:單片機沒有專用的頁表基址寄存器,可以通過額外的端口線(如P1.0,P1.1,P1.2等)作為基址指定不同的頁面,頁表查詢可用一個跳轉表實現。然而頁面切換前后必須保證能夠正確訪問到跳轉表,因此所有64k頁面都需要有一個完全相同的代碼段用來存放跳轉表和中斷矢量等公共資源。

  為提高存儲器利用率可采用圖2所示的結構,其中公共段中存放了高32k段之間相互調用所需要的跳轉表。各段相互調用之前應先跳轉到公共段,執行頁面切換后再跳轉到被調用程序的入口,這就實現了18位虛擬地址到16位主存地址的變換。不妨以P1.0,P1.1,P1.2作為頁面基址來指定不同的頁,相應的跳轉表程序結構如下:

  ADDR:CLR EA ;關中斷

  SETB/CLR P1.0 ;切換頁面

  SETB/CLR P1.1

  SETB/CLR P1.2

  SETB EA ;開中斷

  JMP REAL_ADDR ;跳轉


編輯導讀:工程結果:遙控|嵌入式系統開發面臨的問題與集成開發環境的應用|解決優先級倒置問題的RTOS優先級調度策略|嵌入式系統與普適計算|淺談Real-Time Linux|ARM發布用于嵌入式系統的新產品|基于2.6.19內核的小型Linux系統制作與移植|如何監控和保護Linux下進程安全|嵌入式數控系統體系結構研究|嵌入式系統設計方法的演化|
正文:

 

 

提高存儲器利用率結構

  在公共段(256k存儲芯片的低32k)中存放操作系統和提供給用戶的其他庫函數,其他各段用來存放嵌入式存儲系統的用戶程序。采用圖2結構的單片機與存儲器接口原理圖如圖3所示。其中A0~A15地址線接法與普通存儲器擴展方法相同。

采用圖2結構的單片機與存儲器接口原理圖

  以上考慮了復位時頁面應切換到公共代碼區。

  Keil C51編譯器是單片機開發應用中非常流行的一種高效編譯器,它支持上述頁面分組技術。

  2.3 單片機嵌入式存儲系統數據存儲區擴展

  嵌入式存儲系統中引入操作系統需要增加一定的數據存儲器開銷,必要時仍可以采用分頁技術擴展數據存儲區容量。

  引入操作系統以后,數據區有兩種組織方法,比較簡單的一種方法是操作系統與用戶程序共用一個數據區,編譯器將整個程序一起編譯,不必區分是系統程序還是用戶程序。但這樣對用戶來說操作系統變得不透明了,而且不良的用戶程序可能會破壞系統的數據區,導致整個系統崩潰。

  相對應的另一種方法是給操作系統與用戶程序分別分配獨立的數據區,譬如將128k 數據存儲器給操作系統和用戶程序各分配64k。不幸地是,當操作系統與用戶程序一起編譯時,編譯器會自動給它們分配不同的地址,這樣即使存儲器物理上是分開的,操作系統與用戶程序的數據區還是無法地址復用,這極大地浪費了地址空間;而且對傳統的單片機, Keil C 編譯器最大只支持64k數據區,幸運地是,這個矛盾可以通過采用虛擬接口的方法加以解決。

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


編輯導讀:工程結果:遙控|嵌入式系統開發面臨的問題與集成開發環境的應用|解決優先級倒置問題的RTOS優先級調度策略|嵌入式系統與普適計算|淺談Real-Time Linux|ARM發布用于嵌入式系統的新產品|基于2.6.19內核的小型Linux系統制作與移植|如何監控和保護Linux下進程安全|嵌入式數控系統體系結構研究|嵌入式系統設計方法的演化|
正文:

 

 

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

公共代碼段和操作系統的數據區特殊的對應關系

由單片機外部程序區訪問時序

  3 存儲系統的性能分析

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

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

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

  4結論

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

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          在线综合+亚洲+欧美中文字幕| 国产嫩草影院久久久久| 一区二区三区.www| 国产精品中文字幕在线观看| 免费日韩成人| 国产欧美日韩精品在线| 性久久久久久久| 欧美精品乱人伦久久久久久| 国产一区高清视频| 国产精品xnxxcom| 红桃视频亚洲| 亚洲国产天堂久久综合| 国产精品a久久久久久| 国产亚洲午夜高清国产拍精品| 一区二区三区在线高清| 亚洲一区免费看| 亚洲国产成人午夜在线一区| 国产目拍亚洲精品99久久精品| 最近中文字幕日韩精品| 欧美精品日韩综合在线| 久久久美女艺术照精彩视频福利播放| 欧美片第1页综合| 国产视频不卡| 亚洲一区二区三区精品视频| 国产精品yjizz| 国产精品青草综合久久久久99| 国产日韩欧美一区二区三区在线观看| 在线观看日韩国产| 一本色道久久综合亚洲精品高清| 欧美福利一区二区三区| 国产九色精品成人porny| 国产丝袜一区二区三区| 在线日韩日本国产亚洲| 欧美视频在线免费| 欧美日韩视频在线| 99精品久久免费看蜜臀剧情介绍| 香蕉成人啪国产精品视频综合网| 国产欧美日韩精品a在线观看| 欧美激情第8页| 久久久午夜电影| 一区二区在线视频观看| 在线观看国产精品网站| 中国日韩欧美久久久久久久久| 一区二区精品在线观看| 宅男噜噜噜66国产日韩在线观看| 亚洲欧美综合一区| 欧美成人日韩| 亚洲狠狠婷婷| 亚洲欧美在线另类| 亚洲欧洲日韩综合二区| 欧美日韩在线看| 欧美三区在线| 欧美日韩亚洲一区三区| 欧美黄色影院| 能在线观看的日韩av| 国产精品视频专区| 欧美国产日本| 亚洲欧美日韩专区| 国产一区二区精品在线观看| 影音先锋亚洲视频| 亚洲成人资源网| 欧美一区观看| 你懂的视频一区二区| 国产精品日韩欧美| 欧美日韩成人一区二区三区| 欧美激情第一页xxx| 免费观看成人www动漫视频| 国产女同一区二区| 久久九九久精品国产免费直播| 国产精品色一区二区三区| 国产亚洲精品自拍| 欧美私人啪啪vps| 欧美日韩国产一区精品一区| 韩国成人理伦片免费播放| 亚洲欧美一区二区在线观看| 久久亚洲精品一区二区| 国产精品美女主播在线观看纯欲| 亚洲国产日韩在线一区模特| 国产亚洲在线观看| 日韩亚洲欧美中文三级| 国产精品久久久久永久免费观看| 蜜臀久久久99精品久久久久久| 久久精品成人欧美大片古装| 欧美天天影院| 国产精品初高中精品久久| 欧美在线观看一区二区| 欧美大香线蕉线伊人久久国产精品| 国产精品视屏| 国产欧美亚洲一区| 一本色道久久加勒比精品| 你懂的亚洲视频| 欧美日韩精品一二三区| 欧美日韩视频在线第一区| 欧美高清视频www夜色资源网| 欧美日韩亚洲视频| 国产自产2019最新不卡| 国产日韩欧美一区在线| 亚洲欧美变态国产另类| 欧美一区二区三区视频在线| 亚洲福利免费| 国产亚洲aⅴaaaaaa毛片| 亚洲精品久久久久中文字幕欢迎你| 免费久久99精品国产自在现线| 亚洲自拍都市欧美小说| 欧美岛国在线观看| 国产精品色婷婷| 久久综合精品国产一区二区三区| 伊人久久婷婷色综合98网| 1000部精品久久久久久久久| 亚洲一区视频在线| 另类专区欧美制服同性| 欧美一区三区三区高中清蜜桃| 亚洲黄色精品| 国产农村妇女毛片精品久久麻豆| 亚洲最新合集| 国产麻豆9l精品三级站| 欧美成人一品| 国产婷婷97碰碰久久人人蜜臀| 伊人伊人伊人久久| 欧美视频一区二区三区四区| 午夜精品一区二区三区电影天堂| 欧美91视频| 欧美激情第五页| 欧美黄色免费| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美日韩99| 国内外成人免费激情在线视频| 欧美日韩精品免费观看视频完整| 欧美日韩一区二区国产| 欧美日韩一区二区三区四区五区| 久久久亚洲欧洲日产国码αv| 欧美成人黄色小视频| 国产一级精品aaaaa看| 女主播福利一区| 在线观看国产日韩| 国产网站欧美日韩免费精品在线观看| 欧美日韩和欧美的一区二区| 亚洲欧洲一区二区在线播放| 亚洲欧美乱综合| 亚洲欧美电影在线观看| 亚洲综合三区| 国产精品视频免费一区| 国产精品永久免费在线| 国产精品久久久久久久久久妞妞| 在线成人激情黄色| 国产综合色产在线精品| 亚洲乱码视频| 嫩草成人www欧美| 亚洲欧美日韩精品久久| 狠狠色伊人亚洲综合成人| 国产精品国产自产拍高清av王其| 一区二区在线观看视频在线观看| 欧美视频久久| 亚洲第一黄色| 国产精品美女| 国产精品午夜久久| 国产欧美一区二区精品秋霞影院| 久久综合伊人77777蜜臀| 欧美区二区三区| 欧美日韩网站| 欧美黑人一区二区三区| 香蕉免费一区二区三区在线观看| 久久精品国产一区二区电影| 欧美精品久久久久久久久老牛影院| 中日韩午夜理伦电影免费| 亚洲国产一成人久久精品| 久久久水蜜桃av免费网站| 99国产一区| 欧美午夜宅男影院| 国产精品视频久久一区| 久久av免费一区| 伊人久久噜噜噜躁狠狠躁| 国产亚洲美州欧州综合国| 国产精品久久久一本精品| 中文精品视频| 亚洲日产国产精品| 久久免费国产精品1| 久久精品日产第一区二区三区| 欧美成人综合一区| 国产精品99久久久久久久vr| 国产精品一区二区三区久久| 国产精品久久久久久超碰| 国产精品va在线| 久久全国免费视频| 国产亚洲第一区| 妖精视频成人观看www| 欧美日韩中文字幕在线| 欧美午夜久久久| 欧美jizz19性欧美| 欧美久久久久久久久久| 欧美影院成人| 欧美日韩在线综合| 亚洲视频综合在线| 国产精品日韩久久久| 久久国产色av| 欧美专区福利在线| 国产中文一区二区三区| 国产老女人精品毛片久久| 国产精品日韩专区| 欧美精品在线网站| 日韩亚洲视频在线| 激情成人亚洲| 久久se精品一区精品二区| 国产精品午夜在线观看| 欧美视频在线免费看| 亚洲精品国产拍免费91在线| 国产精品国产三级国产专播品爱网| av成人免费在线| 国产精品美腿一区在线看| 亚洲视屏在线播放| 亚洲性夜色噜噜噜7777| 在线观看视频亚洲| 久久亚洲午夜电影| 欧美精品一区二区三区高清aⅴ| 午夜电影亚洲| 免费日韩视频| 亚洲伦理一区| 国产日韩欧美自拍| 欧美一区午夜精品| 欧美高清一区二区| 欧美色综合天天久久综合精品| 国产一区清纯| 久久婷婷久久一区二区三区| 欧美高清一区| 在线精品亚洲一区二区| 欧美激情按摩在线| 欧美国产日本韩| 国产深夜精品| 亚洲欧美制服中文字幕| 加勒比av一区二区| 亚洲一级在线| 韩国在线视频一区| 欧美日韩一区二区免费在线观看| 久久男人av资源网站| 久久不射中文字幕| 国产一区二区三区久久久| 久久综合给合| 噜噜噜噜噜久久久久久91| 欧美本精品男人aⅴ天堂| 欧美一区二区视频在线观看| 亚洲麻豆一区| 亚洲国产精品v| 久久久精品日韩欧美| 国产精品久久久久久久久婷婷| 国产精品久久久久久模特| 国产日韩一区二区| 国产偷久久久精品专区| 国产欧美日韩一级| 国产美女高潮久久白浆| 欧美日本在线一区| 狠狠色综合日日| 国产一区二区三区精品久久久| 国内成+人亚洲+欧美+综合在线| 久久久噜噜噜久久中文字免| 国内伊人久久久久久网站视频| 一区二区久久| 国产精品久久久久久久久借妻| a4yy欧美一区二区三区| 久久精品三级| 久久国产夜色精品鲁鲁99| 久久免费少妇高潮久久精品99| 韩日欧美一区二区三区| 99国产精品视频免费观看| 亚洲人成毛片在线播放女女| 欧美精品三级日韩久久| 亚洲第一天堂av| 亚洲欧美精品| 国产一区二区三区四区hd| 亚洲欧美在线看| 欧美一区综合| 国产一区二区福利| 欧美麻豆久久久久久中文| 亚洲高清毛片| 欧美精品在线一区二区三区| 国产亚洲一区二区精品| 欧美日韩不卡在线| 香港久久久电影| 在线看成人片| 欧美午夜无遮挡| 国内成人精品2018免费看| 欧美mv日韩mv国产网站| 一区二区在线观看视频在线观看| 亚洲一区不卡| 国产精品成人观看视频免费| 欧美韩国日本综合| 欧美午夜免费电影| 老牛国产精品一区的观看方式| 久久久噜噜噜久久中文字免| 国产精品久久久一本精品| 亚洲午夜国产一区99re久久| 亚洲欧美成人在线| 欧美日韩伦理在线| 久久久久高清| 国产精品久久久久国产a级| 久久精品国产精品亚洲| 亚洲国产aⅴ天堂久久| 葵司免费一区二区三区四区五区| 欧美一区二区三区视频在线| 国产精品伦子伦免费视频| 欧美日本国产视频| 国产亚洲视频在线观看| 欧美fxxxxxx另类| 亚洲欧美日韩国产一区| 一本久久a久久免费精品不卡| 欧美日韩亚洲一区在线观看| 欧美视频在线观看视频极品| 欧美日韩第一区日日骚| 亚洲人成绝费网站色www| 欲色影视综合吧| 国内久久精品视频| 欧美日韩综合另类| 国产精品毛片a∨一区二区三区| 欧美精品久久99久久在免费线| 欧美日韩国产精品一区| 欧美aa在线视频| 国产精品影视天天线| 免费成人av| 一区二区三区不卡视频在线观看| 久久亚洲国产精品一区二区| 欧美日韩亚洲一区二区三区在线观看| 国产日韩欧美综合精品| 亚洲精品一区二区三区99| 欧美精品自拍偷拍动漫精品| 国产精品第2页| 国产精品一区二区三区四区| 激情久久一区| 欧美日韩不卡在线| 一二美女精品欧洲|