新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 一種基于FPGA的棧空間管理器的研究和設(shè)計

一種基于FPGA的棧空間管理器的研究和設(shè)計

作者: 時間:2010-09-21 來源:網(wǎng)絡(luò) 收藏

  航空航天、工業(yè)控制、汽車電子和核電站建設(shè)等領(lǐng)域的高速發(fā)展,對嵌入式操作系統(tǒng)實時性的要求越來越高。同時,由于的集成度和速度的不斷提高,使嵌入式操作系統(tǒng)硬件化實現(xiàn)成為發(fā)展趨勢。硬實時操作系統(tǒng)中的堆棧管理對系統(tǒng)的實時性和可靠性起著至關(guān)重要的作用,而傳統(tǒng)操作系統(tǒng)內(nèi)核是將每個任務(wù)的堆??臻g直接進行最大化處理,導(dǎo)致大量存儲空間浪費,另外采用通用RAM尋址方式也不能滿足對被切換任務(wù)信息的快速保護。
  
  基于上述問題,本文提出了一種堆棧空間結(jié)構(gòu),設(shè)計了一款具有自動檢驗功能的器,并在Xilinx公司的集成開發(fā)環(huán)境系統(tǒng)上實現(xiàn)。
  
  1堆??臻g結(jié)構(gòu)
  
  堆棧空間是按先進后出(LIFO)原則分配的連續(xù)存儲器空間,可以滿足保護任務(wù)切換信息和中斷響應(yīng)時保護處理器狀態(tài)和任務(wù)參數(shù)數(shù)據(jù)的需要[1],且對每個任務(wù)分配一個單獨的和一個響應(yīng)系統(tǒng)中斷任務(wù)的[2]。如圖1所示,棧空間劃分為n個和1個。

一種基于FPGA的??臻g管理器的研究和設(shè)計


  
  主要保護被切換任務(wù)的信息。它存放的數(shù)據(jù)有:任務(wù)代碼首地址、任務(wù)參數(shù)、任務(wù)中定義的局部變量、被調(diào)用函數(shù)的參數(shù)和局部變量及任務(wù)中各個函數(shù)的返回地址。存放被中斷任務(wù)的數(shù)據(jù),包括發(fā)生中斷時需要保存的上下文、中斷嵌套時需要保存的上下文和中斷服務(wù)程序的局部變量。
  
  在硬實時操作系統(tǒng)中,當(dāng)發(fā)生中斷或中斷嵌套時,堆棧地址指針從任務(wù)棧切換到中斷嵌套棧。當(dāng)所有的中斷服務(wù)程序全部執(zhí)行完成后,堆棧地址指針從中斷嵌套棧切換到任務(wù)棧,繼續(xù)執(zhí)行該被中斷的任務(wù)。這種管理方式同以往操作系統(tǒng)采用被中斷任務(wù)的數(shù)據(jù)保存到相應(yīng)任務(wù)堆棧的方法相比,更有效節(jié)約了堆??臻g開銷[3,4]。


上一頁 1 2 3 4 5 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉