Cortex-M全系統(tǒng)模擬器的研究和實現(xiàn)
發(fā)布時間:2017-05-08 08:07
本文關鍵詞:Cortex-M全系統(tǒng)模擬器的研究和實現(xiàn),由筆耕文化傳播整理發(fā)布。
【摘要】:本文實現(xiàn)了一個ARM Cortex-M系列內(nèi)核的全系統(tǒng)嵌入式模擬器。通過對不同類型的模擬器進行分類和比較,本文首先確定了整個系統(tǒng)的需求。并根據(jù)需求劃分了內(nèi)核模擬、調(diào)試接口、外設模擬、用戶接口等模塊。分析比較了各種不同的組織模塊的方式,基于多進程的架構(gòu),對不同的模塊進程進行合并,最后將模擬器分為了數(shù)個進程進行實現(xiàn)。 根據(jù)ARM Cortex-M系列指令集的特點,本文設計了一個模擬器內(nèi)核,實現(xiàn)了包括指令集、中斷控制器、地址空間等方面的模擬。對不同的指令集實現(xiàn)方式作出了比較,并用解釋執(zhí)行的方式實現(xiàn)了一個指令集執(zhí)行引擎。根據(jù)ARM地址空間的特點,提出了一種存儲器模型,將所有地址空間統(tǒng)一到一個模型中。并著重對Cortex-M系列的NVIC進行了分析,比較了NVIC與傳統(tǒng)ARM異常中斷處理機制的區(qū)別,實現(xiàn)了NVIC的中斷優(yōu)先級、中斷嵌套等高級功能。本文通過首先對內(nèi)核總體框架的構(gòu)建,并介紹重要數(shù)據(jù)結(jié)構(gòu)和接口函數(shù)的方式,給出了整個模擬器內(nèi)核的具體實現(xiàn)。 除模擬器內(nèi)核之外,本文還針對嵌入式系統(tǒng)使用中非常重要的調(diào)試功能,設計并實現(xiàn)了模擬器的調(diào)試模塊;贕DB調(diào)試器和與之相關的RSP協(xié)議,分析了GDB遠程調(diào)試的原理和實現(xiàn)機制。著重分析了RSP協(xié)議與GDB相關指令的映射關系,以及通過RSP協(xié)議與GDB通信的原理。在模擬器內(nèi)核中添加了GDBStub,從而使得模擬器上運行的程序可以通過GDB來進行遠程調(diào)試,利用了其優(yōu)良的調(diào)試功能。 根據(jù)嵌入式系統(tǒng)對處理器與外設之間的需求以及各種不同外設之間的區(qū)別和聯(lián)系,本文提出了基于軟件和基于硬件的外設模擬方式。在軟件模擬方式中,提出了一種外部設備模型,并比較了多種軟件模擬的架構(gòu),改進并實現(xiàn)了其中一種架構(gòu),并以Systick為例介紹了外部設備模型的具體實現(xiàn)。本文也提出了一種基于硬件的外設模擬方式,具體描述了其結(jié)構(gòu)和原理,定義了一種硬件與模擬器內(nèi)核通信的接口協(xié)議,并實現(xiàn)了其接口。 文章在最后總結(jié)模擬器的實現(xiàn)過程中的不足,指出了在一些有待解決和改善的問題,并列出了可進一步開展的工作。
【關鍵詞】:模擬器 存儲器模型 GDB Stub 外部設備模型 硬件模擬外設
【學位授予單位】:東華大學
【學位級別】:碩士
【學位授予年份】:2014
【分類號】:TP337
【目錄】:
- 摘要5-7
- ABSTRACT7-13
- 1 緒論13-17
- 1.1 課題研究背景與意義13
- 1.2 模擬器的國內(nèi)外研究現(xiàn)狀13-15
- 1.3 研究內(nèi)容與主要工作15
- 1.4 論文組織結(jié)構(gòu)與章節(jié)安排15-17
- 2 模擬器架構(gòu)設計17-24
- 2.1 模擬器的分類17-18
- 2.2 需求分析18-20
- 2.2.1 內(nèi)核模擬18-19
- 2.2.2 調(diào)試接口19
- 2.2.3 外設模擬19
- 2.2.4 用戶接口19-20
- 2.3 程序架構(gòu)設計20-23
- 2.3.1 單線程設計20
- 2.3.2 多線程設計20-22
- 2.3.3 多進程設計22-23
- 2.3.4 架構(gòu)確定23
- 2.4 本章小結(jié)23-24
- 3 內(nèi)核模擬設計與實現(xiàn)24-39
- 3.1 ARM內(nèi)核的組成24-25
- 3.1.1 ARM內(nèi)核版本24-25
- 3.1.2 Cortex-M內(nèi)核組成25
- 3.2 指令集的模擬25-28
- 3.2.1 指令集模擬原理25-26
- 3.2.2 ARM Cortex-M內(nèi)核指令集的特點26-28
- 3.3 中斷異常控制器28-31
- 3.3.1 ARM Cortex-M中斷過程描述28-29
- 3.3.2 嵌套向量中斷控制器(NVIC)29-31
- 3.4 存儲器地址結(jié)構(gòu)31-32
- 3.5 實現(xiàn)細節(jié)32-38
- 3.5.1 內(nèi)核的總體框架32-34
- 3.5.2 指令集的實現(xiàn)34-36
- 3.5.3 中斷的實現(xiàn)36-37
- 3.5.4 存儲器模型的實現(xiàn)37-38
- 3.6 本章小結(jié)38-39
- 4 基于GDB的調(diào)試架構(gòu)設計與實現(xiàn)39-51
- 4.1 GDB調(diào)試器39
- 4.2 GDB調(diào)試方式39-41
- 4.2.1 本地調(diào)試39-40
- 4.2.2 遠程調(diào)試40-41
- 4.3 RSP協(xié)議41-48
- 4.3.1 RSP數(shù)據(jù)包41-42
- 4.3.2 RSP基本協(xié)議42
- 4.3.3 GDB指令映射42-43
- 4.3.4 重要指令的對話流程43-48
- 4.4 Stub實現(xiàn)48-49
- 4.5 本章小結(jié)49-51
- 5 外設模擬的設計與實現(xiàn)51-66
- 5.1 外部設備的種類51-53
- 5.1.1 串行總線51
- 5.1.2 外部存儲器控制器51
- 5.1.3 網(wǎng)絡設備51-52
- 5.1.4 DMA控制器52
- 5.1.5 通用IO端口52
- 5.1.6 定時器52
- 5.1.7 處理器內(nèi)部控制設備52-53
- 5.1.8 模擬設備53
- 5.1.9 顯示控制器53
- 5.1.10 片外設備53
- 5.2 基于軟件模擬的外部設備53-57
- 5.2.1 外部設備模型53-54
- 5.2.2 串行方式54-55
- 5.2.3 并行方式55-56
- 5.2.4 混合方式56-57
- 5.3 基于硬件模擬的外部設備57-59
- 5.3.1 工作原理和基本組成58-59
- 5.3.2 硬件接口協(xié)議59
- 5.4 外部設備的實現(xiàn)細節(jié)59-65
- 5.4.1 寄存器接口的實現(xiàn)59-60
- 5.4.2 軟件接口行為的實現(xiàn)60-63
- 5.4.3 硬件接口行為的實現(xiàn)63
- 5.4.4 用戶界面63-65
- 5.5 本章小結(jié)65-66
- 6 測試與分析66-71
- 6.1 功能測試與分析66-69
- 6.1.1 指令集功能66
- 6.1.2 調(diào)試功能66-67
- 6.1.3 外設功能67-68
- 6.1.4 外設功能68-69
- 6.2 性能測試與分析69-70
- 6.2.1 測試目的69
- 6.2.2 測試方案與過程69-70
- 6.3 本章小結(jié)70-71
- 7 總結(jié)與展望71-73
- 7.1 總結(jié)71
- 7.2 展望71-73
- 參考文獻73-76
- 附錄76-104
- 作者在攻讀碩士學位期間發(fā)表的論文104-105
- 致謝105
【參考文獻】
中國期刊全文數(shù)據(jù)庫 前8條
1 陳定君,郭曉東,張應輝,余克清,劉積仁;嵌入式軟件仿真開發(fā)系統(tǒng)的研究[J];電子學報;2000年03期
2 王海晟;樓文曉;;嵌入式軟件模擬測試平臺的設計與實現(xiàn)技術(shù)[J];計算機工程;2006年15期
3 蔡嵩松;劉奇;王劍;劉金剛;;基于龍芯處理器的二進制翻譯器優(yōu)化[J];計算機工程;2009年07期
4 張激;李寧波;;基于二進制翻譯的仿真器關鍵技術(shù)研究[J];計算機工程;2010年16期
5 陳喬;蔣烈輝;董衛(wèi)宇;徐金龍;方明;;基于動態(tài)二進制翻譯技術(shù)的仿真器研究[J];計算機工程;2011年20期
6 曹宏嘉,俞磊,鄧潂,周興銘;一個用戶級動態(tài)二進制翻譯系統(tǒng)的設計與實現(xiàn)[J];計算機工程與科學;2004年08期
7 郭勝超,呂強,楊季文,錢培德;GDB遠程調(diào)試及其在嵌入式Linux系統(tǒng)中的應用[J];計算機工程與科學;2004年10期
8 陳必泉,黃承慧;GDBSERVER原理分析及其應用[J];計算機工程與設計;2005年03期
本文關鍵詞:Cortex-M全系統(tǒng)模擬器的研究和實現(xiàn),由筆耕文化傳播整理發(fā)布。
,本文編號:350756
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/350756.html
最近更新
教材專著