嵌入式軟件測試技術(shù)_第1頁
嵌入式軟件測試技術(shù)_第2頁
嵌入式軟件測試技術(shù)_第3頁
嵌入式軟件測試技術(shù)_第4頁
嵌入式軟件測試技術(shù)_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

嵌入式軟件的實時在線測試哈爾濱工業(yè)大學深圳研究院北京旋極信息技術(shù)有限公司

深圳旋極歷通科技有限公司肖敦鶴1整理ppt嵌入式軟件測試的必要性與測試難度嵌入式系統(tǒng)、嵌入式系統(tǒng)特點、嵌入式軟件特點嵌入式軟件測試與測試方法嵌入式軟件在線測試的方法1:Coverageanalysis

2:Performanceanalysis

3:Logictriggerandtraceanalysis4:Memoryanalysis5:RTOSanalysis嵌入式軟件在線測試和分析工具1:TRACE32-ICE2:

TRACE32-FIRE

3:TRACE32-ICD議程2整理ppt系統(tǒng)處理能力不可置疑,為什么效率如此低,問題在哪里?數(shù)據(jù)采集系統(tǒng)的采樣的數(shù)據(jù)與現(xiàn)場相差甚遠,原因何在?系統(tǒng)運行中,隨機性復位或宕機,硬件、軟件工程師百思不得其解?系統(tǒng)軟件莫名奇妙跑飛,何處使然?我如何捉住寄生在系統(tǒng)中隱藏BUG?無計可施!我咋辦哪?

???問題的提出???真實世界中嵌入式系統(tǒng)常見故障3整理ppt真實世界中嵌入式軟件故障導致的結(jié)果結(jié)果:金融在線事務(wù)處理系統(tǒng)癱瘓電話交換網(wǎng)絡(luò)癱瘓電話系統(tǒng)崩潰,丟失了五千萬次呼叫電腦控制機場行李運送系統(tǒng)出現(xiàn)故障,行李延遲交付或亂成一團。更多的電路板,更多的軟件,更加復雜!4整理ppt軟件質(zhì)量低劣所付出的代價:

如果關(guān)鍵系統(tǒng)出現(xiàn)故障?商務(wù)飛機墜毀反導彈防衛(wèi)系統(tǒng)無法工作核反應(yīng)堆發(fā)生核泄露運送衛(wèi)星的火箭在空中爆炸導彈追蹤衛(wèi)星報告了錯誤的方位…………

5整理ppt我們早已認識到軟件測試重要性

但對于嵌入式軟件測試新的困難又出現(xiàn)了!軟件的測試不如硬件板卡測試普遍測試工作缺乏可度量的管理手段軟件的功能性測試不夠完善,需要新的方法的補充。嵌入式系統(tǒng)代碼量日益增多,測試難度增加系統(tǒng)越復雜,測試越復雜,風險越大…………6整理ppt實時嵌入式系統(tǒng)與仿真環(huán)境不同W.WaytGibbsStaffWriter,ScientificAmerican實時系統(tǒng)中的錯誤通常很難找到原因,因為,就象你的車上的發(fā)動機發(fā)出奇怪的聲音一樣它只在某種條件下才會出現(xiàn)。故障在仿真環(huán)境中無法再現(xiàn)。結(jié)論:我們迫切需要采用合適的工具,從單元集成、系統(tǒng)、現(xiàn)場等各個階段,對嵌入式系統(tǒng)的軟件進行實時在線測試和分析,保證系統(tǒng)的性能和可靠性。7整理ppt嵌入式系統(tǒng)、嵌入式系統(tǒng)組成、特點嵌入式系統(tǒng):以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求、有一定時間約束的實時專用計算機系統(tǒng)嵌入式系統(tǒng)組成:嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)、用戶的應(yīng)用程序等四個部分組成,用于實現(xiàn)對其他設(shè)備的控制、監(jiān)視或管理等功能。實時系統(tǒng)可以部分地從及時完成計算、處理或判斷的能力來辨別嵌入式系統(tǒng)特點:專用性:嵌入式系統(tǒng)通常是面向特定應(yīng)用或特定用戶的系統(tǒng),不同嵌入式系統(tǒng)的硬件和軟件很難通用。高度集成:能夠把通用CPU中許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而有利于嵌入式系統(tǒng)設(shè)計趨于小型化。軟件設(shè)計:嵌入式系統(tǒng)軟件的設(shè)計與硬件關(guān)系密切。軟件往往受限于硬件,很難象非嵌入式系統(tǒng)那樣自由發(fā)揮。開發(fā)的特殊性:嵌入式系統(tǒng)無自舉開發(fā)能力,不能對其中的程序功能進行修改的,必須有一套開發(fā)工具和環(huán)境才能進行開發(fā)8整理ppt嵌入式系統(tǒng)軟件的特征(1)軟件要求固態(tài)化存儲:為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲器芯片或單片機本身中,而不是存貯于磁盤等載體中。(2)軟件代碼高質(zhì)量、高可靠性:盡管半導體技術(shù)的發(fā)展使處理器速度不斷提高、片上存儲器容量不斷增加,但在大多數(shù)應(yīng)用中,存儲空間仍然是寶貴的,還存在實時性的要求。為此要求程序編寫和編譯工具的質(zhì)量要高以減少程序二進制代碼長度、提高執(zhí)行速度。(3)系統(tǒng)軟件(OS)的高實時性是基本要求:在多任務(wù)嵌入式系統(tǒng)中對重要性各不相同的任務(wù)進行統(tǒng)籌兼顧的合理調(diào)度是保證每個任務(wù)及時執(zhí)行的關(guān)鍵,單純通過提高處理器速度是無法完成和沒有效率的,這種任務(wù)調(diào)度只能由優(yōu)化編寫的系統(tǒng)軟件來完成,因此系統(tǒng)軟件的高實時性是基本要求。(4)多任務(wù)操作系統(tǒng)是知識集成的平臺和走向工業(yè)標準化道路的基礎(chǔ)要求嵌入式系統(tǒng)的應(yīng)用軟件是實現(xiàn)嵌入式系統(tǒng)功能的關(guān)鍵,對嵌入式處理器系統(tǒng)軟件和應(yīng)用軟件的要求也和通用計算機有所不同9整理ppt

嵌入式軟件測試自身特點和測試困難1:嵌入式系統(tǒng)實時性要求測試工具準確測試軟件性能2:內(nèi)存有限要求對被測軟件不能附加太多代碼冗余3:軟件與硬件緊密相關(guān)增加測試難度4:嵌入式軟件載入目標機執(zhí)行需要特定的硬件測試工具配套5:嵌入式系統(tǒng)代碼量日益增多,測試難度增加6:嵌入式系統(tǒng)越復雜,測試越復雜,測試風險越大7:實驗測試環(huán)境與真實運行環(huán)境存在差異關(guān)系到嵌入式軟件最

終使用8:測試工具與目標機連接方式影響測試的可靠性10整理ppt

支持開發(fā)的不同階段需要不同的工具SoftwareDevelopmentLifeCycle(t)AppCodePre-HardwareAppCodeAppCodeLANLANEarlyHardware(單元)HardwareProbe主機開發(fā)易于移植費用低在目標板上開發(fā)以太網(wǎng)連接費用低在目標板上開發(fā)和測試實時性能測試產(chǎn)品質(zhì)量保證FinalHardwareDesktopSoftwareOnlyHost+TargetBasedonPCSWMaintenanceTargetHW-ExternalProbesCantata,Attol,MaccabeCantata,AttolTrace32,CodeTEST11整理ppt嵌入式在線測試的特點:實時,在線,精確軟件打點方式(主機+目標機)比較便宜可在CACHE打開下工作對目標系統(tǒng)影響大(超過50%)占用目標系統(tǒng)資源如CPU時間內(nèi)存,通訊通道等only覆蓋率分析缺乏很好的性能分析缺乏內(nèi)存分配分析精確度偏低對目標系統(tǒng)影響小(1-15%)不占用目標系統(tǒng)資源軟件打點技術(shù)強大的性能分析強大的覆蓋率分析強大的內(nèi)存分配分析有限的Trace功能和TraceBuf價格較昂貴可在CACHE打開方式下工作比較精確不影響目標系統(tǒng)(0%)不占用系統(tǒng)資源不用打點強大的性能分析強大覆蓋率分析強大內(nèi)存分配分析強大的RTOS分析強大的觸發(fā)Trace分析軟件測試、調(diào)試、邏輯分析集成化,方便、靈活精確性隨情況變化通過仿真存儲器工作性能價格比高純軟件測試工具高集成硬件工具軟件測試+邏輯觸發(fā)+跟蹤分析

硬件輔助軟件測試工具12整理ppt嵌入式系統(tǒng)測試和分析三步曲插入標記編譯源代碼打點后的源代碼符號數(shù)據(jù)庫符號信息Sun,HP或PC源代碼作標記主機上運行的程序目標對象CPU探頭目標板可執(zhí)行代碼局域網(wǎng)性能分析覆蓋率分析內(nèi)存分析代碼流跟蹤數(shù)據(jù)文件圖形用戶界面處理子程序數(shù)據(jù)結(jié)構(gòu)通訊端口源代碼amc_ctrl_port=0x74100009準備源文件13整理ppt嵌入式軟件常規(guī)的編譯流程14整理ppt嵌入式軟件插樁的編譯流程15整理ppt為性能分析做標記IntAddMove(uint*touch,uintfrom,uintto,Piecebecomes){unsignedlongamc_entry_dummy=(amc_ctrl_port=(enumamctag_t)1947205646); if((board[to]&(7))==invalid|| (board[to]!=empty&&(((board[to]^board[from])&8)==0))){return(amc_ctrl_port=(enumamctag_t)571473934,0);}if(SzMStk<=MSPtr){。。。。。。。。。。。。else{ touch[to]+=1;}return(amc_ctrl_port=(enumamctag_t)571473934,((board[to]&PieceMask)==empty));}蘭色=性能標記16整理ppt標記后的代碼范例if(SzMStk<=MSPtr){MStk=(Move(*)[0])amc_realloc(MStk,(SzMStk+100U)*sizeof(move),(enumamctag_t)672399367);ifMStk==0){fatal(揅ouldn抰reallocMStk!?;}SzMStk+=100;}…………if((becomes&8)!=0){amc_ctrl_port=(enumamctag_t)1141932301; touch[to]+=256;}else{amc_ctrl_port=(enumamctag_t)1141932302; touch[to]+=1;}amc_ctrl_port=(enumamctag_t)1141932303;return((board[to]&PieceMask)==empty);}綠色=覆蓋率標記紅色=內(nèi)存標記標記就是對物理地址的寫信號,可以被硬件的被動探頭檢測到。17整理ppt附錄1:源代碼void draw_fork(intn,tL_or_RforkSide){ intoffset=0; if(LEFT==forkSide) offset=-1; else offset=+1; semTake(semScreen,(-1)); position(screen_row[n]-1,screen_col[n]+offset); printf("v"); position(screen_row[n],screen_col[n]+offset); printf("|"); position_flush(13,1); semGive(semScreen);}18整理ppt附錄2:軟件插樁void draw_fork(intn,tL_or_RforkSide){ctTag(1443921938);{ intoffset=0; if(((LEFT==forkSide)?(ctTag(1464893457),1):(ctTag(1464893456),0))) offset=-1; else offset=+1; ………… position_flush(13,1); semGive(semScreen);}ctTag(1444970515);}19整理ppt附錄3:硬件插樁void draw_fork(intn,tL_or_RforkSide){amc_ctrl_port=0x74100009;{ intoffset=0; if(LEFT==forkSide){amc_ctrl_port=0x44308000; offset=-1;} else{amc_ctrl_port=0x44408001; offset=+1;}amc_ctrl_port=0x44208002; semTake(semScreen,(-1)); ………… semGive(semScreen);}amc_ctrl_port=0x22100009;}20整理ppt單元代碼編程/調(diào)試單元級測試單元代碼編程/調(diào)試單元級測試單元代碼編程/調(diào)試單元級測試集成和測試系統(tǒng)測試和驗證用戶安裝要求分析/設(shè)計這里發(fā)現(xiàn)性能沒有滿足要求在這里發(fā)現(xiàn)了單元級代碼的問題軟件故障=多次(4-8)反復修改技術(shù)支持在這里發(fā)現(xiàn)問題進度在這里延遲進度在這里延遲這里有很多問題這里并沒有作到真正的單元級測試系統(tǒng)越復雜,單元越多功能測試不能滿足要求什么測試階段使用在線測試?低級測試測試在主機上完成,高級測試在目標機實現(xiàn)21整理ppt用在線測試在開發(fā)和測試中節(jié)省時間和金錢UnitTest單元代碼編程/調(diào)試單元級測試單元代碼編程/調(diào)試單元級測試單元代碼編程/調(diào)試單元級測試單元級開發(fā)/測試:優(yōu)化性能100%單元覆蓋刪除內(nèi)存錯誤集成級測試:優(yōu)化性能提高測試用例的覆蓋刪除內(nèi)存錯誤系統(tǒng)測試:確認是否滿足性能需求提高覆蓋的性能縮短整個測試時間集成和測試系統(tǒng)測試和驗證用戶安裝要求分析/設(shè)計22整理ppt嵌入式軟件實時在線測試作用...驗證測試結(jié)果,評估測試的軟件指導測試用例的編寫...代碼優(yōu)化...查找一個內(nèi)存分配錯誤?????23整理ppt123“返回程序員修改”現(xiàn)場故障診斷調(diào)試階段過程可視化嵌入式軟件在線測試的內(nèi)容跟蹤軟件運行代碼覆蓋分析及走勢代碼性能分析代碼內(nèi)存分析遠程接觸真實故障現(xiàn)場分析COTSanalysissolutionBuilt-inanalysis在線測試24整理pptCoverageAnalysisMCDC(條件決策覆蓋)ModifiedConditionDecisionCoverage-MCDCDecisionCoverage-DCCoverage(語句覆蓋)StatementCoverage-SC為何要使用MCDC?不是純軟件模擬;而是終端系統(tǒng)的監(jiān)視不僅可以分析哪些代碼執(zhí)行過,而且可以分析什么條件執(zhí)行和為什么執(zhí)行一些軟件質(zhì)量關(guān)系到人的生命!提供比一般代碼塊覆蓋更詳細、更明確的監(jiān)視滿足特定行業(yè)機構(gòu)的需求,如:FAA–航空FDA–醫(yī)療DOD,空間技術(shù),ISO等25整理ppt工業(yè)質(zhì)量要求

根據(jù)應(yīng)用軟件的重要性分為不同的級別B級–危險的影響需要DC測試差分GPS飛機之間接近感應(yīng)

C級–重要的影響需要SC測試無線數(shù)據(jù)鏈接D級–次要性影響需要BBC測試飛機內(nèi)環(huán)境控制(空調(diào)溫度等)E級–沒有影響函數(shù)進入/退出覆蓋率測試飛機內(nèi)娛樂設(shè)施幾個規(guī)范和要求的例子:航空軟件RTCADO-178B標準EUROCAEED-12B標準對不同級別覆蓋率測試的詳細的報告符合不同級別的條件:A級–災難性的影響需要MC/DC測試引擎控制飛行計算導航處理26整理ppt通常的基本塊覆蓋率度量方法基本塊覆蓋-測量測試中代碼是否已經(jīng)執(zhí)行突出高亮顯示執(zhí)行過的代碼在主機電腦上進行源代碼顯示方法使用printf語句使用調(diào)試工具和設(shè)斷點使用硬件工具測量硬件增強型測量工具27整理ppt覆蓋率:摘要顯示一個頁面就可以顯示整個程序的覆蓋率摘要信息一眼望去,就可以知道當前測試進度。支持把多次測試的數(shù)據(jù)合并28整理ppt在線測試覆蓋率:覆蓋率趨勢知道覆蓋率的增加情況確定何時達到覆蓋率的峰值點交互式,可簡化測試用例的生成保證測量效率前提下縮短測量次數(shù)和時間29整理ppt覆蓋率

測試結(jié)果:發(fā)現(xiàn)程序中的死代碼提高測試覆蓋率有?%沒有測量?覆蓋率可視化實時動態(tài)顯示但是…………一些軟件非常關(guān)鍵基本塊覆蓋并不適用于所有的工業(yè)場合如果只有大約30%的覆蓋率,這樣的測試還遠遠不夠!高亮顯示執(zhí)行過的代碼重點檢查部分函數(shù),審查未執(zhí)行過的代碼行的執(zhí)行條件30整理pptDC-決策覆蓋

包含決策覆蓋和語句覆蓋語句覆蓋摘要:程序的每一條語句被執(zhí)行了至少一次 決策覆蓋摘要:程序中的每一個進入,退出點被執(zhí)行了至少一次,程序中的每一個決策的所有結(jié)果都至少出現(xiàn)過一次。31整理ppt語句覆蓋/決策覆蓋詳述(1)Coverageline5=>A_FUNCTION_ENTRY:5:unsignedgreatest_common_divisorWasEntered[2]*Coverageline12=>A_SEGMENT:12:if(a_working>b_working)NotExecuted[3]*Coverageline14=>A_SEGEMENT:14:a_working-=b_working;NotExecuted(1)Coverageline5=>A_FUNCTION_ENTRY:5:unsignedgreatest_common_divisorWasEntered[2]*Decisionline10=>A_WHILE:10:while(a_working!=b_working)T:NotExecutedF:WasExecuted[3]*Decisionline12=>AN_IF12:if(a_working>b_working)T:NotExecutedF:NotExecuted語句覆蓋決策覆蓋32整理ppt什么是MCDC覆蓋?如何進行?

(MCDC覆蓋不是執(zhí)行了什么代碼,而是在什么條件下

執(zhí)行了代碼,以及為什么執(zhí)行它?)范例:if((cond1)or(cond2))and(cond3) thenABC elseXYZ希望得到的報告:cond1 cond2 cond3 branchTFFFTFTTFFTF

…………等33整理pptMCDC覆蓋條件決策覆蓋條件決策覆蓋率摘要:每一個進入,退出點被執(zhí)行過至少一次,每一個決策都取得過它所有的可能結(jié)果的值至少一次,每一個決策中的每一個條件都曾經(jīng)獨立的影響決策的結(jié)果至少一次,獨立影響的含義是指在其他條件不變的情況下改變某一個條件34整理pptMCDC覆蓋率詳述(1)Coverageline5=>A_FUNCTION_ENTRY:5:unsignedgreatest_common_divisor(unsigneda,unsignedb)WasEntered[2]*Decisionline10=>A_WHILE:10.1:a_working!=b_workingTruthTable:+0:F-f1:T-t IndependeceTests:TrueFalse ----------------*10.1:1:T-t+0:F-f[3]*Decisionline12=>AN_IF:12.1:a_working>b_workingTruthTable:0:F-f1:T-t35整理ppt覆蓋率趨勢一個實際的例子工程測試花了6個小時達到30%覆蓋率一系列同樣的測試花費了48小時增加了37%覆蓋率問題:你的測試中是否有一些重復的測試?如果沒有覆蓋率趨勢顯示,你測試中會有多少天還是多少小時在做無用功?36整理ppt覆蓋率:優(yōu)點提高測試效率通過覆蓋率趨勢,去除不必要的測試通過覆蓋率趨勢,減少測試次數(shù),測試更有效率實時動態(tài)顯示覆蓋率,簡化測試用例生成過程在一個實時運行的目標系統(tǒng)中,確??梢燥@示詳細的軟件運行過程指出嵌入式系統(tǒng)中沒有得到足夠測量的部分-讓你清楚的知道要測量什么地方提高產(chǎn)品質(zhì)量發(fā)現(xiàn)沒有測量過的部分清楚的描述你的代碼被檢驗到了什么程度符合最嚴格的工業(yè)軟件測試標準:有利于通過ISO,醫(yī)療器材和航空器材的認證。提供的報告可以直接在對測試過程和測試條件描述的文檔中使用37整理ppt性能分析特點最優(yōu)化的性能優(yōu)化關(guān)鍵函數(shù)的運算法則高效地優(yōu)化調(diào)用接口糾正任務(wù)的優(yōu)先權(quán)可視化即時,監(jiān)控超過C/C++函數(shù)和任務(wù)統(tǒng)計分析實時測試多窗口顯示函數(shù)和調(diào)用性能分析顯示:函數(shù)活動調(diào)用顯示38整理pptTRACE32/性能任務(wù)性能函數(shù)性能調(diào)用關(guān)系39整理ppt性能分析IdentifyexecutionbottlenecksatTaskandFunctionLevelsMeasurecriticalsoftwaretiming,trueminimumandmaximumexecutiontimesIdentifywhereyourcodeisreallyspendingitsexecutiontime!ObserveyourrealTaskandFunctionNames40整理ppt性能分析和優(yōu)化事例發(fā)現(xiàn)關(guān)鍵任務(wù)執(zhí)行太慢,不滿足要求,速度反常?把兩個函數(shù)每個速度提高10%發(fā)現(xiàn)占用時間多和調(diào)用頻繁的代碼,把它們in-line,性能提高了15%把一個任務(wù)速度提高8%整個系統(tǒng)性能提高20%結(jié)果:性能符合要求,擊敗競爭對手得到大的定單,市場分額增加不用進行昂貴的硬件升級和重新設(shè)計收益估計?41整理ppttrace32/性能分析FunctionAnalysisMin.andmax.time,Average,TotalTimePassesIncludeandexcludetimeLinkAnalysisCallersMin.andmax.timesCallsFunctionNestingShowsfunctioncallhierarchyTimesuspendinsubroutines

42整理pptTrace32/性能分析FunctionTimechartViewcriticalprogrampathsDocumentationDurationExecutiontimeResponsetimeDistanceTimebetweensamplesDistributionInterfaceanalysisInterruptanalysisSystemstateanalysisStatisticalanalysis43整理ppt

內(nèi)存分析特點提前故障警告動態(tài)內(nèi)存分配分析識別內(nèi)存漏洞查出無用的內(nèi)存區(qū)域知道真正的內(nèi)存分配情況可視化的內(nèi)存錯誤提示當出現(xiàn)錯誤時識別精確的邏輯關(guān)系準確地識別每一個錯誤精確定位內(nèi)存錯誤信心在程序運行失敗之前偵測問題的所在44整理ppt內(nèi)存分析顯示分配的內(nèi)存塊的大小檢測內(nèi)存泄露檢測內(nèi)存錯誤“嵌入式軟件測試總是要花太多的時間,并且沒有進行足夠的測試,這是由于軟件開發(fā)者和測試者缺乏可以簡化測試的工具,或工具很難使用?!?/p>

DavidShear-Sr.Analyst,EmbeddedSystemsResearch45整理ppt內(nèi)存分析顯示分配情況內(nèi)存錯誤相應(yīng)的源代碼46整理ppt顯示內(nèi)存分配情況47整理ppt顯示內(nèi)存相應(yīng)的源代碼48整理ppt測試內(nèi)存:優(yōu)點了解程序內(nèi)存分配的真實情況測量內(nèi)存使用情況,發(fā)現(xiàn)對內(nèi)存的不正常使用在系統(tǒng)崩潰前發(fā)現(xiàn)內(nèi)存泄露錯誤發(fā)現(xiàn)內(nèi)存分配錯誤精確顯示發(fā)生錯誤時的上下文情況指出發(fā)生錯誤的原由無須做痛苦的代碼跟蹤,就可以發(fā)現(xiàn)錯誤在問題出現(xiàn)前發(fā)現(xiàn)征兆49整理ppt

WhatiscalledTrace

?WhatfunctionisTrace?HowmanycomponentsareincludedinTrace?TracebuffermemoryLogicBreakpointEventBreakpointLogicTrigger(InputandoutputtriggerandExternalTrigger)ContextTrackingSystem(CTS)邏輯觸發(fā)代碼跟綜分析50整理ppttrace32外部觸發(fā)輸入2inputseachwith8channels2triggerqualifiersforeachtriggerlevelandchannelgroupEachchannelgroupcanbeassigned2triggereventsforeachlevel,definableusingbooleanformulae

51整理ppttrace32事件-events

FreeformatdefinitionofexternaltriggereventsFreeFormatDefinitionofDataEventsDataeventscanbespecifiedwithconstants,masks,rangeorbooleanformulae.HexandMnemonicDisplayofTraceData52整理pptTrace32跟縱系統(tǒng)圖形顯示功能RealtimedisplayTrackingtoListWindowsGraphicalDataDisplayShowA/DConversionVisualizeProgramFlowComplexSearchandCompareFunctionsSaveandReloadofTraceDataPCDisplayonReal-TimeEmulation53整理ppttrace32觸發(fā)輸出3freelyprogrammableoutputsCyclesignalRUNsignalBNCconnectorforoscilloscopetrigger54整理ppttrace32觸發(fā)單元Alloutputoperatorsandinputvariablescanbeinputinsymbolicform.Thetargetprogramsymbolscanalsobeused.FreeFormatDefinitionofData,AddressandTriggerEventsTimeandEventMeasurementswithupto3CountersThereare340bitcountersavailableforeventmeasurementoreventtriggering.Allcountersarere-triggerableandcanbeevaluatedasapartofanexpressioninthetriggersequences.Eachcountercanbeprogrammedasatimerfortimingmeasurementsoraneventcounter.55整理ppttrace32

觸發(fā)記數(shù)器3UniversalCounters-40BitEventcount1to1.1E+12Cycles1to1.1E+12Time100nsto1.3daysRetriggerableSelectivereleaseTriggereventwhencounteriszeroDefinitionoftimeandeventwindows

56整理ppttrace32

觸發(fā)監(jiān)控、觸發(fā)標志AllCounterscanberead`onthefly’TriggerMonitorAdisplayofthecountvalues,thetriggervalues,thetriggerlevelsandthetriggerflagsisavailableinthetriggermonitorwindow.TriggerFlagsIndependentofthetriggerlevels,thereare3freelyprogrammabletriggerflags.Theseflagscanbereadduringtriggeringandcanbeusedasinputvariablesbythetriggersequencer.

57整理ppttrace32觸發(fā)輸入變量READ,USERDATA,OPFETCHCPUstatusPROGBREAKprogrambreakpointLINEhigh-levellinenumberandSPOTspotpointREADBREAKdatareadbreakpointWRITEBREAKdatawritebreakpointA,B,CaddresspointsTRIGG0,TRIGG1bustriggereventsTRIGGERtriggerevents(3perlevel)NMI,RESETtriggereventsfromtheCPUFULLtracememoryfullREAD,WRITTENreadorwriteflagandMAINmainprocessBREAKbreakeventandTIMEOUTtimeoutsignalSYNCHsynchronoustriggerandASYNCHasychronoustriggerECOUNTuniversalcounterzeroandDLATCHtaskmonitor

58整理ppt

trace32

觸發(fā)輸出功能TRACEtracereleaseTRACEONtracememoryonandTRACEOFFtracememoryoffGOTOchangetriggerlevelFLAGONflagonandFLAGOFFflagoffFLAGTOGGLEflagTOGGLETRIGG0,TRIGG1triggeringviaICEBUSMARKERA...MARKERCmarkersintheTRACEmemoryBREAKtriggeremulatorandSTOPbreakEmulatorSPOTspotpointemulatorEXCEPTIONtriggerexceptiongeneratorRESTARTreloadcounterandENABLEenablecounterreleaseOUT0.....OUT2triggeroutputs(testprobe)DLATCHtaskmonitorandLEVELlevelcontrol59整理pptLogicandEventBreakpointExampleforLogicandEventBreakpointWhenAddress=0xffffORAddress=0xffff0000ANDReadANDTracememoryFullThenBreakIfCounterOverflowXORSYNCHTriggerWhileAddress0x10000WriteThenBREAKtriggeremulatorANDSTOPbreakEmulator

EventAndLogicLevel觸發(fā)器設(shè)計范例60整理pptTrace32上下文跟綜系統(tǒng)CTS

Inordertofindoutwhichinstructions,dataorsystemstateshadcausedmalfunctioningofthetargetsystemitwasnecessarytospendalotoftimeanalysingthetracelisting.Thecontexttrackingsystem-CTSforshort-nowallowstorecreatethestateofthetargetsystemataselectedpointbasedontheinformationsampledinthetracebuffer.Fromthisstartingpointtheprogramstepspreviouslyrecordedinrealtimeinthetracememorycanbedebuggedagain.TrackingSystem(CTS)usestheinformationfromthetraceanalyzerwiththehelpofaninstructionsetsimulatortogeneratesystemstatesrelatedtothecursorpositioninthetracebuffer.Youcansinglestepaprogrampart,whichwasexecutedbeforeinrealtime.Thesystemshowslocalandglobalvariablesinmemoryorregistersinthesamewindowsliketheregulardebugger.Steppingispossibleinbothdirections.Reconstructingregistervalueswithinstructionsetsimulatorsissupportedforthe68Kfamily,PowerPC,SH2andARM7.TheC167familyusestheinformationprovidedbythebondouttogettheregistervalues.61整理ppt62整理ppt63整理pptLocalorregistervariablesintracewindow64整理ppt

軟件運行追蹤可以

驗證系統(tǒng)運行

高級方式控制流方式源代碼方式驗證系統(tǒng)運行或運行時間滿足要求65整理pptRTOS測試與分析HighlightsStatisticevaluationandgraphicdisplayoftaskruntimesTaskrelatedevaluationoffunctionruntimesStatisticevaluationandgraphicdisplayoftaskstatesManualexecutedsystemcallsTaskstackcoveragePRACTICEfunctionsforOSdataRTOSrelatedpull-downmenuTaskselectivedebugging

66整理ppttrace32RTOS測試與分析1DisplayofKernelResourcesTasksQueues/SemaphoresMemoryusageMailboxesDisplay'onthefly'67整理pptDetailedResourcesSelectionbynameorIDQueuecontentsMemoryblocksTaskqueuesTaskCPUUsageTimespendinataskNumberofswitchestoataskAveragerunningtimeRatioofCPUtimeusedbytaskMaximumtimeataskisinterruptedbyothertaskstrace32RTOS測試與分析268整理pptTaskActivityTimechartShowsrunningtasksTrackingtootheranalyzerwindows

FunctionNestingDisplayGraphicalfunctionnestingDisplaytaskswitchesCanbecombinedwithanyotheranalyzerdisplays

trace32RTOS測試與分析369整理pptDetailedFunctionPerformanceAnalysisTimespendinfunctionMinium/maximumtimeAveragetimeTimespendinsubroutinesTimefunctionwasinterruptedbyanothertaskNumberofcallsRatioofCPUtime

trace32RTOS測試與分析470整理pptTaskStateAnalysisStates:undefined,ready,running,suspended,waitingTotaltimeofstateMaximumtimeAveragetimeNumberofoccurencesRatioofCPUtimeConfigurabledisplaytrace32RTOS測試與分析571整理pptTaskStateTimechartStates:undefined,ready,running,waiting,suspendedUncoverspriorisationproblemsTimespendincriticalpathsoftheprogram

SystemCallTraceSystemcallwithparametersOriginatingtaskTimeforsystemcall

trace32RTOS測試與分析672整理pptVirtualTerminalsCommunicationtoapplicationwithoutstoppingCPUHigh-speedterminalemulationControloftargetresidentdebuggingtoolsManualSystemCallsSendmessagesSeteventflagsSimulatespecialtargetconditions

trace32RTOS測試與分析773整理pptTaskSelectiveDebuggingAnalyzerandtriggersystemscanbedisabledforeachtaskBreakpointontaskstartContinuesystemoperationwhentasksarestoppedfordebuggingSelectionoftaskwhenmoretasksarestoppedbydebuggerGraphicalDiagramsCPUloadusedCPUloadusedbyonetaskSystemcalls,taskswitchesoreventspersecond

trace32RTOS測試與分析874整理pptFlexibleTimeChartsShowsanyeventgraphicallyRelationofexternaleventstokernelactivitiesDisplayofresponsetime

trace32RTOS測試與分析975整理ppt76整理ppt77整理ppt嵌入式在線測試工具

TRACE32Trace32-ICETrace32-FireTrace32-ICD78整理ppt嵌入式在線測試工具

TRACE32-ICE79整理pptLAUTERBACH-TRACE32-Fire80整理pptTRACE32——開放的體系結(jié)構(gòu)硬件設(shè)計??旎?/p>

Easyadaptationtonewderivatives開放的調(diào)試接口

EasyintegrationwithCompilers,RTOS,CASEtools開放的主機接口

EasyportabletootherHostplatforms81整理pptOneSystemFitsAllTRACE32支持300種以上的微處理器TRACE32支持60種以上的,6種編程語言TRACE32支持15種不同的主機操作系統(tǒng)TRACE32支持的RTOS超過20種Trace32SoftwareTestingTools

82整理pptTRACE32支持的CPU(品牌)一覽:AMD ARM Dallas HitachiIBM Intel Mitsubishi MotorolaNational NEC Oki PhilipsSGS-Thomson Siemens ToshibaZilog ...Trace32SoftwareTestingTools83整理pptTrace32SoftwareTestingToolsTRACE32支持的主機(HOSTS)平臺:DEC/OSF1 VMS/AXPULTRIXHP-UXWindsows3.1/95/98/NTSolaris...84整理pptTrace32SoftwareTestingToolsTRACE32支持的嵌入式RTOS:Nucleus、OSE、Rubus、CMX、RTXC、pSOSVxWORKS...85整理pptTrace32SoftwareTestingToolsTRACE32支持的譯器:Alsys ARM Borland BSO/TaskingCAD-UL Diab-SDS Greenhills HitechHiware HP IAR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論