2013年1月2日 星期三

Getting Started with nano1768

前言

這篇將告訴你如何開始使用 nano1768。只要跟著這篇的步驟做一遍,你就可以學會透過 Subversion 取出 uCXpresso Framework、下載 Blink 範例程式,以及學會如何上傳程式到 nano1768 上,完成最基本的入門工作。

註:我假設你作業系統上已經裝好了 LPCXpresso,如果你還沒裝,可以參考「安裝 LPCXpresso」先把軟體環境裝起來。

材料表

1) 一張 nano1768 板子

21207130289072_508

2) 一條 USB A/Mini-B cable 與一條 Ethernet 網路線

USBmini       network_cable__350_mhz__cat_5e

 

STEP 1:取出 uCXpresso

參考下圖,在 SVN 檔案庫中點一下 image 圖示:

image

之後會看到這個視窗,此時輸入 http://ucxpresso.googlecode.com/svn/trunk/nano1768/,然後按下 Finish:

image

如果連線順利,應該會看到如下的結果:

image

接著在 uCXpresso 上按滑鼠右鍵,並在右鍵選單中點「取出為 (A)…」:

image

完成後,切到 Project Explorer,如果有看到底下的結果,表示已經成功從 google 取出 uCXpresso:

image

STEP 2: 取出與編譯 blinkLED 專案

接著取出 BlinkLED 範例,我們將用 BlinkLED 範例學習如何編譯與上傳程式到 nano1768 板子上。

nano1768 所有範例都放在網路上,所以取出的方式也是一樣的:先切到 SVN 檔案庫,展開 examples/majorLab,在 blinkLED 上按滑鼠右鍵,然後點選「取出為(A)…」:

image

接著直接按下 Finish:

image

完成後,Project Explorer 中就會多出一個 blinkLED 專案:

image

底下是 blinkLED 主程式 main.cpp 的完整程式碼:

本文是教你編譯與上傳程式到 nano1768 板子上,介紹程式的寫法不是本文的目的,因此這裏將不特別解釋上列程式。

接著只要確定 Project Explorer 中有選取 blinkLED 專案,然後再按下工具列的 image 圖示就可以編譯 blinkLED。編譯完成後,在專案 Debug 資料夾下就會產生 blinkLED.bin 程式檔。

image

接著你就可以繼續進行 STEP 3 把 blinkLED.bin 上傳到 nano1768 板子上。

註:由於 LPCXpresso 版本更迭頻繁,新的版本可能會影響範例程式的運作,如果在編譯時遇到 "blinkLED.axf section `.bss' will not fit in region `RamLoc32'" 之類的錯誤,請不要擔心,你只要把 main.cpp L23 這行 static uint8_t pool[24000]; 的陣列大小縮小一點即可,例如改成 14 * 1024。

STEP 3: 上傳程式到 nano1768

如下圖,所有的 nano1768 在出廠後,在其 microSD 中預設會有這樣的目錄結構。要把程式上傳到 nano1768 上,方法很簡單,只要把程式檔 (例如 blinkLED.bin) 上傳到 kernel 資料夾即可。

image

上傳程式的方法有兩種,一種是 FTP,另一種是用 USB。我們先來學習用 FTP 上傳程式:

你可以用任一套 FTP 軟體來上傳檔案,這裏以 FileZilla 為例說明。首先連線到 nano1768,你必須輸入主機名稱或 IP 位址以及使用者名稱與密碼,nano1768 的主機名稱預設是 nano1768,而使用者名稱與密碼預設為 admin/admin

image

登入後,只要把 blinkLED.bin 上傳到 nano1768 的 kernel 資料夾即可:

image

當 FTP 斷線後,nano1768 會自動檢查 kernel 資料夾裏的檔案,如果發現 kernel 資料夾裏有 bin 檔,就會自動燒錄 bin 檔到晶片上並重開機。所以接著我們只要關閉 FileZilla 的連線,nano1768 就會自動更新韌體了。

註:我發現,在 FileZilla 按 Ctrl+D 後,連線斷的不是很乾淨。當你把程式檔上傳到 nano1768 後,建議把 FileZilla 程式整個關閉,就可以確保 nano1768 會自動更新並重開機。

blinkLED 這支程式會讓 nano1768 的 LED1 每隔 200 ms 閃爍一下,所以當你完成上傳的動作後,這時候應該就會 nano1768 的 LED1 會一下亮、一下滅,不停的切換:
nano1768-leds-00

前面提到,nano1768 上傳程式的方法有兩種,另一種是用 USB,方法為:

(1) 先按一下 nano1768 的 ISP 按鈕,此時板子上四顆 LED 會同時閃爍 ,而且如下圖所示,這時候電腦上會多出一個磁碟機。
(2) 把程式檔 (如 blinkLED.bin) 放到 kernel 資料夾。
(3) 再按一下 ISP 按鈕,完成。

image

用 USB 上傳程式也是很簡單,只是你必須動手去按 ISP 按鈕,按久了可能會覺得麻煩,而且人必須親臨現場才能做,不如 FTP 方便。

到這裏,你已經學會編譯 nano1768 的程式,而且也知道如何用上傳程式到 nano1768 了,現在你已經可以開始使用 nano1768 來開發程式。你也許想順便參考英倍達國際網站上的 "2-1-2 Burn Code (USB)" 與 "2-1-3 Burn Code (FTP)",這兩篇文章教你如何在 LPCXpresso 裏上傳程式。

如果你要建立新專案,方法一樣是從 SVN 檔案庫取出,如下圖,你可以選擇取出 new_arduino 或是取出 new_project,取出之後,你只要按 F2 重新命名專案即可。詳細的說明可以參考英倍達國際網站上 "2-1-1 Blink LED" 一文。

image

備註:

當你用 USB cable 把 nano1768 接到電腦 USB 埠時,如下圖,在裝置管理員中,可能會看到無法辨識的裝置:

image

你可以到英倍達國際網站上下載 USB CDC Driver 回來安裝驅動程式。不過,其實 nano1768 的 microSD 上也有驅動程式,你只要先按一下 ISP 按鈕,參考下圖把 driver 目錄下的 usbser.inf 複製一份到電腦上,接著再按一下 ISP 按鈕讓 nano1768 回到 Run mode,回到裝置管理員更新驅動程式,然後把驅動程式路徑指到 usbser.inf 所在的資料夾即可。

image

如下圖,之後在連接埠底下就會多出一個 Virtual COM Port:

image 

參考資料

0 意見: