日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 模擬器開發(fā)以及嵌入式系統(tǒng)內(nèi)核調(diào)試

          模擬器開發(fā)以及嵌入式系統(tǒng)內(nèi)核調(diào)試

          ——
          作者:lmjx 時間:2008-01-11 來源:電子產(chǎn)品世界 收藏

          一、模擬器的開發(fā)

          1.  什么是模擬器

            模擬器是一組應(yīng)用程序,它運行于一個OS之上(linux或windows),提供對目標板功能的模擬,包括中斷系統(tǒng),RAM,F(xiàn)LASH系統(tǒng),以及目標OS到宿主OS任務(wù)的映射。

          2.  模擬器與虛擬機的區(qū)別

            模擬器不同于虛擬機,虛擬機從設(shè)備的角度來模擬一個目標板,微細到提供對每條處理器指令的支持,而模擬器則從功能的角度進行模擬,重點在于對目標OS運行狀態(tài)的監(jiān)視,以及執(zhí)行邏輯的監(jiān)視。方便調(diào)試系統(tǒng)內(nèi)核,以及開發(fā)初期的可行性調(diào)研。另外模擬器是在C語言級別上提供模擬,所以無論目標OS基于什么CPU,只要是C語言寫的,模擬器就能提供對它的模擬。

          3.  如何在windows環(huán)境下開發(fā)模擬器

          3.1.模擬器的基本構(gòu)造

            一個基本的模擬器只要提供對中斷系統(tǒng)的模擬,任務(wù)映射的模擬,內(nèi)存以及堆棧的模擬就可以在其上面運行嵌入式實時內(nèi)核了,當然我們還需要一個輸入輸出的設(shè)備,來干預(yù)及監(jiān)視嵌入式內(nèi)核的運行。

          3.2.中斷系統(tǒng)

            中斷系統(tǒng)是模擬器的核心,因為任務(wù)的調(diào)度本質(zhì)上都是通過中斷完成的(非搶占式系統(tǒng)例外)。以simuos為例,有8個中斷源,包括異常、時鐘、串口、鍵盤等。為了減輕模擬器的負擔,實際上只產(chǎn)生一個中斷事件,然后通過查詢的方式來進行中斷的路由。

          3.3.任務(wù)映射

            任務(wù)映射是模擬器與虛擬機的主要區(qū)別,虛擬機不需要任務(wù)映射,因此它也不可能了解嵌入式內(nèi)核的運行邏輯與運行狀態(tài),只能通過觀察寄存器來推斷。而模擬器將每一個目標OS的任務(wù)都記錄下來,然后統(tǒng)一管理它們的運行,而達到監(jiān)視和干預(yù)的目的。

          3.4.其他

          LCD和鍵盤的模擬。

          二、實時內(nèi)核移植

          1.  移植的前提

              移植的唯一前提是我們必須擁有目標OS的源代碼。

          2.  移植時的注意事項

          注意中斷系統(tǒng)的掛接,注意任務(wù)管理器的安裝。

          3.  以ucosii舉例(搶占式)

            ucosii為優(yōu)先級搶占式實時系統(tǒng)內(nèi)核,廣泛應(yīng)用于工控領(lǐng)域,由于其源碼開放

            所以倍受學生和廣大嵌入式愛好者的青睞。但是對于初學者而言,嵌入式系統(tǒng)就象一個黑盒子,雖然有代碼在手但卻不能感觀體驗到其運行時所帶來的魅力。將其移植到模擬器上,我們不但能觀察ucosii的任務(wù)管理方式,還能隨時設(shè)置斷點來對自己的程序進行調(diào)試。移植的源代碼及demo程序請自行下載:www.mshowtec.com

          4.  以rtke舉例(非搶占式)

            rtke是菲利普手機解決方案中應(yīng)用的實時內(nèi)核,該內(nèi)核的最大缺點就是非搶占式,一個task必須自己放棄CPU的使用權(quán)才能使其他高優(yōu)先級的任務(wù)得到調(diào)度。因此在其上面寫程序必須十分小心,另外通過模擬器我們可以跟蹤到每個消息發(fā)往何處,每個信號量的使用狀況,當前內(nèi)存的狀態(tài)等等。Demo程序請自行下載:www.mshowtec.com

          三、VC環(huán)境下調(diào)試

          1.  模擬器下調(diào)試的優(yōu)缺點

              優(yōu)點是直觀方便,缺點是由于模擬器并不是真實的硬件環(huán)境,因此許多依賴于硬件的代碼無法進行調(diào)試,但是對于調(diào)試系統(tǒng)內(nèi)核和普通的應(yīng)用程序已經(jīng)是夠用了,尤其是在解決系統(tǒng)死鎖的問題上是最有用的利器。

          2.  調(diào)試手段與方法

              可以利用模擬器本身提供的調(diào)試工具進行分析系統(tǒng)狀態(tài),也可以在OS代碼中加入自己的trace信息來跟蹤系統(tǒng)的運行,具體請參照上面提供的兩個例子。

          四、小結(jié)

             通過對模擬器simuos的開發(fā),以及對幾個實時內(nèi)核的移植,我們發(fā)現(xiàn)在嵌入式領(lǐng)域我們?nèi)狈Φ氖腔A(chǔ)教育,每個從事嵌入式開發(fā)的工程師大多都是工作以后才對嵌入式系統(tǒng)有一個比較完整和深刻的認識的,如果每所大學能讓我們的學生在上學期間親手移植一個甚至是幾個嵌入式系統(tǒng)內(nèi)核,那么我們的畢業(yè)生的技術(shù)素質(zhì)將會有顯著的提高。Simuos這個項目就是為這個目的而開發(fā)的,希望它能給正在學習或打算學習嵌入式開發(fā)的同學或工程師帶來幫助。

           



          關(guān)鍵詞:

          評論


          相關(guān)推薦

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

          關(guān)閉