越來越多的人選擇從事嵌入式開發(fā)工作,伴隨而來的便是各種對硬件和寄存器的抓耳撓腮。你真的認(rèn)為你現(xiàn)在的調(diào)試方式就是最合適的嗎?何不看看小粥為你帶來的嵌入式調(diào)試實用秘籍呢!
ARM應(yīng)用軟件的開發(fā)工具根據(jù)功能的不同,分別有編譯軟件、匯編軟件、鏈接軟件、調(diào)試軟件、嵌入式實時操作系統(tǒng)、函數(shù)庫、評估板、JTAG仿真器、在線仿真器等,目前世界上約有四十多家公司提供以上不同類別的產(chǎn)品。下面就由福州卓躍教育具體介紹。
使用集成開發(fā)環(huán)境開發(fā)基于ARM的應(yīng)用軟件,包括編輯、編譯、匯編、鏈接等工作全部在PC機上即可完成,調(diào)試工作則需要配合其他的模塊或產(chǎn)品方可完成,目前arm培訓(xùn)班常見的調(diào)試方法有以下幾種:
1、指令集模擬器
部分集成開發(fā)環(huán)境提供了指令集模擬器,可方便用戶在PC機上完成一部分簡單的調(diào)試工作,但是由于指令集模擬器與真實的硬件環(huán)境相差很大,因此即使用戶使用指令集模擬器調(diào)試通過的程序也有可能無法在真實的硬件環(huán)境下運行,用戶最終必須在硬件平臺上完成整個應(yīng)用的開發(fā)。
2、 駐留監(jiān)控軟件
駐留監(jiān)控軟件(Resident Monitors)是一段運行在目標(biāo)板上的程序,集成開發(fā)環(huán)境中的調(diào)試軟件通過以太網(wǎng)口、并行端口、串行端口等通訊端口與駐留監(jiān)控軟件進行交互,由調(diào)試軟件發(fā)布命令通知駐留監(jiān)控軟件控制程序的執(zhí)行、讀寫存儲器、讀寫寄存器、設(shè)置斷點等。駐留監(jiān)控軟件是一種比較低廉有效的調(diào)試方式,不需要任何其他的硬件調(diào)試和仿真設(shè)備。ARM公司的Angel就是該類軟件,大部分嵌入式實時操作系統(tǒng)也是采用該類軟件進行調(diào)試,不同的是在嵌入式實時操作系統(tǒng)中,駐留監(jiān)控軟件是作為操作系統(tǒng)的一個任務(wù)存在的。
3、 JTAG仿真器
JTAG仿真器也稱為JTAG調(diào)試器,是通過ARM芯片的JTAG邊界掃描口進行調(diào)試的設(shè)備。JTAG仿真器比較便宜,連接比較方便,通過現(xiàn)有的JTAG邊界掃描口與 ARM CPU 核通信,屬于完全非插入式(即不使用片上資源)調(diào)試,它無需目標(biāo)存儲器,不占用目標(biāo)系統(tǒng)的任何端口,而這些是駐留監(jiān)控軟件所必需的。另外,由于JTAG調(diào)試的目標(biāo)程序是在目標(biāo)板上執(zhí)行,仿真更接近于目標(biāo)硬件,因此,許多接口問題,如高頻操作限制、AC和DC參數(shù)不匹配,電線長度的限制等被最小化了。
4. 在線仿真器
在線仿真器使用仿真頭完全取代目標(biāo)板上的 CPU ,可以完全仿真 ARM 芯片的行為,提供更加深入的調(diào)試功能。但這類仿真器為了能夠全速仿真時鐘速度高于 100MHz 的處理器,通常必須采用極其復(fù)雜的設(shè)計和工藝,因而其價格比較昂貴。在線仿真器通常用在 ARM 的硬件開發(fā)中,在軟件的開發(fā)中較少使用,其價格高昂也是在線仿真器難以普及的因素。