skip to main | skip to sidebar

顯示具有 Embeda 標籤的文章。 顯示所有文章
顯示具有 Embeda 標籤的文章。 顯示所有文章

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 

參考資料

2012年12月30日 星期日

安裝 LPCXpresso

這篇將說明 LPCXpresso 的安裝與設定,我把安裝程序分成三個部份:

  1. 安裝 LPCXpresso
  2. 安裝 Subversion, RSE 與 RXTX 外掛
  3. 設定環境

STEP 1:安裝 LPCXpresso

  • 到 Code-Red 的 LPCXpresso 官網註冊一個帳號:http://lpcxpresso.code-red-tech.com/LPCXpresso/
  • 用你註冊的帳號登入 LPCXpresso 官網,然後點 Download。寫這篇時,我下載的是 LPCXpresso v4.3.0,大小為 216 MB。

image_thumb[1]

  • 裝好軟體後,啟動時會出現底下的警告,說軟體沒註冊 Debug code size 將限制在 8KB 內,必須進行產品啟動才能將限制放寬到 128KB:

image_thumb[2]

  • 點選 Help > Product activation > Create Serial number and Activate,然後把底下視窗兩個選項都打勾:

image_thumb[3]

  • 此時會自動打開瀏覽器連到 Code-Red 網站:

image_thumb[5]

  • 直接點選 "Send me my activation code",然後到你的 Email 信箱收 Activation Code
  • 點 Help > Product activation > Enter Activation code,輸入 Email 收到的 Activation Code:

image_thumb[6]

  • 產品啟動完成後,便會看到 Debug limit 已擴增到 128k(備註:這裏簡單說明一下,有關 LPCXpresso 的 Code Size 限制,是指 Debug mode 下最多 128k,但是在 Release mode 是沒有限制的):

image_thumb[7]

STEP 2:安裝 Subversion, RSE 與 RXTX 外掛

  • 點 File > Switch Workspace > Other 把 Workspace 改到沒有中文路徑名的目錄,避免 LPCXpresso 發生水土不服的狀況
  • 點 Help > Install New Software,輸入 Subversion 外掛來源:http://subclipse.tigris.org/update_1.8.x,然後照下圖勾選必要的選項,按下 Next 並照安裝指示把 Subersion 外掛裝起來

image_thumb[8]

  • 點 Help > Install New Software,輸入 RSE (Remote System Explorer) 外掛來源:http://download.eclipse.org/tm/updates/3.4,然後照下圖勾選必要的選項,按下 Next 並照安裝指示把 RSE 外掛裝起來

image_thumb[9]

  • 點 Help > Install New Software,輸入 RXTX 外掛來源:http://rxtx.qbang.org/eclipse,然後照下圖勾選必要的選項,按下 Next 並照安裝指示把 RXTX 外掛裝起來

image_thumb[10]

STEP 3:設定環境

  • 點 Window > Show View > Other,出現底下視窗後,選擇 SVN 檔案庫:

image

  • 你可以選擇把 SVN 檔案庫 VIEW 拉到比較方便的位置,如:

image

  • 完成後的畫面:

image

  • 點 Window > Show View > Other,出現底下視窗後,選擇 Remote Systems:

image

  • 你可以選擇把 Remote Systems VIEW 拉到比較方便的位置,如:

image

  • 完成後的畫面:

image

以上是 LPCXpresso 安裝程序的概略說明 ,如果你需要一步步的安裝介紹,可以參考「LPCXpresso + FreeRTOS 即時多工.全新體驗」這份講義。當你裝好 LPCXpresso 後,泡杯濃縮咖啡喝,休息一下吧。

參考資料

2012年12月27日 星期四

nano1768 與 UNOT.NET 簡介

nano1768

nano1768 是一塊基於 ARM Cortex-M 32-bit MCU 的板子,很適合當作雛型開發的平台 (prototyping platform)。它是台灣英倍達國際設計研發的產品。

21207130289072_508         
▲ nano1768

nano1768 的尺寸很迷你,長寬只有 54mm x 26mm,雖然如此,它的心臟卻很強,因為它用的是 NXP LPC1768 32 位元微控制器,運算速度高達 100 MHz。內建 Ethernet, USB,而且還有豐富的周邊介面與 Flash 記憶體,如果你詳細看它的規格 會發現 nano1768 的硬體功能遠比傳統 8 位元微控制器強大很多。

nano1768-dimension-00 nano1768-bottom

底下摘要條列一些我認為是 nano1768 的特色,完整技術規格可以在英倍達國際網站這個頁面上找到。

核心:

  • Core: ARM Cortex-M3
  • Frequency: 100 MHz
  • Flash: 512 KB
  • microSD: 128 MB up to 16 GB, FAT32
  • RAM: 64 KB (User RAM: 32 KB)
  • Power (Vin): 60-120 mA (USB 5V or DC 9-12V)

周邊:

  • 10/100 base Ethernet x 1
  • USB Host/Device x 1
  • GPIO x 26
  • UART x 3
  • CAN Bus x 2
  • SPI x 2
  • I2C x 2
  • PWM x 6
  • ADC x 6
  • DAC x 1

Pin Assignment

21207130289072_49

UNO.NET

為了讓熟悉 Arduino 的使用者順利進入 nano1768 的世界,英倍達國際另外設計了一塊與 Arduino 相容的板子 UNO.NET。當你拿到 UNO.NET 後,在包裝盒裏會看到如下的內容:

apk uno-02
▲ 圖片來源:英倍達國際。圖中 Android 公仔並不包含在產品包裝內,可別誤會了。

其實可以這樣說,UNO.NET 只是一個殼而已,在使用的時候,你必須讓 nano1768 跟 UNO.NET 兩個合體,也就是把 nano1768 疊在 UNO.NET 身上才行,沒有 nano1768 的話 UNO.NET 是動不了的。如果沒有特別聲明,之後文中提到 UNO.NET 時,指的都是合體後的悟天克斯,唔,我是說 nano1768+UNO.NET。

看一下底下這張照片,你可以看到 UNO.NET 的腳位與 Arduino 完全相容,當然,相較於 Arduino,UNO.NET 的硬體能力有過之而無不及,因為 UNO.NET 的周邊多很多,而且還有 Ethernet 與 USB Host 通訊的能力:

 

21207103614614_321

值得注意的是,nano1768/UNO.NET 可以透過 USB 供電,但是它用的是 USB A/Mini-B 的 cable。

你也許會問「那程式的開發跟 Arduino 一樣嗎?」,嗯,應該這麼說,nano1768-UNO.NET 有一個叫作 uCXpresso Framework 可以讓你開發程式,但是如果你還是習慣 Arduino 的寫程式風格 (Coding Style),也沒關係,因為英倍達國際已經把 Arduino core library 移殖到 nano1768-UNO.NET 上,所以你仍然可以像在寫 Arduino 的程式一樣使用 nano1768-UNO.NET。

IDE

nano1768 軟體開發環境使用的是 LPCXpresso,它是 Elicpse-based 的 IDE,如果你熟 Eclipse,很快就可以上手。LPCXpresso 的介面如下:

ide

小結

nano1768 是硬體功能非常強大的一個微控制器開發平台,尤其它具備 Ethernet 和 USB Host 介面而且還有 microSD,很適合做網路應用, USB 應用,甚至結合手機與雲端服務開發各式感測、監控與自動化的應用。在台灣的開放硬體世界中,nano1768 的軟體和硬體技術算是很有水準的,所以在技術服務方面應該不是問題,不至於會發生找不到支援的狀況。衷心期待將來會看到更多 nano1768 的應用。

參考資料

2012年10月26日 星期五

「當 LPCXpresso 遇見 RTOS」研討會

明天在松山工農有一場由英倍達國際 (Embeda Technology Inc.) 主辦的「當 LPCXpresso 遇見 RTOS」研討會。屆時不只會有 NXP LPC1114 ARM Cortex-M0 的介紹,Embeda 也將帶領與會者上手他們自家的產品 nano1768 ,並示範結合手機, HTML5 與 WebSocket 等技術的應用。假如你也有關注 Embeda 的 Facebook 動態,最近你可能會注意到一件有趣的事,Embeda 使用 nano1768 和 Facebook API 做了一個可以在七段顯示器上即時顯示按讚次數的應用,那真的很酷!也許明天在現場也會看到。

LPC1114  21207130289072_206
▲ 左圖: NXP LPC1114 開發板,右圖: Embeda nano1768

最近有一個值得注意的消息,就是 Arduino Due 終於在前幾天問世了,Due 使用的 MCU 是 Atmel AT91SAM3X8E ARM Cortex-M3,nano1768 則是基於 NXP LPC1768 ARM Cortex-M3 的學習板,Due 和 nano1768 它們兩個所用的都是 32 位元的微控制器 (Microcontroller)。從最近這些訊息,可以隱約感覺到 32 位元 MCU 的時代真的已經來臨了!

如果你有報名參加這場研討會,期待明天可以一起學習交流,如果你向隅或不克參加,那也沒關係,你仍然可以知道明天的活動內容,因為 Embeda 已經把上課講義放網路上了,你可以在底下的連結中下載回去閱讀:

LPCXpresso+RTOS 上課講義

明天的活動行程:

活動內容

訂閱: 文章 (Atom)
 

AltStyle によって変換されたページ (->オリジナル) /