相關(guān)商品















>
創(chuàng)客利器 >
【創(chuàng)客學(xué)堂】Arduino M0 Pro使用Ardino IDE與Atmel studio實(shí)現(xiàn)在線調(diào)試 【創(chuàng)客學(xué)堂】Arduino M0 Pro使用Ardino IDE與Atmel studio實(shí)現(xiàn)在線調(diào)試
編輯:Salmon2016-05-04 瀏覽次數(shù):3807
1. Arduino M0 Pro功能簡(jiǎn)介
Arduino M0 Pro開(kāi)發(fā)板旨在為人們?cè)谥悄芪锫?lián)網(wǎng)設(shè)備、可穿戴技術(shù)、高科技自動(dòng)化、機(jī)器人技術(shù)以及其他創(chuàng)意項(xiàng)目中提供可用平臺(tái)。該產(chǎn)品有助于開(kāi)發(fā)新項(xiàng)目,非常適合作為學(xué)習(xí)32位應(yīng)用程序開(kāi)發(fā)的教學(xué)工具。
32位ARM Cortex® M0+內(nèi)核的低功耗 Atmel SAMD21 微控制器,Arduino M0 Pro 開(kāi)發(fā)板擴(kuò)充了Arduino 開(kāi)發(fā)板系列,性能進(jìn)一步增強(qiáng),功能更強(qiáng)大。該開(kāi)發(fā)板的一個(gè)主要特色是配備了 Atmel 的嵌入式調(diào)試器 (EDBG),該調(diào)試器提供一個(gè)完整的調(diào)試接口,而且無(wú)需其它硬件,從而大幅提升了軟件調(diào)試的便捷性。EDBG 還支持一個(gè)虛擬的 COM 端口,可以用于為設(shè)備編程,并實(shí)現(xiàn)傳統(tǒng)的Arduino引導(dǎo)裝載程序功能。
該款開(kāi)發(fā)板兼容遵從 ArduinoR3 布局的 3.3VShield,借助一個(gè)被集成到Arduino開(kāi)發(fā)環(huán)境中的定制開(kāi)發(fā)軟件庫(kù),全面支持使用Arduino編程語(yǔ)言對(duì)Arduino M0 Pro進(jìn)行開(kāi)發(fā)。
M0 Pro 的主要硬件規(guī)格包括封裝于48針 LQFP 中的48赫茲 ATSAMD21G18 微控制器、3.3V電壓、256KB閃存、32KB SRAM 和 16KB 仿真 EEPROM。輸入/輸出功能包括帶有12 PWM 通道和 UART 的14個(gè)數(shù)字式I/O插針,6個(gè)12位 ADC 輸入通道和一個(gè)10位的 DAC 輸出。
2. Arduino M0 Pro控制器使用方法
圖3 Arduino M0 Pro主要接口
Arduino M0 Pro提供了兩個(gè)Mini USB。其中靠近電源接口的是EDBG USB可以在線調(diào)試和串口通訊,而原生USB接口只能上傳程序。
3. Arduino IDE軟件使用方法
1)下載最新的Arduino IDE,在Arduino IDE文件夾中找到找到drivers文件夾,找到 driver-atmel-bundle-7.0.712.exe雙擊安裝,安裝完成后,再找到dpinst-x86.exe雙擊安裝。
2) 將Arduino M0 Pro板的EDGE Mini USB接口用USB線連接到計(jì)算機(jī),安裝驅(qū)動(dòng)后系統(tǒng)自動(dòng)識(shí)別一個(gè)Atmel EDBG Data Gateway和一個(gè)虛擬串口EDBG Virtual COM Port(COM號(hào))。
在設(shè)備管理器中如圖所示:
圖4 EDGE Virtual COM Port在windows資源管理器的顯示
3) 將Arduino M0 Pro板的原生Mini USB接口用USB線連接到計(jì)算機(jī),安裝驅(qū)動(dòng)后系統(tǒng)自動(dòng)識(shí)別一個(gè)Arduino M0 PRO Native Port(COM號(hào)),在設(shè)備管理器中如圖所示:
圖5 Native Port在windows資源管理器的顯示
4)配置ArduinoIDE環(huán)境。
Arduino M0 Pro板的Mini USB接口與計(jì)算機(jī)連接,在Arduino IDE中選擇【工具】>【板】>【Arduino M0 Pro(Native Port)】,此接口上傳速度程序相對(duì)慢一些。
Arduino M0 Pro板的EDGE Mini USB接口與計(jì)算機(jī)連接,在Arduino IDE中選擇【工具】>【板】>【Arduino M0 Pro(Programming Port)】,此接口上傳程序速度相對(duì)較快。
注意對(duì)應(yīng)接口要對(duì)應(yīng)板卡里的編程接口,兩個(gè)接口都可以上傳程序。
圖6 Programming Port端口設(shè)置 圖7 Native USB Port端口設(shè)置
4.在線調(diào)試Arduino程序過(guò)程
1)設(shè)置Arduino首選項(xiàng)
圖8 Arduino IDE設(shè)置首選項(xiàng)菜單
2)在顯示詳細(xì)輸出后面的編譯選擇上。
圖9 首選項(xiàng)選項(xiàng)卡
3)我們需要一塊MO Pro的板子、一塊擴(kuò)展板、一個(gè)LED小燈、一根3P接線和一根USB線來(lái)輔助調(diào)試
圖10 輔助調(diào)試所需硬件
4)打開(kāi)要在線調(diào)試的程序,選擇Arduino提供的例子blink,正常編譯下載程序,完成后在提示區(qū)找到Blink.cpp.elf文件位置。
圖11 ArduinoIDE顯示詳細(xì)輸出窗口
5)將LED燈接在拓展板D13引腳上,之后將拓展板插到MO Pro上
圖12 輔助調(diào)試硬件連接
6)找到C:\Users\Administrator\AppData\Local\Temp\build1473069485250126787.tmp\Blink.cpp.elf,將文件路徑復(fù)制下來(lái)。
7)在線調(diào)試必須安裝Atmel Studio,啟動(dòng)Atmel Studio在File下拉菜單Open的下級(jí)菜單中找到Open Object File For Debugging。
圖13 Atmel Studio 打開(kāi)調(diào)試文件菜單
8)將剛才在Arduino IDE中找到的Blink.cpp.elf文件目錄位置復(fù)制到Select the Object File to Debug的輸入框里,選擇下一步。
圖14 Atmel Studio打開(kāi)文件選項(xiàng)卡
9)在device selection下拉列表中選擇芯片型號(hào)ATSAND21G18A,然后選擇Finish完成設(shè)置。
圖15 芯片選擇選項(xiàng)卡
10)在彈出的Remap Object To Desk Files選項(xiàng)卡中點(diǎn)擊第一條輸入框中的文件位置,找到剛才編譯的Blink.ino原文件。
圖16 調(diào)試文件選項(xiàng)卡 圖17 選擇Blink.ino文件對(duì)話框
11)在Solution Explorer中左鍵選擇Blink.ino文件后,在右鍵菜單中選擇打開(kāi)。
圖18 Solution Explorer資源窗口
12)在Blink程序中設(shè)置斷點(diǎn)。
選擇設(shè)置斷點(diǎn)的語(yǔ)句所在的行首,在右鍵菜單中選擇Breakpoint下級(jí)菜單中的insertBreakpoint。
圖19 Atmel Studio Blink文件窗口
13)設(shè)置完斷點(diǎn)后,如圖所示。
圖20 設(shè)置斷點(diǎn)菜單
圖21 程序斷點(diǎn)設(shè)置
圖22 程序斷點(diǎn)設(shè)置結(jié)構(gòu)
14)在設(shè)置完要調(diào)試的斷點(diǎn)后,點(diǎn)選調(diào)試,彈出調(diào)試工具對(duì)話框,在對(duì)話框中Selected debgger/programmer下拉列表中選擇EDGB FFFFFFFFFF FFFFFFFFFF。再次選擇調(diào)試。
圖23 選擇調(diào)試設(shè)備對(duì)話框
15)執(zhí)行一次Start Debgging,程序就會(huì)運(yùn)行到下一個(gè)設(shè)置的調(diào)試斷點(diǎn)。
圖24 開(kāi)始調(diào)試狀態(tài)
16)可以在IO View資源框中直觀看到端口的狀態(tài)。
圖25 IO View 資源窗口
17)在相應(yīng)斷電處,LED燈隨著在線調(diào)試而點(diǎn)亮和熄滅。
圖26 調(diào)試到第一斷點(diǎn),LED小燈點(diǎn)亮
圖27 調(diào)試到第二斷點(diǎn),LED小燈熄滅
5.在線調(diào)試Arduino程序?qū)嵗?/strong>
通過(guò)以上的講解大家是否已經(jīng)初步了解Arduino M0 Pro的優(yōu)勢(shì)所在了呢,下面我們通過(guò)一個(gè)更復(fù)雜的程序與結(jié)構(gòu)來(lái)更深入的了解一下Arduino M0 Pro的在線調(diào)試功能。
1) 在調(diào)試前準(zhǔn)備了一個(gè)自己DIY的小玩具工藝品,還有Arduino M0 Pro一塊,外加一些線材,小工藝品中包括一個(gè)超聲波模塊、一個(gè)360°舵機(jī)。
圖28 所需設(shè)備
2) 調(diào)試之前需將各個(gè)設(shè)備連接好,電機(jī)接到D10接口,超聲波傳感器接到A1接口。
圖29 調(diào)試前按圖連接好各設(shè)備
3)按照上文,將程序用Atmel Studio打開(kāi)后,進(jìn)行到在線調(diào)試的步驟。
4)在程序中設(shè)置兩個(gè)斷點(diǎn)
圖30 設(shè)置兩個(gè)斷點(diǎn),舵機(jī)旋轉(zhuǎn)速度不同
5)當(dāng)程序運(yùn)行到第一斷點(diǎn)時(shí),Arduino M0 Pro控制舵機(jī)轉(zhuǎn)速為1580,舵機(jī)此時(shí)旋轉(zhuǎn)速度相對(duì)較慢。
圖31 調(diào)試到第一斷點(diǎn),舵機(jī)旋轉(zhuǎn)速度為1580
圖32 此時(shí)舵機(jī)旋轉(zhuǎn)相對(duì)較慢,動(dòng)畫(huà)放映慢
6)當(dāng)程序運(yùn)行到第二斷點(diǎn)時(shí),Arduino M0 Pro控制舵機(jī)轉(zhuǎn)速為2000,舵機(jī)此時(shí)旋轉(zhuǎn)速度相對(duì)較塊。
圖33 調(diào)試到第二斷點(diǎn),舵機(jī)旋轉(zhuǎn)速度為2000
圖34 此時(shí)舵機(jī)旋轉(zhuǎn)相對(duì)較快,動(dòng)畫(huà)放映快
至此完成了Arduino M0 Pro控制板簡(jiǎn)單的在線調(diào)試過(guò)程,我們通過(guò)在線調(diào)試可以更加直觀的了解程序的執(zhí)行過(guò)程并了解硬件的運(yùn)行狀態(tài)。
奧松機(jī)器人官網(wǎng):www.robotbase.cn
微信號(hào):搜索公眾號(hào)“奧松機(jī)器人”

QQ群: 271230889(討論,解惑)
微博:@奧松機(jī)器人基地
----------------------------------------------------------------------------------------------------------------
溫馨提示:予人玫瑰,手留余香;如果你喜歡這篇文章,不妨轉(zhuǎn)發(fā)推薦給你身邊的朋友!
相關(guān)文章:
【工善利器】如何打造創(chuàng)客實(shí)驗(yàn)室 簡(jiǎn)談創(chuàng)客必備儀器設(shè)備
【應(yīng)用軟件】用32路舵機(jī)控制器讓機(jī)器人舞動(dòng)起來(lái)
用戶評(píng)價(jià)
暫時(shí)還沒(méi)有任何用戶評(píng)論