99er精品-开心网四房播播-成人精品国产亚洲AV久久-苍井空大尺寸视频大全bd-最近最好看的2018中文字幕国语-真实国产精品视频国产网-一区二区无码精品AV-久久国产精品-久久精品-免费视频在线观看吗

成功案例

邏輯分析儀在嵌入式開發(fā)調(diào)試中的應(yīng)用

邏輯分析儀在嵌入式開發(fā)調(diào)試中的應(yīng)用
在嵌入式開發(fā)調(diào)試中,開發(fā)人員的調(diào)試手段包括斷點、觸發(fā)和跟蹤三種。隨著集成電路技術(shù)的發(fā)展,新一代的嵌入式處理器集成度和工作頻率越來越高,芯片封裝形式也越來越趨向表貼化。在線調(diào)試器(ICD)與邏輯分析儀的組合開發(fā)調(diào)試平臺越來越多地成為廣大的新一代嵌入式處理器的開發(fā)人員實現(xiàn)上述三種調(diào)試手段的優(yōu)選。
開發(fā)人員使用斷點功能控制所調(diào)試的應(yīng)用程序的起和停。使應(yīng)用程序運行到自己想要調(diào)試的程序上。通過觀察在斷點處的應(yīng)用程序的變量以及寄存器和存儲器的值檢測所調(diào)試的應(yīng)用程序運行是否正確。斷點是開發(fā)人員經(jīng)常使用的調(diào)試手段。
斷點,顧名思義就是(應(yīng)用程序)停下來的地方。斷點按照其實現(xiàn)方法分為軟件斷點和硬件斷點。軟件斷點是靠程序指令陷阱來實現(xiàn)的。硬件斷點是靠嵌入式處理器或調(diào)試工具硬件來實現(xiàn)的。軟件斷點的實現(xiàn)方法對于不同的嵌入式處理器和不同的調(diào)試工具而言,實現(xiàn)方法都是一樣的,都是通過修改程序指令的方法實現(xiàn)的。硬件斷點的實現(xiàn)方法對于不同的嵌入式處理器和不同的調(diào)試工具而言,實現(xiàn)方法是不一樣的。有的嵌入式處理器具有片上調(diào)試邏輯,調(diào)試工具通過JTAG、BDM、OCDS、NEXUS等接口訪問控制片上調(diào)試邏輯,通過片上調(diào)試邏輯實現(xiàn)硬件斷點。這種硬件斷點的數(shù)量是有限制的。由于不同的嵌入式處理器上的調(diào)試邏輯實現(xiàn)方法不同,因而它們提供的硬件斷點的數(shù)量是不一樣的。在線調(diào)試器(ICD)就是通過訪問控制片上調(diào)試邏輯實現(xiàn)硬件斷點的。沒有片上調(diào)試邏輯的嵌入式處理器不能使用在線調(diào)試器。在線仿真器(ICE)通過基于存儲器的斷點技術(shù)實現(xiàn)硬件斷點。在線仿真器實現(xiàn)的硬件斷點的數(shù)量是沒有限制的。對于沒有片上調(diào)試邏輯的嵌入式處理器,可以考慮用在線仿真器(ICE)進行調(diào)試。
單步是斷點的一種特殊形式,它相當于在下一條指令或程序行上設(shè)置一個斷點,程序啟動運行到斷點停下來。
觸發(fā)用于捕捉所調(diào)試的應(yīng)用程序在運行中出現(xiàn)的某一特定目標狀態(tài)。這一特定的目標狀態(tài)就是通常所說的觸發(fā)條件。觸發(fā)條件通常是處理器的特定的地址、數(shù)據(jù)、控制總線以及內(nèi)部/外部信號狀態(tài)的邏輯組合。當一個觸發(fā)條件不足以描述要捕捉的目標狀態(tài)時,開發(fā)人員通常會使用觸發(fā)序列器(Sequencer)將多個觸發(fā)條件級聯(lián)起來。調(diào)試工具在觸發(fā)發(fā)生之后,要么停止所調(diào)試的應(yīng)用程序的運行,要么增加觸發(fā)記數(shù)器,要么輸出一個觸發(fā)信號,以便通知開發(fā)人員,所要捕捉的觸發(fā)條件已發(fā)生。為了便于開發(fā)人員觀察觸發(fā)發(fā)生之后應(yīng)用程序的執(zhí)行情況,調(diào)試工具通常會提供觸發(fā)滯后的功能。觸發(fā)滯后就是調(diào)試工具在發(fā)生觸發(fā)之后仍然使應(yīng)用程序結(jié)續(xù)運行一段特定的時間之后才將應(yīng)用程序停下來。
不同的調(diào)試工具對觸發(fā)功能的實現(xiàn)程度是不一樣的。在線仿真器(ICE)絕大多數(shù)都可以實現(xiàn)完型的觸發(fā)功能。在線調(diào)試器(ICD)對觸發(fā)功能的實現(xiàn)程度取決于所調(diào)試的嵌入式處理器上的片上調(diào)試邏輯。在線調(diào)試器(ICD)與邏輯分析儀組合,可以宴現(xiàn)較完整的觸發(fā)功能。
開發(fā)人員通常將觸發(fā)功能與下面要講到的跟蹤功能一起使用,來捕捉導致應(yīng)用程序中問題產(chǎn)生自原因。
跟蹤就是記錄所調(diào)試的應(yīng)用程序的執(zhí)行過程,以便開發(fā)人員分析導致應(yīng)用程序出現(xiàn)問題的原因。跟蹤的記錄方式有先進先出方式和壓棧方式。先進先出方式總是記錄應(yīng)用程序停下來之前的新運行過程。在先進先出方式下,如果跟蹤記錄緩沖填滿的話,先跟蹤的記錄就要丟棄,以便填充新的記錄。壓找方式記錄跟蹤開始到跟蹤記錄緩沖被填滿這段時間內(nèi)應(yīng)用程序的運行過程。在壓棧方式下,如果跟蹤記錄緩沖填滿的話,新的應(yīng)用程序執(zhí)行過程將不被記錄。跟蹤還可以有選擇地記錄程序的執(zhí)行過程,例如,只記錄函數(shù)入口和出口的執(zhí)行過程。當然,要進行有選擇跟蹤,開發(fā)人員必須對跟蹤功能進行設(shè)置。
不同的調(diào)試工具對跟蹤功能的實現(xiàn)方式是不一樣的。在線仿真器(ICE)由于其結(jié)構(gòu)的特殊性,它可以捕獲到嵌入式處理器的總線周期,它的跟蹤記錄的小單位就是總線周期。在線仿真器(ICE)調(diào)試軟件譯碼這些總線周期,倒推出程序的執(zhí)行過程。在線調(diào)試器(ICD)因為不能捕獲嵌入式處理器的總線周期,因而決大多數(shù)沒有跟蹤功能。有些嵌入式處理器的片上調(diào)試邏輯能夠?qū)⒊绦虻膱?zhí)行過程信息壓縮之后通過特定的接口送到芯片外部,供外部的調(diào)試工具使用。這樣,在線調(diào)試器(ICD)可以通過增加跟蹤模塊捕獲這些信息的方法實現(xiàn)跟蹤功能。在線調(diào)試器(ICD)調(diào)試軟件從跟蹤模塊記錄的嵌入式處理器送出來的指令流信息,還原出應(yīng)用程序的執(zhí)行過程?;贏RM內(nèi)核的嵌入式處理器芯片上的ETM接口就是一個這樣的接口。通過這種方法實現(xiàn)的跟蹤功能的完善程度完全取決于片上調(diào)試邏輯。
由于邏輯分析儀具有超強的邏輯跟蹤分析功能,因而它可以捕獲記錄嵌入式處理器的總線周期,也可以捕獲記錄來自象ETM這樣的接口的程序執(zhí)行信息,并對這些記錄進行分析,譯碼或還原出應(yīng)用程序的執(zhí)行過程。邏輯分析儀通過觸發(fā)接口與在線調(diào)試器(ICD)協(xié)調(diào)工作,補充在線調(diào)試器(ICD)在跟蹤功能方面的不足,與在線調(diào)試器(ICD)一起為開發(fā)人員提供斷點、觸發(fā)和跟蹤三種調(diào)試手段。
下面以Lauterbach公司的TRACE32-ICD和Tektronix公司的TLA700邏輯分析儀為例,介紹如何將邏輯分析儀與在線調(diào)試器組合成開發(fā)調(diào)試平臺,為開發(fā)人員提供的斷點、觸發(fā)和跟蹤功能。
首先介紹一下Lauterbach公司的TRACE32-ICD。
TRACE32-ICD是在線調(diào)試器。它采用模塊化的設(shè)計,可以支持具有JTAG、BDM、0CDS、NEXUS等調(diào)試接口的嵌入式處理器。它可以為嵌入式處理器的開發(fā)人員提供斷點及觸發(fā)功能(利用片上調(diào)試邏輯)。TRACE32-ICD的調(diào)試器軟件運行在Windows平臺上。TRACE32-ICD通過并口、以太網(wǎng)口、USB口等形式與PC連接。TRACE32-ICD具有觸發(fā)輸入/輸出端口,通過它TRACE32-ICD與邏輯分析儀連接。TRACE32-ICD與邏輯分析儀通過該連接相互觸發(fā),協(xié)調(diào)工作。
接下來,介紹一下Tektronix公司的TLA700邏輯分析儀。
TLA700邏輯分析儀除了具有傳統(tǒng)的邏輯分析儀的邏輯采集和分析功能之外,是它采用了開放靈活的Windows平臺架構(gòu),具有串口、并口及以太網(wǎng)等接口。這樣一來,基于Windows平臺的嵌入式開發(fā)調(diào)試軟件就可以運行在TLA700上。嵌入式處理器的開發(fā)人員可以用TLA700搭建嵌入式開發(fā)調(diào)試平臺。另外,TLA700的HLL源碼支持功能可以直接分析采用IEEE695、OMFx86、COFF、ELF/Dwarf、ELF/Stabs和ASCII格式的可調(diào)試的應(yīng)用程序。這也為它集成在線調(diào)試器,例如,TRACE32-ICD,補充在線調(diào)試器在跟蹤功能方面的不足奠定了基礎(chǔ)。
首先,將TRACE32-ICD的調(diào)試器軟件安裝到TLA700的Windows平臺上。將TRACE32-ICD連接到TLA700的串口、并口或以太網(wǎng)口上。將TRACE32-ICD的觸發(fā)輸入/輸出端口與TLA700的觸發(fā)輸出/輸入端口連接。TRACE32-ICD的調(diào)試電纜與目標板上的JTAG、BDM、0CDS、NEXUS等接口連接,用來控制目標板上的嵌入式處理器。TLA700的邏輯探頭連接到嵌入式處理器的地址、數(shù)據(jù)和控制總線上,采集嵌入式處理器的總線周期,或者連接到片上調(diào)試邏輯的指令流信息接口(例如,ETM口)上,采集嵌入式處理器執(zhí)行的指令流信息。由TRACE32-ICD和TLA700組合成的嵌入式處理器高度平臺與目標板的連接關(guān)系,如圖1所示。
在完成了TRACE32-ICD和TLA700以及目標板之間的連接之后,開發(fā)人員就可以使用這一組合開發(fā)調(diào)試平臺了。
開發(fā)人員首先啟動TLA700,等TLA700啟動完成之后,再來啟動TRACE32-ICD調(diào)試器軟件。在TRACE32-ICD和TLA700都完成了啟動之后,TRACE32-ICD的調(diào)試界面和TLA700的邏輯跟蹤界面就會分別顯示在不同的Windows窗口中。當然,這些顯示都在TLA700自帶的彩色液晶屏上,或者在TLA700外掛的顯示器上。
開發(fā)人員開始真正的調(diào)試工作之前,還要分別對TRACE32-ICD和TLA700進行設(shè)置。當然,這些設(shè)置是在TRACE32-ICD和TLA700各自的Windows窗口中完成的。對TRACE32-ICD的設(shè)置工作主要完成對目標板上的嵌入式處理器的設(shè)備寄存器的初試化,將準備調(diào)試的應(yīng)用程序下載到目標板上的嵌入式處理器的程序存儲器空間,定義觸發(fā)輸入/輸出端口的方向。對TLA700的設(shè)置工作包括定義邏輯通道,用HLL源碼支持功能加載分析TRAC32ICD所下載的可調(diào)試格式(IEEE695、OMFx86、ELF/Dwarf、ELF/Stabs和ASCⅡ)的文件,定義觸發(fā)條件。
接下來,開發(fā)人員就可以開始調(diào)試他們的應(yīng)用程序了。
開發(fā)人員用TRACE32-ICD設(shè)置斷點調(diào)試程序,用TLA700設(shè)置觸發(fā)條件,并由TLA700完成跟蹤功能。
TRACE32-ICD和TLA700如何同步工作呢?這就要借助與TRACE32-ICD和TLA700的觸發(fā)輸入/輸出端子了。
當開發(fā)人員想要用TLA700的強大的觸發(fā)功能來捕捉產(chǎn)生某一特殊目標狀態(tài)的程序時,可以將TRACE32-ICD的觸發(fā)輸入/輸出端子定義為輸入(可以是高電平或低電平觸發(fā)),然后,將TLA700所定義的觸發(fā)條件對應(yīng)到連接TRACE32-ICD的觸發(fā)輸出端子。開發(fā)人員運行程序的時候,如果目標狀態(tài)出現(xiàn),TLA700就會產(chǎn)生觸發(fā)信號送給TRACE32-ICD,TRACE32-ICD在收到這個觸發(fā)信號之后,它就會將開發(fā)人員所調(diào)試的應(yīng)用程序停下來。由于TLA700不停地跟蹤記錄應(yīng)用程序的執(zhí)行情況,這時候,將TLA700停下來,就可以看到產(chǎn)生觸發(fā)前后應(yīng)用程序的執(zhí)行情況。由于TLA有很深的記錄存儲,開發(fā)人員可以觀察到很詳盡的程序執(zhí)行情況。
開發(fā)人員也可以將TRACE32-ICD的觸發(fā)輸入/輸出端子定義為輸出,將該信號連接到TLA700的一個觸發(fā)輸入端子,并設(shè)置TLA700根據(jù)該信號控制跟蹤的啟動或停止。這樣就可以實現(xiàn)跟蹤與程序運行同步,使開發(fā)人員能夠跟蹤到程序在調(diào)試過程中所有的運行情況。
TRACE32-ICD和TLA700給開發(fā)人員提供了靈活的觸發(fā)設(shè)置功能,開發(fā)人員可以充分發(fā)揮聰明才智來設(shè)計復雜的觸發(fā)條件,來捕捉應(yīng)用程序中的問題。
在嵌入式系統(tǒng)的開發(fā)調(diào)試中,開發(fā)人員通常會遇到四類問題:邏輯問題、軟/硬件相互影響問題、軟件實時問題和崩潰問題。應(yīng)用程序邏輯設(shè)計或編碼錯誤或設(shè)計假設(shè)不正確都屬于邏輯錯誤。指令引起的存儲器訪問出錯,應(yīng)用程序在運行過程中出現(xiàn)在數(shù)據(jù)總線上的特定數(shù)據(jù)格式引起的串擾假信號,這些都是軟/硬件相互影響問題。應(yīng)用程序在單步、端點的調(diào)試中都運行正常,而只有在目標系統(tǒng)全速運行的時候才會出問題,這類問題就屬于軟件實時問題。目標系統(tǒng)在運行中發(fā)生系統(tǒng)崩潰,這類問題就是崩潰問題。邏輯問題大約占開發(fā)人員遇到的所有調(diào)試問題的80%。解決這類問題,開發(fā)人員通過在應(yīng)用程序中設(shè)置斷點,檢查寄存器、存儲器、變量等的值來解決。開發(fā)人員解決邏輯問題的時間約占解決所有調(diào)試問題的總時間20%。而解決其它三類問題所用的時間要占到解決所有調(diào)試問題的總時間的80%。這三類問題只靠設(shè)置斷,點的方法,往往是比較難以解決的。由于產(chǎn)生這三類問題的原因通常都比較復雜,所以,開發(fā)人員必須通過觸發(fā)來捕捉這些問題,然后,再通過跟蹤來分析產(chǎn)生這些問題的原因。
傳統(tǒng)地,嵌入式系統(tǒng)的開發(fā)調(diào)試人員通常使用在線仿真器(ICE)來完成端點、觸發(fā)和跟蹤這三種調(diào)試手段。隨著集成電路技術(shù)的不斷發(fā)展,新一代的嵌入式處理器的工作頻率越來越高,封裝越來越表貼化。由于在線仿真器要通過仿真探頭取代目標系統(tǒng)上的嵌入式處理器來和目標系統(tǒng)連接,所以,在線仿真器對新一代的嵌入式處理器而言,連接是一大問題。嵌入式處理器的設(shè)計生產(chǎn)廠商已經(jīng)認識到這個問題。他們在新一代的嵌入式處理器增加了片上調(diào)試邏輯,而訪問片上調(diào)試邏輯只須不到十根連接線,且時鐘頻率不高。在采用新一代的嵌入式處理器來開發(fā)目標系統(tǒng)的時候,越來越多的開發(fā)人員會選擇在線調(diào)試器加邏輯分析儀形式的組合開發(fā)調(diào)試平臺。(本文轉(zhuǎn)載自儀器儀表商務(wù)網(wǎng))
精品一区二区国产88| 欧美亚洲五月天精品| 国产精品草b| 99精品国自产在线偷拍蜜臀| 麻豆画精品传媒一区二区| 欧美亚洲国产精品乱一区二区| 国产精品久久久久久的角色| 又紧又大又爽精品一区二区久久久| 精品人妻少妇无码久久AV| 69精品免费视频| 国产精品人妻熟女大胆23p一区| 亚洲日韩精品一区二区四季| 久久电影国内精品免费| 久久婷婷欧美国产精品| 久久国产精品_国产精品| 久艹精品视频| 青操大象小老弟91这里只有精品| 熟妇人妻不卡无码一区亚洲精品99久久| 亚洲精品成人影片精品成人影片| 大香蕉视频在线精品| 国产精品丰满熟女一区二区| 亚洲精品网站在线精品小黄书 | 日韩精品电影久久久久久久| 日本香蕉精品| 99爱亚洲精品| www.四虎国产精品| 久热精品在线一区| 91探花国产福利精品久久麻豆一区| 国产澳美日韩综合精品| 国产精品不卡午夜福利| 日韩精品午夜福利视频| 亚洲日本韩国久久精品欧美 | 亚洲精品有限公司| 日韩精品欧美激情一区二区,看,国语自| 一级射国产精品区| 国产精品与日韩精品| 91色精品色| 国产精品日本啪啪| 精品免费一区二区三区在| 免费久久99精品国产| 久久亚洲精品天堂| 在线免费观看精品国产一区二区三区| 亚洲精品 啪啪啪| 九九欧美精品| 欧美亚州精品| 漂亮人妻人人操人人爽人人精品| 精品国产三级国产| 九九久久欧美精品麻豆| 日韩精品欧美极品| 男女激情啪啪啪视频国产精品| 国产精品一区二区三区老外a| 日韩精品 不卡一区| 浙中和人人精品国产| 久久久九九亚洲精品视频久久九九 | 大尺度国产精品| 日韩伦理精品伦理片在线观看网站| 精品人妻在线二区| 欧美女同精品| 亚洲精品自拍偷拍网| 亚洲天堂精品观看| 国产精品福利导航一区| 国产精品欧美无| 久久久影院精品| 九九国产精品免费一区| 国产精品000| 精品精品亚洲高清a毛片| 国产白丝精品91爽爽| 亚洲人午夜精品射精日韩| 亚洲精品少妇第四| 精品久久久久美女| 一区精品 - 百度| 精品久久11.| 国产三级精品218| 午夜成人免费福利精品| 亚洲精品国产自在久久| 午夜美女人妻黄色精品| 久久久久国产精品人妻一区| 精品精品 二区| 亚洲性爱精品视频| 久久久99久久精品人妻水蜜| 国产精品久久久久久久黑丝| 一级国产精品亚洲| 欧洲成人无码精品视频资源网 | 不卡国产精品| 国产户外自拍小视频精品一区| 日本成人啪啪啪精品视频| 91亚洲精品国产综合| 国产AV无码专区亚洲精品| 久9久精品网站| 精品 码产区一区二www| 婷婷精品日韩| 国产99精品一区二区三区| 九九色精品视频| 亚洲精品男人| 国产亚洲精品精| 久久精品波多野| 久久99精品視頻| 丰满精品久久| 国产精品无码人妻无码专区一区| 人妻精品久久久久中文字幕69小说| 久久99国产精品久久99| 九九久久这里之有精品 | 欧美精品有限| 日本精品欧美精品| 精品久久久久久九九| 亚洲性精品| 久久国产精品一区少妇| 精品欧美日韩在线| 久久亚洲精品国产亚洲老地址欧美| 精品久久亚洲天堂| 日韩欧美精品网| 国产精品第一页欧美乱伦| 日本综合久久精品| 国产精品国产品三级国产在线| 久久久久久久国产精品人妻| 日韩精品一区二区夜夜爽| 国产精品女国产| 国产理论精品视频91国产| 欧美日韩偷拍视频精品| 亚洲 欧洲精品在线| 精品极品久久久久久| 久久精品人人寸爽人人爽| 中文字墓精品成人视频| 欧美精品1024cc蜜桃久久| 国产精品久久久久久久久密臀| 国产精品久久、| 91精品國產亂碼久久久久| 淫淫亚洲日韩精品| 亚洲精品区m| www.香蕉视频久久精品| 国产一区精品在线免费| 999精品视频一二三| 亚洲福利精品网址| 国产精品久久久久无码黑v黑人| 精品毛片AV| 亚洲日本精品一区 | 精品极品二区| 乱妻精品国产二区| 精品欧美A ∨| 欧美精品狠狠操| 欧美日韩中文无码精品一区| 涩湿在线区精品黄| 日韩高清在线一区二区精品观看| 精品亚洲无码永久| 国产精品无码人妻AⅤ麻豆| 91视频 国产精品| 国产精品岛国久久| 亚洲国产日本中文精品| 久久精品色妇熟妇丰满人妻3| 日韩精品久久久久久免费黑人| 91丝袜精品久久久久久人妻| 青青草99国产精品| 日韩精品中文免费| 日本乱码精品久久久久久| re热久久精品视频一区二区三区三州 | 精品人妻无码一区二区在线影院6699| 国产精品一区二区三区啊啊啊啊啊啊漫画| 百日韩精品久久| 国产精品中文字母在线| 日精品人妻| 久久机热一区精品| 精品一区二区三区蜜臀| 国际精品无码| 日韩欧美国产成人精品在线观看| 精品一区二区三人妻| 日韩国产欧美日韩精品| 久肏国产射精品Porn| 国精品 一区二区三区| 日韩非常精品五区| 熟女精品视频一区二区| 91精品视频区| 91精品超碰| 日韩激情精品| 日本久道精品| 精品久久懂色Av| 黄频在线观看精品成人一区| 欧美精品v日韩精品v国产精品| 精品999日本| 九九九九成人精品免费| 久久视频精品六区| 精品日夲一夲道| 国产精品成仁无码在线久久播放 | 亚洲成人影片在线观看国产精品| 红桃精品 国产精品 | 日韩精品电影午夜在线视频| 羞羞色午夜精品一区二区| 人妻少妇精品视频一区97精品| 亚洲精品自偷自拍| 成人国产精品秘 久久黄色大香蕉| 亚洲国产精品五月天| 精品熟妇一区99| <