freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于arm9的中斷驅(qū)動程序設計(編輯修改稿)

2025-03-12 10:58 本頁面
 

【文章內(nèi)容簡介】 水線能夠?qū)⒚恳粋€指令處理分配到5 個時鐘周期內(nèi),在每一個時鐘周期內(nèi)同時有 5 個指令在 執(zhí)行。 指令周期的改進 指令周期的改進對于處理器性能的提高有很大的幫助。性能提高的幅度依賴于代碼執(zhí)行時指令的重疊,這實際上是程序本身的問題。對于采用最高級的語言,一般來說,性能的提高在 30%左右。 a) loads 指令和 stores 指令 指令周期數(shù)的改進最明顯的是 loads 指令和 stores 指令。從 ARM7 到 ARM9這兩條指令的執(zhí)行時間減少了 30%。指令周期的減少是由于 ARM7 和 ARM9 兩種處理器內(nèi)的兩個基本的微處理結(jié)構(gòu)不同所造成的。 ARM9 有獨立的指令和數(shù)據(jù)存儲器接口,允許處理器同時進行取指令和讀寫數(shù)據(jù)。這叫 做改進型哈佛結(jié)構(gòu)。而 ARM7 只有數(shù)據(jù)存儲接口,它同時用來取指令和數(shù)據(jù)訪問。 5 級流水線引入了獨立的存儲器和寫回流水線,分別用來訪問存儲器和將結(jié)果寫回寄存器。 b) 互鎖技術(shù) 當指令需要的數(shù)據(jù)因為以前的指令沒有執(zhí)行完而沒有準備好就會產(chǎn)生管道互鎖。當管道互鎖發(fā)生時,硬件會停止這個指令的執(zhí)行,直到數(shù)據(jù)準備好為止。雖然這種技術(shù)會增加代碼執(zhí)行時間,但是為初期的設計者提供了巨大的方便。編譯器以及匯編程序員可以通過重新設計代碼的順序或者其它方法來減少管道互鎖的數(shù)量。 c) 分支指令 ARM9 和 ARM7 的分支指令周期是相同。而且 ARM9TDMI 和 ARM8ES 并沒有對分支指令進行預測處理。 ARM9 特點 [7] 以 ARM9ES 為例介紹 ARM9 處理器的特點。其主要特點如下: a) 32bit 定點 RISC 處理器,改進型 ARM/Thumb 代碼交織,增強性乘法設計。支持實時 (realtime)調(diào)試; b) 片內(nèi)指令和數(shù)據(jù) SRAM,而且指令和數(shù)據(jù)的存儲器容量可調(diào); c) 片內(nèi)指令和數(shù)據(jù)告訴緩沖器 (cache)容量從 4K 字節(jié)到 1M 字節(jié); d) 設置保護單元 (protcction unit),非常適合嵌入式應用中隊存儲器進行分段和保護; e) 采用 AMBA AHB 總線接口,為外 設提供統(tǒng)一的地址和數(shù)據(jù)總線; f) 支持外部協(xié)處理器,指令和數(shù)據(jù)總線有簡單的握手信令支持; g) 支持標準基本邏輯單元掃描測試方法學,而且支持 BIST; h) 支持嵌入式跟蹤宏單元,支持實時跟蹤指令和數(shù)據(jù)。 嵌入式 C 語言開發(fā)技術(shù) 不同于一般形式的軟件編程,嵌入式系統(tǒng)編程建立在特定的硬件平臺上,勢必要求其編程語言具備較強的硬件直接操作能力。無疑,匯編語言具備這樣的特質(zhì)。但是,由于匯編語言開發(fā)的復雜性,它并不是嵌入式系統(tǒng)開發(fā)的一般選擇。而與之相比, C 語言――一種“高級的低級”語言,則成為嵌入式系統(tǒng)開發(fā)的最佳選擇。 [3] 在 C 語言中,宏是產(chǎn)生內(nèi)嵌代碼的唯一方法,對于嵌入式系統(tǒng)而言,為了能達到性能要求,宏是一種很好的代替函數(shù)的方法。嵌入式開發(fā)的核心就是利用最少的資源最高的效的實現(xiàn)所需功能。 C 語言在嵌入式中控制系統(tǒng)開發(fā)中的優(yōu)勢 匯編語言有其執(zhí)行效率高的優(yōu)點,但其可移植性和可讀性差,以及它本身就是一種編程 效率低下的低級語言,這些都使他的編程和維護極不方便,從而導致整個系統(tǒng)的可靠性也較差,而使用 C 語言進行嵌入式控制系統(tǒng)的開發(fā),有著匯編語言不可比擬的優(yōu)勢。 編程調(diào)試靈活方便 C 語言具有靈的編程方式,當前幾乎看了所有的嵌入式控制系統(tǒng)都 有相應的C 語言級別的仿真調(diào)試系統(tǒng),使得調(diào)試十分方便。 生成的代碼編譯效率高。 編寫的程序完全模塊化。 可移植性好 一種語言所編寫的 C 語言程序,只需將部分與相關(guān)的地方進行適度的修改,就可方便的移植到另外一種系列上。 便與項目維護管理 用 C 語言發(fā)的代碼便與開發(fā)小組計劃項目,靈活管理,分工工作,以及后期維護,基本上可以杜絕因開發(fā)人員變化而給項目進度或后期維護或升級帶來影響。 ADS 開發(fā)環(huán)境 ADS(ARM Developer Suite),是在 1993 年由 Metrowerks 公司開發(fā),是 ARM處理器下最重 要的開發(fā)工具。 ADS 是全套的實時開發(fā)軟件工具,包編譯器生成的代碼密度和執(zhí)行速度優(yōu)異??煽焖俚蛢r地創(chuàng)建 ARM 結(jié)構(gòu)應用。 ADS 對匯編、C/C++、 java 支持的均很好,是目前最成熟的 ARM 開發(fā)工具。很多 ARM 開發(fā)軟件也是借用的 ADS 的編譯器。 [2] ADS 包括三種調(diào)試器: AXD(ARM eXtended Debugger): ARM 擴展調(diào)試器; Armsd(ARM Symbolic Debugger): ARM 符號調(diào)試器; 與 老 版 本 兼 容 的 Windows 或 Unix 下的 ARM 調(diào)試工具,ADW/ADU(Application Debugger Windows/Unix)。 其中 AXD 不僅擁有低版本 ARM 調(diào)試器的所有功能,還新添了圖形用戶界面,更方便的視窗管理數(shù)據(jù)顯示,格式化和編輯以及全套的命令行界面。該產(chǎn)品還包括 RealMonitorTM(可以再前臺調(diào)試的同時斷點續(xù)存并且在不中斷應用的情況下讀寫內(nèi)存跟蹤調(diào)試工具 )。 組成介紹 a) 編譯器: ADS 提供多種編譯器,以支持 ARM 和 Thumb 指令的變異。 armcc 是 ARM C 編譯器 tcc 是 Thumb C 編譯器 armcpp 是 ARM C++編譯器 tcpp 是 Thumb C++編譯器 armasm 是 ARM 和 Thumb 的編譯器 b) 鏈接器: armlink 是 ARM 鏈接器。該命令既可以將編譯得到的一個或多個目標文件和相關(guān)的一個或多個庫文件進行鏈接,生成一個可執(zhí)行文件,也可以將多個目標文件部分鏈接成一個目標文件,以供進一步的鏈接。 c) 符號調(diào)試器: armsd 是 ARM 和 Thumb 的符號調(diào)試器。它能夠進行源碼級的程序調(diào)試。用戶可以再用 C 或匯編語言寫的代碼中進行單步調(diào)試、設置斷點、查看變量值和內(nèi)存單元的內(nèi)容。 d) fromELF:將 ELF 格式的文件轉(zhuǎn)換為各種格式的輸出文件,包括 bin 格式的映像文件、 Motorola 32 位 S 格式影像文件、 Intel 32 位格式映像文件和 Verilog十六進制文件。 e) armar: armar 是 ARM 庫函數(shù)生成器,它將一系列 ELF 格式的目標文件以庫函數(shù)的形式集合在一起。用戶可以把一個庫傳遞給一個鏈接器以代替幾個ELF 文件。 f) CodeWarrior: CodeWarrior 集成開發(fā)環(huán)境 (IDE)為管理和開發(fā)項目提供了簡單多樣化的圖形用戶界面,用戶可以使用 ADS 的 CodeWarrior IDE 為 ARM 和Thumb 處理器開發(fā)用 C、 C++或者 ARM 匯編語言編寫的程序代碼。 g) C 和 C++庫:
點擊復制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1