2012年3月22日 星期四

NXP LPC1114(cortex M0) 開發環境建置


這星期日才剛上完自強基金會辦的 Cortex M0 課程,以下簡介此開發版並且介紹開發環境建置流程。

這次拿到的板子是  NXP LPC1114(cortex M0)  如下:左邊是 LPC3154(ARM9),右邊是LPC1114(Cortex M0),中間透過 10-pin JTAG連接。因此燒錄image時,便可以有兩種選擇,

  1. 透過 LPC3154的 USB port,使用軟體 LPCXpresso,將程式燒錄製 LPC1114,並且可以透過 JTAG 進行除錯。
  2. 透過開發版上的 USB port, 使用軟體 FlashMagic,直接將程式燒錄製 LPC1114。
LPC1114:32-bit ARM Cortex-M0 microcontroller with 32KB flash, 4KB or 8KB SRAM
LPC3154:ARM926EJ microcontroller with 192KB SRAM, USB High-speed OTG, SD/MMC, NAND flash controller, audio codec, and decryption engine





而開發版的底座,則提供了六組switch開關,三個LED,一個UART,兩個USB,和一個可以顯示兩行的LCD。


以下分成三部分介紹

1. 軟體建置,安裝 LPCXpresso

  • 使用新建的帳號登入網頁,此時會出現軟體下載的連結,選擇 Download,此處我選擇下載的版本為 LPCXpresso v4.2.0 Build 264,大小約208MB。



  • 安裝軟體後,此時此軟體所能夠編譯的程式碼大小限制在8KB內,透過註冊程序,可以將此限制改為128KB。若需要編譯更大的程式碼,則需要付費。註冊流程圖示如下:
1. [HELP] -> [Product Activation] -> [Create Serial number and Activate],按下"OK"

 2. LPCXpresso會自動打開網頁,此時選擇Send me My Activation Code

3. 輸入Email中的 Activation code,完成註冊。
 4. [HELP] -> [Product Activation] -> [Display license type],此時看到的 Debug limit 已經改成 128KB 了。若開發的程式會超過此限制,又沒有經費購買FULL copy,那麼可以考慮改成使用 open source 的 tool chain,請參考這裡


2. 硬體建置
使用USB連接 LPC3154 與 PC,Windows會自動安裝驅動程式(已在WinXP與Win7測試無誤)。


3. 基本測試
測試程式範例壓縮檔為C:\nxp\LPCXpresso_4.2.0_264\lpcxpresso\Examples\NXP\LPC1000\LPC11xx\NXP_LPCXpresso1114-302_2011-02-07.zip,此檔案不需要解壓縮。
使用方式如下:
  • 使用 LPCXpresso 選擇 import project。
  • 選擇上述範例檔案,按下OK即可載入所有範例程式。


  • 接著選擇想要執行的範例,最簡單的範例就是 blinky, 執行結果會使得板子上的 LED 持續閃爍。
  • 至此,後續便可以基於此workspace,開發自己的專案程式。

4. 若使用 Flash Magic,則需要將編譯好的檔案轉成 *.hex 格式,再作燒錄的動作。



待解的問題:
  1. Flash magic燒錄程式碼時,若使用 Win7 64bit 環境,使用 USB 連接底部的開發版,無法正確安裝驅動程式,因此在Win7 64bit環境,需要透過ComPort燒錄,問題待解。補充:WinXP下,會自動安裝驅動程式,並且將此 USB 對應成某一個 Virtual Com Port。 (FTDI??)
  2. 此開發版的 LPC3154 的 J-TAG 是否能夠用來 debug 別的板子?若能,該如何操作?


參考資料

  1. LPC1114 官方的開發說明  http://ics.nxp.com/lpcxpresso/~LPC1114/ 。
  2. LPCXpresso 軟體使用說明 http://ics.nxp.com/support/documents/microcontrollers/pdf/lpcxpresso.getting.started.pdf 
  3. Flash magic 官方網站 http://www.flashmagictool.com/