www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]嵌入式系統(tǒng)軟件開發(fā)環(huán)境中調試器的設計

1、程序調式與調試器的設計與概述
   調試就是發(fā)現(xiàn)程序中的錯誤并修改錯誤的過程,在軟件開發(fā)流程中,調試是一個比較重要的環(huán)節(jié)。調試器就是幫助程序員發(fā)現(xiàn)并排除錯誤的軟件工具,它給程序員提供從不同角度觀察程序執(zhí)行情況的能力。同時,好的調試器也是“讀”程序的好幫手,程序員通過調試器調試程序時提供的各種功能和運行時的狀態(tài)信息可以更深刻地理解程序功能??梢哉f調試器的優(yōu)劣是衡量軟件開發(fā)環(huán)境好壞的重要標準。在嵌入式系統(tǒng)軟件開發(fā)環(huán)境中,調試尤顯其重要性。因為許多嵌入式應用系統(tǒng)的軟件規(guī)模并不是太大,也就是說設計和代碼編寫工作量相對較小,而開發(fā)者所面對的硬件對象千差萬別,操作系統(tǒng)和就用程序也往往是綁定在一起的,如何“導出”調式結果信息也是軟硬件開發(fā)者必須考慮的一個問題。
2、調試的一般過程
當程序運行后未得到預期結果,也就是程序有了“問題”,如何從程序的運行結果出發(fā)找到出錯的根源,不同的程序員可能各有自己不同的經(jīng)驗和方法,但基本的調試過程還是類似的,可簡單圖示如下:

500)this.style.width=500;" border="0" />

圖1—1調試的一般過程
3、調試器的分類
 從調試器參與與調試的時機來看,或劃分為靜態(tài)調度器和動態(tài)調器兩類。靜態(tài)調試器的典型做法是在源程序中需要收集信息的位置插入跟蹤語句,然后重新編譯、執(zhí)行程序,程序執(zhí)行完畢后,用調試器分析執(zhí)行時出跟蹤語句保留下來的信息,將分析的結果給程序員作判斷用。動態(tài)調器(又稱源代碼調試器或符號調試器),則是在程序運行的過程中動態(tài)地監(jiān)控程序運行,并提供給程序員控制被調試程序的運行和訪問被調試程序信息的手段。這一類調試器最本質的特征是提供有設置斷點(breakpoint)和單步跟蹤程序運行等能力,被調試程序運行時遇到斷點后便停下來,調試器給程序員提供可從不同的角度觀察程序運行情況的能力,以方便程序找出錯原因,進而修改程序。本論文討論的主要是這類調試器。其實,現(xiàn)在有些調試器這兩種特點兼而有之。
從調試器提供給程序員的抽象層次來分,可分為高層調試器和低層解試器。所謂的低層調試器通常指調試程序時僅能在匯編代碼一級反映程序的運行狀態(tài),程序員只能從指令級和CPU的各種寄存器狀態(tài)中分析程序運行是否正常。高層調試器則指能在高級語言一級反映程序的運行狀態(tài)的調試器。
從使用的被調試程序的功能特點來分,又可分為簡單調試器。并行調試器,分布式調試器等等。
4、調試器設計應遵循的一般原則
●Heisnberg原則:調試器應盡量減少對被調試器對象的影響
特別是對于動態(tài)調試器來說,出于其直接介入了被調度對象的運行,就必須考慮這種介入是否對被調度器程序有所干擾,如果產(chǎn)生了干擾,其反映的被調試對象的信息肯定就不完全真實。對大多數(shù)傳統(tǒng)的順序執(zhí)行的程序而言,出于被調試的程序進行與調試器程序進程不同一虛地址空間,因而不存在多大的干擾。但是,對于并行和分布式系統(tǒng)中的程序調試而言這種干擾就不可避免了,如何盡可能的減少對被調試對象的影響,則是這類調試器設計要考慮的首要問題。
●程序員通過調試器所獲得的信息應真實反映被調試器執(zhí)行的實際情況
如對于高層調試器設計而言,程序實際執(zhí)行代碼的實際位置得與源代碼行應準確對應起來,特別是再考慮到允許編譯器做代碼優(yōu)化工作話,這個原則更必須予以重視,因為代碼優(yōu)化之后,源代碼行與目標代碼指令序列的對應關系遭到破壞,從而也就打亂了目標文件調試信息中的對應關系。故一般調試程序時,都要求編譯器在編譯時不使用優(yōu)化選項。
●盡可能我的給出有關被調試對象的上下文信息[!--empirenews.page--]
調試器應提供給程序員從不角度和層次觀察調試對象狀態(tài)和行為的功能。一般而言,調試器至少得具有斷點設置和查看、單步跟蹤程序執(zhí)行流程、以及程序在斷點處停下來時對各種寄存器和內存內容的訪問、顯示調用棧中函數(shù)的調用關系等等功能。當然,對于多進程和多線程的調試器,還得具有查看進程或線程之間的通信關系,以及它們各自的狀態(tài)信息等等。
5、嵌入式系統(tǒng)軟件開發(fā)中的調試方法
嵌入式系統(tǒng)產(chǎn)品的開發(fā)中,嵌入式操作系統(tǒng)和開發(fā)具起到非常重要的作用。首先嵌入式操作系統(tǒng)機構了軟件開發(fā)的基本執(zhí)行支撐,是軟件開發(fā)的基礎。另一方面,嵌入式系統(tǒng)產(chǎn)品的硬件通常使用專用芯片及System—On—Chinp技術,通常需要新的工具包支持。工具中編譯工具對發(fā)揮芯片的性能至關重要,調試工具對開發(fā)效率至關重要。
對嵌入式系統(tǒng)的軟件開環(huán)境而言,開發(fā)者所面對的硬件對象往往千差萬別,軟件開發(fā)的規(guī)模一般較小,還帶有各種如實時性、內存大不、能耗小、安全性的特殊需求,調試荼就顯成尤為重要。最早期的調試方法基本采取的是“crash and burn”的方法,即把編譯好的目標代碼“燒”到目標板上,讓它跑起來,如果未得到預期結果,仔細檢查源代碼,猜測出問題可能出現(xiàn)的地方,嘗試修試源代碼,再重新“燒”到目標板上,再運行,一直重復這個過程,直到結果正確為止。使用這種方法,猶如在暗室中維修精密儀器,可想而各程序調試的難度有多大。
為了方便嵌入系統(tǒng)中代碼的調試,在硬件上,出現(xiàn)了各種各樣的具有調式功能的調試板(本文稱之為目標板-Target)。如增加了串口,并口,網(wǎng)口使之通過串、并口線或網(wǎng)線并借助另外一臺通用計算機(本文稱之為主機-Host)把調式信息輸出并顯示出來,有的甚至在微代碼一級增加了實現(xiàn)調試功能的指令。在軟件上,也出現(xiàn)了大量嵌入式調試器,即使不是專門向嵌入系統(tǒng)的調試器往往也是一定程度上考慮了嵌入式系統(tǒng)軟件調試功能。如Microsoft.VxWOrks,pSoS均提供圖形化的易用的程序開發(fā)調試環(huán)境,開發(fā)調試環(huán)境已經(jīng)監(jiān)控系統(tǒng)核心(Kernel Aware),可視化整個系統(tǒng)(System Visual)。但由于一些嵌入式系統(tǒng)產(chǎn)品的通常使用專用芯片,其開發(fā)環(huán)境相對較弱,調試器的開發(fā)也必然是完善這些軟件開發(fā)環(huán)境的重要環(huán)節(jié)。
6、嵌入式系統(tǒng)軟件開發(fā)環(huán)境中調試器的特點
●具有跨平臺的交叉調試功能,與嵌入系統(tǒng)軟件開發(fā)環(huán)境的編譯器一樣,被調試程序的運行平臺與調試器本身的運行平臺往往是不一致的。
●一般得具有遠程調試的功能。嵌入式系統(tǒng)中對程序的調試往往通過串口通信,網(wǎng)絡通信等方式來完成調試器與運行目標程序的嵌入式設備的交互。這就使得被調試程序中得有實現(xiàn)這種交互的功能模塊。
●根據(jù)嵌入式硬件環(huán)境的不同特點,針對這種硬件平臺的調試器往往也具備一些獨特功能。
●如果有某類嵌入式設備的仿真環(huán)境的話,相應的應用程序的調試一般先考慮在仿真環(huán)境下調試,以減少調試代價。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

Lua RTOS 是一個實時操作系統(tǒng),設計在嵌入式系統(tǒng)上運行,對 FLASH 和 RAM 內存的要求最低。目前 Lua RTOS 可用于 ESP32, ESP8266 和 PIC32MZ 平臺,并可以輕松移植到其他32位...

關鍵字: Lua RTOS 操作系統(tǒng) 嵌入式系統(tǒng)

通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter),通常稱作UATR,是一種串行、異步、全雙工的收發(fā)器。全雙工的UART支持同時雙向通信,是嵌入式系統(tǒng)必不可少的d...

關鍵字: 異步收發(fā) 傳輸器 嵌入式系統(tǒng)

Flash Memory 是一種非易失性的存儲器。在嵌入式系統(tǒng)中通常用于存放系統(tǒng)、應用和數(shù)據(jù)等。在 PC 系統(tǒng)中,則主要用在固態(tài)硬盤以及主板 BIOS 中。

關鍵字: Flash 存儲器 嵌入式系統(tǒng)

該統(tǒng)一硬件提供靈活的容量,既可為硬件驗證提供更快的編譯,又可為軟件開發(fā)提供更佳的性能 加利福尼亞州山景城2022年9月27日 /美通社/ -- 新思科技(納斯達克股票代碼:SNPS)近日宣布推出業(yè)內首款基于其ZeBu&...

關鍵字: 芯片 硬件仿真 新思科技 軟件開發(fā)

近年來,隨著計算機技術及集成電路技術的發(fā)展,嵌入式技術日漸普及,在通訊、網(wǎng)絡、工控、醫(yī)療、電子等領域發(fā)揮著越來越重要的作用。嵌入式系統(tǒng)無疑成為當前最熱門最有發(fā)展前途的IT應用領域之一。?嵌入式系統(tǒng)一般由嵌入式微處理器、外...

關鍵字: 嵌入式 嵌入式系統(tǒng) 計算機

深圳2022年8月26日 /美通社/ -- 8月17日 – 深圳,AMD Xilinx舉辦為期一天的線下技術日活動,在AMD Xilinx主辦下宜鼎國際作為合作伙伴的身份被邀...

關鍵字: AMD Xilinx AGENT 嵌入式系統(tǒng)

單向散列算法,又稱hash哈希函數(shù),Hash函數(shù)(也稱雜湊算法)就是把任意長的輸入消息串變化成固定長的輸出串的一種函數(shù),該過程是不可逆的。Hash函數(shù)可用于數(shù)字簽名、消息的完整性檢測、消息起源的認證檢測等。較為常用的方法...

關鍵字: 嵌入式算法 嵌入式系統(tǒng)

作為消費者,在我們考慮購買電池供電設備時,通常首先要檢查的關鍵指標之一是一次充電可以使用多長時間。電池壽命已成為許多可穿戴設備的重要賣點,但對于越來越多的工業(yè)物聯(lián)網(wǎng)傳感器和其他類似應用來說,電池壽命同樣也是一個重要的考慮...

關鍵字: 貿澤電子 嵌入式系統(tǒng)

摘要:創(chuàng)造性地將"通用雙公式"模型嵌入到纖維纏繞層網(wǎng)格理論中,解決了因傳統(tǒng)網(wǎng)格理論無法準確模擬纖維紗片在高緯度球殼處的重疊現(xiàn)象而帶來的纖維層結構設計安全裕度大、結構效率低的問題?;谛路椒ɡ碚?以球形復合材料氣瓶為例,分...

關鍵字: 球形COPV 纖維纏繞層結構設計 軟件開發(fā)

(全球TMT2022年7月22日訊)近日,TUV北德在比亞迪汽車工業(yè)公司(簡稱“比亞迪”)總部六角大樓向比亞迪頒發(fā)ASPICE L2級評估證書。ASPICE 全稱為“Automotive Software Proces...

關鍵字: SPICE 比亞迪 汽車 軟件開發(fā)

嵌入式軟件

15715 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉