AVR開發 Arduino方法(附一) 工具鏈與調試技術


  前文中所有代碼都可以使用Arduino IDE編譯通過,電路圖都是使用Fritzing繪制的。Arduino IDEFritzing都可以運行在多種操作系統上,可以通過以下方式獲取它們:

1. Arduino IDE

  在瀏覽器中訪問https://www.arduino.cc/en/Main/Software

找到“Download the Arduino IDE”,根據自己的操作系統下載相應版本的Arduino IDE即可。如果你使用的是Windows操作系統,建議選擇“Windows Installer”版本,可以省去安裝驅動程序的麻煩。

  Arduino IDE安裝完成后,還需要對它的配置文件進行一些修改,以便進行調試。打開Arduino IDE的配置文件(配置文件的路徑可以通過文件菜單打開首選項對話框找到),在文件末尾添加:

1 build.path=yourpath

yourpath替換成你希望Arduino IDE生成文件的位置,例如“/home/blu/文檔/arduino”

2. Fritzing

  在瀏覽器中訪問http://fritzing.org/download/

根據自己的操作系統下載相應版本的Fritzing即可。

3. 適用於Windows操作系統的調試工具

(1) 使用Proteus進行軟件調試

  打開Proteus軟件,將ATMEGA328P放置到原理圖區域中:

  雙擊放置的ATMEGA328P,打開編輯元件對話框:

點擊“Program File”文本框右側的打開按鈕,找到編譯的.elf文件;將“CLKDIV(Divide clock by 8)”設置為“(1)Unprogrammed”;再將“CKSEL Fuses”設置為“(1111)Ext. Crystal 8.0MHz”;最后將“Advanced Properties”中的“Clock Frequency”設置為“16MHZ”

  點擊調試菜單中的開始/重新啟動調試,會打開“AVR Source Code”“AVR Variables”對話框,從中可以查看程序源代碼以及變量值的情況:

  從“AVR Source Code”對話框中找到主函數,找到setup()函數和loop()函數的調用語句,雙擊打上斷點,運行到斷點處,就可以開始調試了:

(2) 使用Visual Studio進行硬件調試

  安裝帶有C++組件2012或更新版本的Visual Studio后,在http://www.visualmicro.com/page/Arduino-Visual-Studio-Downloads.aspx中下載Visual Micro插件,雙擊安裝;

  插件安裝完成后第一次打開Visual Studio,會彈出“Configure Ide Locations”對話框,在對話框中指定Arduino IDE的版本和安裝路徑,點擊“OK”按鈕;

  在Visual Studio新建菜單中新建一個“Arduino Project”,將Arduino連接到計算機上;然后在工具欄中選擇正確的開發板型號和端口號,就可以像調試本地C++應用程序一樣在Arduino上調試程序了。

4. 適用於Linux操作系統的調試工具

  在Linux操作系統下調試Arduino程序需要以下軟件包:simulavrgdb-avrddd,其中ddd是可選的軟件包,它提供調試器的前端界面。請使用包管理器安裝它們和它們依賴的軟件包。

  安裝完成后,在終端中執行命令:simulavr -L,這會打印simulavr支持的微控制器列表:

列表中沒有ATMega328P,但Arduino IDE可以支持ATMega8。因此在終端中執行命令:simulavr -d atmega8 -g -p 4242。在4242端口啟動一個ATMega8虛擬機:

  在Arduino IDE工具菜單下的開發板子菜單項中選擇“Arduino NG or older”,在處理器子菜單項中選擇“ATMega8”,重新編譯項目。在生成目錄下打開一個新的終端窗口,執行命令:ddd --debugger avr-gdb ./Blink.ino.elf,這會打開DDD窗口:

init()函數上設置斷點,並在底部命令窗口中依次執行命令:

1 target remote localhost:4242
2 load

將程序上傳到ATMega8虛擬機中。點擊“Cont”Continue的縮寫)按鈕,程序會跳轉到主函數的位置,就可以開始調試了:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM