發布時間:2021-08-30 16:28:06來源:轉載
嵌入式系統的交叉調試有多種方法,主要可分為軟件方式和硬件方式兩種,軟件方式和硬件調試。那么兩種有什么區別,哪個比較好呢?
(1)軟件方式
軟件方式調試主要是通過插入調試樁的方式來進行的。調試樁方式進行調試是通過目標操作系統和調試器內分別加入某些功能模塊,二者互通信息來進行調試。該方式的典型調試器有 Gdb 調試器。
(2)硬件調試
硬件調試器的基本原理是通過仿真硬件的執行過程,讓開發者在調試時可以隨時了解到系統的當前執行情況。目前嵌入式系統開發中較常用到的硬件調試器是 ROMMonitor、ROMEmulator、In-CircuitEmulator 和 In-CircuitDebugger。
從各方面比較嵌入式系統與通用計算機的區別
(1)嵌入式系統與通用型系統的較大區別就在于嵌入式系統大多工作在為特定用戶群設計的系統中,因此它通常都具有低功耗、體積小、集成度高等特點,并且可以滿足不用應用的特定需求。
(2)嵌入式系統的硬件和軟件都必須進行地設計,量體裁衣、去除冗余,力爭在同樣的硅片面積上實現更高的性能 。
(3)嵌入式系統是將先進的計算機技術、半導體技術和電子技術與各個行業的具體應用相結合后的產物。這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統,從事嵌入式系統開發的人才也必須是復合型人才。
(4)為了提高執行速度和系統可靠性,嵌入式系統中的軟件一般都固化在存儲器芯片或單片機本身中,而不是存儲于磁盤中。
(5)嵌入式開發的軟件代碼尤其要求高質量、高可靠性,由于嵌入式設備所處的環境往往是無人職守或條件惡劣的情況下,因此,其代碼必須有更高的要求。
(6)嵌入式系統本身不具備二次開發能力,即設計完成后用戶通常不能對其中的程序功能進行修改,必須有一套開發工具和環境才能進行再次開發
問題二、ARM9有哪些優于ARM7的特性?
(1)ARM7 處理器采用的 3 級流水線設計,而 ARM9 則采用 5 級流水線設計
通過使用 5 級流水線機制,在每一個時鐘周期內可以同時執行 5 條指令。這樣就大大提高了處理性能。
在同樣的加工工藝下,ARM9 處理器的時鐘頻率是 ARM7 的 1.8~2.2 倍。
(2)ARM9采用的是哈佛結構,ARM7采用的是馮諾依曼結構
馮·諾依曼結構共用數據存儲空間和程序存儲空間,它們共享存儲器總線,這也是以往設計時常用的方式,而哈佛結構則具有分離的數據和程序空間及分離的訪問總線。所以哈佛結構在指令執行時,取址和取數可以并行,因此具有更高的執行效率 。
(3)ARM9引入了高速緩存和寫緩存提高了存儲器的訪問速度。
(4)支持MMU,MMU 是內存管理單元,它把內存以“頁”為單位來進行處理。一頁內存是指一個具有一定大小的連續的內存塊,通常為 4096B 或 8192B。操作系統為每個正在運行的程序建立并維護一張被稱為進程內存映射的表,表中記錄了程序可以存取的所有內存頁以及它們的實際位置。
每當程序存取一塊內存時,它會把相應的虛擬地址(virtual address)傳送給 MMU,而MMU 會在 PMM 中查找這塊內存的實際位置,也就是物理地址(physical address),物理地址可以在內存中或磁盤上的任何位置。如果程序要存取的位置在磁盤上,就必須把包含該地址的頁從磁盤上讀到內存中,并且必須更新 PMM 以反映這個變化(這被稱為 pagefault,即頁錯)。
只有擁有了 MMU 才能真正實現內存保護。例如當 A 進程的程序試圖直接訪問屬于 B 進程的虛擬地址中的數據,那么 MMU 會產生一個異常(Exception)來阻止 A 的越界操作。這樣,通過內存保護,一個進程的失敗并不會影響其他進程的運行,從而增強了系統的穩定性,ARM9 也正是因此擁有了 MMU,比 ARM7 有了更強的穩定性和可靠性。
更多培訓課程: 無錫嵌入式 更多學校信息: 無錫新區寶龍達內IT教育培訓 咨詢電話: