飛思卡爾電磁組—iar調試

      前些天因爲傳感器電路板出現問題,因此改進算法,換了傳感器才知道,以前的賽道的識別算法是有缺陷的,還剩下的時間很少了,雖然時間很緊,即便剩下一我的,仍是要堅持到底。linux

      改告終構以後不知道爲啥,程序會跑飛,以前沒有重視軟件調試,這一塊,一直在調硬件,而後來看程序,軟件調試的重要性徹底被忽略了,不過iar的調試界面真心沒有vs的好用。算法

     

⑤ Live Watch 窗口  打開Live Watch 窗口的方法是選擇主菜單View → Live Watch 命令。Live Watch 窗口用於觀察  靜止位置上的變量,如全局變量。變量的值在執行時連續變化。  3.設置和監視斷點  IAR C-SPY 具備強大的斷點功能。詳細請見EWARM USER GUIDE 中的131 頁The break point system。設置斷點最簡單的方法是將光標定位到某條語句,而後按鼠標右鍵選擇Toggle Breakpoint 命令。  ① 設置斷點  點擊要設置斷點的語句,按鼠標右鍵,選擇Toggle Breakpoint (Code)。也能夠按工具條上的Toggle Breakpoint 按鈕。這時該語句上將出現斷點標記。   選擇主菜單View > Breakpoint 能夠打開Breakpoint 窗口觀察斷點設置狀況。如圖中的下部窗口是Breakpoint 窗口。C-SPY 不限制斷點設置的數量,可是任什麼時候候最多隻容許激活一個斷點。在Breakpoint 窗口中定義斷點語句的前面小方框中打勾的是被激活的斷點。用戶能夠在Breakpoint窗口中切換激活的斷點,達到調試的目的。  ② 執行到斷點  按F5 鍵或工具條上的Go 按鈕均可以讓程序執行到斷點。Debug Log 窗口將顯示關於斷點的信息。  ③ 清除斷點  雙擊Breakpoint 窗口中帶勾的方框,能夠容許或禁止斷點。用主菜單Edit > Toggle Breakpoint 或  按鼠標右鍵選擇Toggle Breakpoint,能夠直接從Breakpoint 窗口刪除該斷點。  4.在反彙編窗口上調試  一般,在C\C++程序上調試應該更快速和更直接。可是若是用戶但願在反彙編程序上調試。反彙編程序的調試方法以下:  ① 按Reset 按鈕復位應用程序。  ② 調試時反彙編窗口一般是打開的。若是沒打開可選擇主菜單View > Disassembly 打開反彙編窗口。     ③ 反彙編窗口如圖所示,彙編代碼與C 語句一一對應。執行單步命令時將執行單條彙編語句。  ④ 若是關閉反彙編窗口,單步命令從新執行單條C 語句。  5.監視寄存器  寄存器窗口容許用戶監視和修改STR710 寄存器的內容。選擇主菜單View > Register 打開寄存器窗口,   如圖3顯示的是CPU 寄存器。用戶能夠從寄存器窗口左上方的下拉菜單中選擇須要查看的任何寄存器組。  6.查看存儲器  用戶能夠在存儲器窗口監視所選擇的存儲器區域。  ① 選擇主菜單View >Memory 打開存儲器窗口(用8-bit 顯示數據)。  ② 激活main.c 窗口並雙擊某個變量名並用鼠標將其拖到存儲器窗口。執行單步,同時觀察存儲器的  內容是如何修改的。用戶能夠在存儲器窗口修改存儲單元的內容。只需把插入點放在但願修改的地方,而後輸入新值就能夠了。     7.觀察Terminal I/O  當用戶但願調試應用程序中的stdin和stdout,可是又沒有實際的硬件支持時,C-SPY容許用戶使用Terminal I/O模擬stdin和stdout。在本例中沒有用到此功能。  注意:Terminal I/O 只有在選用了Linker 選件With I/O emulation module 時纔可用。也就是說,某些把stdin 和stdout 指向Terminal I/O 的低級例程將被鏈接進應用程序。  選擇主菜單View > Terminal I/O 顯示I/O 操做的輸出。Terminal I/O 窗口顯示的內容取決於應用程序執行了多遠。     8.執行程序和暫停程序  ① 按F5 鍵,選擇主菜單Debug > Go 或工具條上的Go 按鈕均可以直接運行程序。若是沒有設置斷點,程序一直執行到結束。由於在本例中程序設計成無限循環,用戶須要中止程序運行能夠選擇主菜單Debug → Break。Debug Log 窗口中顯示程序運行狀態的消息。  ② 若是要求復位應用程序,選擇主菜單Debug > Reset 或工具條上的Reset 按鈕。  ③ 若是要退出C-SPY,選擇Debug > Stop Debugging,或工具條上的Stop Debugging 按鈕。