調(diào)試嵌入式處理器的幾種常用方法
發(fā)布時(shí)間:2008/8/14 0:00:00 訪問次數(shù):474
在任何產(chǎn)品設(shè)計(jì)過程中,設(shè)計(jì)人員通常要將相當(dāng)長的一部分時(shí)間,用于系統(tǒng)的集成性和軟硬件調(diào)試。在引擎管理、硬盤控制和調(diào)制解調(diào)器之類的實(shí)時(shí)系統(tǒng)中尤其如此。
嵌入式系統(tǒng)中,由于微處理器嵌于asic或用戶芯片的內(nèi)部,系統(tǒng)調(diào)試變得更加困難,因?yàn)橥ǔ?duì)處理器總線和信號(hào)的接入都是有限制的。在多處理器系統(tǒng)中(如硬盤驅(qū)動(dòng)器、尋呼機(jī)、手機(jī)中常見的控制器-dsp體系結(jié)構(gòu))更是如此。
本文簡要回顧了幾種調(diào)試處理器系統(tǒng)的常見方法,并介紹了arm公司新開發(fā)的調(diào)試方法,即通過使用電路內(nèi)仿真器(in circuit emulators)、監(jiān)控程序(monitor programs) 和邏輯分析儀(logic analysers)解決存在的問題。
電路內(nèi)仿真器(in circuit emulators,即 ice)
ice由實(shí)時(shí)探測、實(shí)時(shí)追蹤和記憶仿真組成,所有這些集成在一個(gè)統(tǒng)一的用戶界面上。這能為軟件工程師提供一個(gè)硬件保護(hù)層。此外,ice不需要周圍系統(tǒng)全部正常工作后才能調(diào)試,因而在軟件開發(fā)和硬件開發(fā)之間提供了一定程度上的平衡,有利于縮短產(chǎn)品上市時(shí)間。
標(biāo)準(zhǔn)ice存在的問題
● ice的眾多接點(diǎn)會(huì)影響目標(biāo)系統(tǒng)的正常時(shí)序,從而降低其最快速度;
● ice的存在使得處理器的更換牽涉到非常復(fù)雜的接點(diǎn),更換處理器同時(shí)會(huì)改變原來的電氣特性,這樣就意味著有可能產(chǎn)生很多不可預(yù)知的問題;
● ice的發(fā)布要落后于處理器,通常在一個(gè)新的處理器出臺(tái)后的6-9個(gè)月的時(shí)間才會(huì)有與其配合的ice;
● 一個(gè)深度嵌入的cpu需要很多的引腳才能將內(nèi)部信號(hào)傳遞到ice;
● 考慮到ice所需要的資源,有些處理器的用戶變量可能不被ice所支持;
● ice的成本可能十分昂貴。
調(diào)試監(jiān)控程序(debug monitors)
在目標(biāo)系統(tǒng)中安裝調(diào)試監(jiān)控程序是ice外的另一個(gè)選擇,它能為用戶提供測試和調(diào)試軟件所需的許多功能,例如設(shè)定斷點(diǎn)、從目標(biāo)存儲(chǔ)器中上載數(shù)據(jù)以及下載應(yīng)用程序等。
這種方法的優(yōu)勢在于開發(fā)的軟件可以在同一個(gè)處理器上運(yùn)行,并且能將硬件與最終系統(tǒng)進(jìn)行整合。而且debug monitor價(jià)格低廉,能幫助節(jié)約系統(tǒng)開發(fā)成本。另一方面,目標(biāo)系統(tǒng)的rom中必須存有一個(gè)監(jiān)控程序,這是一個(gè)很大的問題,因?yàn)樗仨殢淖罱K產(chǎn)品中撤除,否則就會(huì)增加額外的開銷。
另外,運(yùn)行調(diào)試程序的主機(jī)和目標(biāo)之間還需要一個(gè)通信通道。通常目標(biāo)系統(tǒng)使用uart來實(shí)現(xiàn)。uart的驅(qū)動(dòng)程序應(yīng)在監(jiān)控程序之前完成與目標(biāo)系統(tǒng)結(jié)合的移植工作。
監(jiān)控程序的代碼也必須根據(jù)具體的目標(biāo)系統(tǒng)進(jìn)行移植,這意味著在系統(tǒng)硬件中,應(yīng)保證主要的部分在監(jiān)控程序啟動(dòng)之前能夠正常工作。
邏輯分析儀
邏輯分析儀的調(diào)試功能并不十分完備,因而常常作為以上兩種調(diào)試方法的有效補(bǔ)充使用。這是由于邏輯分析儀只能提供一個(gè)代碼執(zhí)行過程的回顧。用戶無法改變變量或跳轉(zhuǎn)至程序的其他位置,所以,在沒有重新編譯的情況下, “假設(shè)分析”測試無法進(jìn)行。除此之外,許多邏輯分析儀只配置了一個(gè)定容量的存儲(chǔ)器,因此每次運(yùn)行的追蹤量是受到限制的。
arm的嵌入式ice(embeddedice)解決方案
arm在支持這些傳統(tǒng)調(diào)試工具的基礎(chǔ)上,開發(fā)了全新的調(diào)試方案,希望解決傳統(tǒng)工具無力解決的問題。為了簡化調(diào)試過程,這種新的解決方案并沒有限定于某一硬件或軟件開發(fā),而是一種面向系統(tǒng)調(diào)試的整體性方案。
embeddedice結(jié)構(gòu)體系包括:
● 一個(gè)與embeddedice兼容的arm核(如:arm7di),帶有邊界掃描接口和調(diào)試功能增強(qiáng);
● 一個(gè)外部embeddedice接口盒,連接開發(fā)主機(jī)和arm內(nèi)核;
● arm sdt2.01主機(jī)軟件開發(fā)和調(diào)試工具。
embeddedice是一個(gè)面向arm微處理器的jtag的調(diào)試通道。它為arm 的windows工具包和嵌于asic中的arm微處理器提供一個(gè)接口。
embeddedice具有諸多ice功能,例如實(shí)時(shí)尋址、斷點(diǎn)、單步、對(duì)arm cpu的完全控制、對(duì)asic系統(tǒng)其余部分的訪問,以及對(duì)主機(jī)顯示器外設(shè)的訪問、鍵盤輸入和磁盤存儲(chǔ)。后三者保證了開發(fā)人員能夠從目標(biāo)向主機(jī)發(fā)送調(diào)試信息,并顯示在主機(jī)屏幕上。
arm embeddedice解決方案的優(yōu)勢在于:
● 無需ice 接點(diǎn)或串行接口等目標(biāo)資源或特殊硬件。在目標(biāo)系統(tǒng)中無需專門用于調(diào)試的ram、rom和特殊軟件(因此,目標(biāo)系統(tǒng)中的軟件不必修改,可直接與arm embeddedice體系兼容);
● 邊界掃描引腳可復(fù)用,不用增加引腳數(shù)量;
● 成本低廉,不需要專門的ice芯片;
● 可以在系統(tǒng)最高速度下進(jìn)行調(diào)試;
● 完全的主機(jī)系統(tǒng)訪問,包括屏幕、鍵盤、目標(biāo)存儲(chǔ)等;
● 無需移動(dòng)處理器 。這解決了許多問題,例如昂貴的接點(diǎn)、性能不穩(wěn)定和電路電氣特性的改變等等;
● 調(diào)試無需另外的通信通道;
● 與任何嵌入式arm系統(tǒng)兼容;
在任何產(chǎn)品設(shè)計(jì)過程中,設(shè)計(jì)人員通常要將相當(dāng)長的一部分時(shí)間,用于系統(tǒng)的集成性和軟硬件調(diào)試。在引擎管理、硬盤控制和調(diào)制解調(diào)器之類的實(shí)時(shí)系統(tǒng)中尤其如此。
嵌入式系統(tǒng)中,由于微處理器嵌于asic或用戶芯片的內(nèi)部,系統(tǒng)調(diào)試變得更加困難,因?yàn)橥ǔ?duì)處理器總線和信號(hào)的接入都是有限制的。在多處理器系統(tǒng)中(如硬盤驅(qū)動(dòng)器、尋呼機(jī)、手機(jī)中常見的控制器-dsp體系結(jié)構(gòu))更是如此。
本文簡要回顧了幾種調(diào)試處理器系統(tǒng)的常見方法,并介紹了arm公司新開發(fā)的調(diào)試方法,即通過使用電路內(nèi)仿真器(in circuit emulators)、監(jiān)控程序(monitor programs) 和邏輯分析儀(logic analysers)解決存在的問題。
電路內(nèi)仿真器(in circuit emulators,即 ice)
ice由實(shí)時(shí)探測、實(shí)時(shí)追蹤和記憶仿真組成,所有這些集成在一個(gè)統(tǒng)一的用戶界面上。這能為軟件工程師提供一個(gè)硬件保護(hù)層。此外,ice不需要周圍系統(tǒng)全部正常工作后才能調(diào)試,因而在軟件開發(fā)和硬件開發(fā)之間提供了一定程度上的平衡,有利于縮短產(chǎn)品上市時(shí)間。
標(biāo)準(zhǔn)ice存在的問題
● ice的眾多接點(diǎn)會(huì)影響目標(biāo)系統(tǒng)的正常時(shí)序,從而降低其最快速度;
● ice的存在使得處理器的更換牽涉到非常復(fù)雜的接點(diǎn),更換處理器同時(shí)會(huì)改變原來的電氣特性,這樣就意味著有可能產(chǎn)生很多不可預(yù)知的問題;
● ice的發(fā)布要落后于處理器,通常在一個(gè)新的處理器出臺(tái)后的6-9個(gè)月的時(shí)間才會(huì)有與其配合的ice;
● 一個(gè)深度嵌入的cpu需要很多的引腳才能將內(nèi)部信號(hào)傳遞到ice;
● 考慮到ice所需要的資源,有些處理器的用戶變量可能不被ice所支持;
● ice的成本可能十分昂貴。
調(diào)試監(jiān)控程序(debug monitors)
在目標(biāo)系統(tǒng)中安裝調(diào)試監(jiān)控程序是ice外的另一個(gè)選擇,它能為用戶提供測試和調(diào)試軟件所需的許多功能,例如設(shè)定斷點(diǎn)、從目標(biāo)存儲(chǔ)器中上載數(shù)據(jù)以及下載應(yīng)用程序等。
這種方法的優(yōu)勢在于開發(fā)的軟件可以在同一個(gè)處理器上運(yùn)行,并且能將硬件與最終系統(tǒng)進(jìn)行整合。而且debug monitor價(jià)格低廉,能幫助節(jié)約系統(tǒng)開發(fā)成本。另一方面,目標(biāo)系統(tǒng)的rom中必須存有一個(gè)監(jiān)控程序,這是一個(gè)很大的問題,因?yàn)樗仨殢淖罱K產(chǎn)品中撤除,否則就會(huì)增加額外的開銷。
另外,運(yùn)行調(diào)試程序的主機(jī)和目標(biāo)之間還需要一個(gè)通信通道。通常目標(biāo)系統(tǒng)使用uart來實(shí)現(xiàn)。uart的驅(qū)動(dòng)程序應(yīng)在監(jiān)控程序之前完成與目標(biāo)系統(tǒng)結(jié)合的移植工作。
監(jiān)控程序的代碼也必須根據(jù)具體的目標(biāo)系統(tǒng)進(jìn)行移植,這意味著在系統(tǒng)硬件中,應(yīng)保證主要的部分在監(jiān)控程序啟動(dòng)之前能夠正常工作。
邏輯分析儀
邏輯分析儀的調(diào)試功能并不十分完備,因而常常作為以上兩種調(diào)試方法的有效補(bǔ)充使用。這是由于邏輯分析儀只能提供一個(gè)代碼執(zhí)行過程的回顧。用戶無法改變變量或跳轉(zhuǎn)至程序的其他位置,所以,在沒有重新編譯的情況下, “假設(shè)分析”測試無法進(jìn)行。除此之外,許多邏輯分析儀只配置了一個(gè)定容量的存儲(chǔ)器,因此每次運(yùn)行的追蹤量是受到限制的。
arm的嵌入式ice(embeddedice)解決方案
arm在支持這些傳統(tǒng)調(diào)試工具的基礎(chǔ)上,開發(fā)了全新的調(diào)試方案,希望解決傳統(tǒng)工具無力解決的問題。為了簡化調(diào)試過程,這種新的解決方案并沒有限定于某一硬件或軟件開發(fā),而是一種面向系統(tǒng)調(diào)試的整體性方案。
embeddedice結(jié)構(gòu)體系包括:
● 一個(gè)與embeddedice兼容的arm核(如:arm7di),帶有邊界掃描接口和調(diào)試功能增強(qiáng);
● 一個(gè)外部embeddedice接口盒,連接開發(fā)主機(jī)和arm內(nèi)核;
● arm sdt2.01主機(jī)軟件開發(fā)和調(diào)試工具。
embeddedice是一個(gè)面向arm微處理器的jtag的調(diào)試通道。它為arm 的windows工具包和嵌于asic中的arm微處理器提供一個(gè)接口。
embeddedice具有諸多ice功能,例如實(shí)時(shí)尋址、斷點(diǎn)、單步、對(duì)arm cpu的完全控制、對(duì)asic系統(tǒng)其余部分的訪問,以及對(duì)主機(jī)顯示器外設(shè)的訪問、鍵盤輸入和磁盤存儲(chǔ)。后三者保證了開發(fā)人員能夠從目標(biāo)向主機(jī)發(fā)送調(diào)試信息,并顯示在主機(jī)屏幕上。
arm embeddedice解決方案的優(yōu)勢在于:
● 無需ice 接點(diǎn)或串行接口等目標(biāo)資源或特殊硬件。在目標(biāo)系統(tǒng)中無需專門用于調(diào)試的ram、rom和特殊軟件(因此,目標(biāo)系統(tǒng)中的軟件不必修改,可直接與arm embeddedice體系兼容);
● 邊界掃描引腳可復(fù)用,不用增加引腳數(shù)量;
● 成本低廉,不需要專門的ice芯片;
● 可以在系統(tǒng)最高速度下進(jìn)行調(diào)試;
● 完全的主機(jī)系統(tǒng)訪問,包括屏幕、鍵盤、目標(biāo)存儲(chǔ)等;
● 無需移動(dòng)處理器 。這解決了許多問題,例如昂貴的接點(diǎn)、性能不穩(wěn)定和電路電氣特性的改變等等;
● 調(diào)試無需另外的通信通道;
● 與任何嵌入式arm系統(tǒng)兼容;
熱門點(diǎn)擊
- CPU學(xué)習(xí) (Cache Coherence
- 瑞薩推出具有1Mbyte片內(nèi)SRAM的32位
- The MathWorks推出R2008a版
- 基于uc/os-ii的嵌入式GUI研究與應(yīng)用
- MAP譯碼器嵌入式狀態(tài)信息存儲(chǔ)機(jī)制設(shè)計(jì)
- 凌華科技重磅推出嵌入式計(jì)算機(jī)GEME-120
- 嵌入式uClinux下的CAN總線設(shè)備驅(qū)動(dòng)程
- Marvell推出了該公司內(nèi)部開發(fā)的新一代C
- Atmel 在AT91SAM3中使用ARM3
- 全路由器掃描
推薦技術(shù)資料
- DFRobot—玩的就是
- 如果說新車間的特點(diǎn)是“靈動(dòng)”,F(xiàn)QPF12N60C那么... [詳細(xì)]
- 100A全集成電源模塊R
- Teseo-VIC6A GNSS車用精準(zhǔn)定位
- 高效先進(jìn)封裝工藝
- 模數(shù)轉(zhuǎn)換器 (Analog-to-Digit
- 集成模數(shù)轉(zhuǎn)換器(ADC)
- 128 通道20 位電流數(shù)字轉(zhuǎn)換器̴
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究