汽車嵌入式軟件調試的三個技巧_第1頁
汽車嵌入式軟件調試的三個技巧_第2頁
汽車嵌入式軟件調試的三個技巧_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

技巧一對全局變量值的監(jiān)控在C語言中代碼分為全局變量和局部變量,全局變量存儲在單片機的RAM里面,局部變量存儲在棧里面,調試器可以隨時查看修改全局變量,我們可以通過全部變量的值來查看對模塊的配置情況,以及變量的賦值情況。這些內容都是入門單片機的工程師就了解到的。但是在實際的項目中這個功能是最基礎的也是最關鍵的。舉幾個小例子,在調試的時候,我們需要查看一些局部變量的值,有些情況可以在Locals界面查看,但是這個界面并不能查看所有局部變量的值,為了查看局部變量的值,我們可以新建一個與局部變量相同類型的值,在代碼中不斷的將局部變量賦值給全部變量,我們就可以通過查看全局變量,間接的查看關鍵局部變量的值。在實際的項目中,我們可能要對一些參數(shù)進行調參,我們可以不停的修改代碼,編譯,然后將生產的elf文件燒錄到單片機,如果使用這種方法不僅降低工作效率,還有可能不斷的燒錄代碼損壞單片機,最主要是麻煩,讓工作及其不爽,此時就可以雙擊變量值的位置修改全局變量的值,以下圖為例,我們在工作中需要不斷的修改不同PWM的輸出占空比,來找到項目中最需要的占空比,可以先修改DutyCycle的值,然后將Test_Flag置為1或者2來讓設置占空比的函數(shù)執(zhí)行一次,使用這個方法,可以大大的提高工作的執(zhí)行效率。技巧二Callstack功能的使用在項目的開發(fā)中,時常出現(xiàn)進入Det的情況,可能是我們的配置有錯,又或者是賦值有錯,因為種種的失誤,無可避免的讓函數(shù)進入Det,函數(shù)進入死循環(huán),此刻,CallStack功能就非常的好用,我們可以讓函數(shù)暫停,然后打開CallStack界面來查看由于那一個函數(shù)進入Det,導致函數(shù)進入死循環(huán),可以一步一步的解決問題。雙節(jié)函數(shù)在右面對應的窗口就可以進入相應的函數(shù),非常方便調試。技巧三Memory功能的使用在查看變量的時候,我們一般使用watch窗口,但是在查看大量數(shù)據(jù)時,比如SPI的緩存數(shù)據(jù)使用watch窗口的話,會發(fā)現(xiàn)嚴重的干擾程序的運行,表現(xiàn)為數(shù)據(jù)刷新緩慢,但是使用Memory就非常棒,刷新非常流暢,所以查看大數(shù)據(jù)時,采用memory窗口就很有優(yōu)勢了。在項目中由于各種原因,例如調試工具的配置問題,導致下載進入的程序是一致的但是單片機的功能就是不一致,此時就可以通過memory窗口把Flash的數(shù)據(jù)全部拷貝出來,然后使用工具進行對比來查看燒錄進單片機的代碼是否一致。由于時間的原因,暫時分享以上三個開

溫馨提示

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

評論

0/150

提交評論