高通台灣AI黑客松|競賽說明會
|

【Tutorial】LinkIt 7697三種開發環境,輕鬆上手!

   
作者:何信昱

MediaTek(MTK)最新發行的LinkIt 7697開發板,是一塊整合Wi-Fi加低功耗藍芽(BLE)通訊技術的Combo開發板,主打終端(End Point)裝置的物聯網應用。為了降低Maker及入門者的學習及開發門檻,MTK不僅開發了專門用於MediaTek Cloud System(MCS)的Arduino Library,更釋出附有MCS函式的圖形化開發軟體BlocklyDuino,非常適合作為學校物聯網課程的教具,以及快速開發使用MCS的物聯網裝置。

主要規格

  • 基於ARM Cortex-M4 的 MT7697 系統單晶片,時脈 192MHz
  • 支援802.11b/g/n 無線網路
  • 支援Bluetooth 4.2 低功耗藍牙BLE
  • 352 KB RAM
  • 4 MB 外接快閃記憶體
  • 介面:GPIO、UART、I2C、SPI、PWM、EINT、ADC、IrDA 與 I2S
  • 提供 SWD 除錯介面排針
  • 使用 LinkIt SDK 開發,可支援 GCC、IAR Embedded Workbench 以及 Keil uVision IDE(使用指南

認識LinkIt 7697開發環境

LinkIt 7697提供多種途徑進行開發,第一種是延續之前LinkIt系列都有的Arduino開發環境,只要主機有Arduino IDE即可進行;第二種為使用MediaTek提供的LinkIt 7697 SDK來編譯C/C++原始碼,需要在GNU的環境下進行;第三種是使用視覺化開發工具LinkIt 7697 BlocklyDuino editor,它可將圖形化指令轉化成Arduino程式碼,最後再用Arduino IDE寫入7697即可。使用者可依自己的需求選擇使用哪種方式進行開發,以下我們將介紹各種開發環境的安裝步驟,但首先請安裝好硬體驅動程式吧。

安裝硬體驅動程式

1.進入此連結,依照自己的作業系統下載驅動程式,筆者是使用Win10,下載Download VCP (5.3 MB)(Default)。

2.解壓縮下載的檔案後,依照自己的作業系統來安裝驅動程式,照著步驟點選可以了(如果不確定自己的電腦是x86或是x64,可以參考這篇文章,如果是32位元就是x86,64位元就是x64)。

3.將7697連接上電腦之後,進入控制台的裝置管理員,如果連接埠(COM和LPT)有Silicon Labs CP210x…..Bridge,就代表安裝成功了。

一、用Arduino IDE開發7697

1.進入連結,你可以選擇右邊的「贊助並下載」或是左邊的「下載」,安裝完主程式後就可以看到此畫面。

* 或許讀者可能已經有安裝Arduino IDE,需要注意的是,這次7697的板子官方指定要IDE版本 1.8.1,筆者有用拿來跑7688的版本1.6.5 IDE來安裝7697,在新增板子的過程會失敗,所以建議還是使用最新版的Arduino IDE來進行7697的開發。

2.現在的Arduino IDE並無法讀取7697,所以我們要加入7697的開發板資料,點選左上角「檔案」中的「偏好設定」。

3.下方「額外的開發板管理員網址」欄位輸入:http://download.labs.mediatek.com/package_mtk_linkit_7697_index.json後按確定。

4.左上角「工具」中的「開發板:Arduino Uno」選項,點選「開發板管理員」。

5.第一次進去時會自動更新目錄,會花些許時間,好了之後在右上角欄位輸入7697之後點選「Install」,之後回到「開發板」選項點選「LinkIt 7697」。

6.連接7697,點選「檔案」→「範例」→「Basic」→「Blink」,接著在「工具」→「序列埠」點選有LinkIt 7697字樣的COM,上傳成功的話代表Arduino IDE開發環境安裝完成了,我們能看到7697 USR LED會慢慢地一閃一閃。

二、使用7697 BlocklyDuino Editor

由於7697的BlocklyDuino圖形指令有連上MediaTek Cloud System(MCS)的函式供使用,用於開發物聯網裝置非常方便。

1.從這個連結下載套件,點選「Clone or download」,並解壓縮下載的檔案。

2.進入Google Chrome「更多工具」內的「擴充功能」,將解壓縮的資料夾中的「Offline editor」用滑鼠拖曳進擴充功能的頁面,按下BlocklyDuino的「啟動」即可開啟圖形化介面。

3.將圖形指令寫好之後,使用右上角的儲存,程式會自動把它轉換成Arduino原始碼,之後再用IDE寫入7697。

三、LinkIt 7697 SDK

要使用LinkIt 7697 SDK進行開發,需要在GNU的環境下進行編譯,MediaTek建議Windows用戶可以使用MinGW建構類GNU環境來使用LinkIt 7697 SDK,而使用此套件需要使用Linux或是GNU的基本操作指令。

1.點此連結下載並安裝MinGW,開啟「MinGW Installer」,從「Basic Setup」項目中右鍵「mingw32-base」與「msys-base」,點選「Mark for installation」,點選左上角選單「Installation」中的「Apply Changes」。

2.從此連結下載LinkIt SDK壓縮檔,解壓縮後將它儲存在C:\MinGW\msys\1.0\home\<你的系統名>,並將解壓縮後的資料夾改名為sdk_root(以筆者為例子,路徑就會是C:\MinGW\msys\1.0\home\<你的系統名>\sdk_root)。

3.如果你使用的是MinGW,請下載此連結的檔案,解壓縮後將原資料夾名gcc-arm-none-eabi-4_8-2014q3-20140805-win32改為gcc-arm-none-eabi,在sdk_root\tools\gcc路徑下建立新資料夾win,並將gcc-arm-none-eabi貼在win路徑下,完成後以下路徑應該有此檔案…\sdk_root\tools\gcc\win\gcc-arm-none-eabi\bin\arm-none-eabi-gcc.exe。

4.我們現在要試著編譯範例程式,開啟C:\MinGW\msys\1.0路徑下的msys批次檔,輸入以下指令:

cd sdk_root/project/linkit_7697/hal_example/spi_master_polling/GCC

進到此路徑後輸入make,如果最後跑出Done的字眼,就表示編譯完成了。

編譯完成後會產生build資料夾,裡面名為flash_download.ini的檔案是我們要用別的應用程式寫入7697的二進位檔,寫入的方法請看以下的步驟。

使用Flash Tool寫入編譯後的程式碼

目前Flash Tool僅支援Windows作業系統,如果作業系統是Linux或蘋果電腦,可能只能先使用Arduino IDE或是使用虛擬機,我們現在要將編譯後的Blink二進位檔寫入LinkIt 7697:

1.於此連結下載Blink範例程式碼並解壓縮。

2.於此連結下載Flash Tool工具並解壓縮,或是從LinkIt SDK路徑:sdk_root\tools\PC_tool.zip,解壓縮PC_tool.zip後會產生MT7687_FlashTool_Public資料夾,內有mt76x7-flash-tool,我們要使用這個程式。

3.連接電腦與7697,點選「Refresh」,確認Flash Tool 的Com設為與Silicon Labs CP210x…Bridge的Com相同,我們可以呼叫裝置管理員來確認Bridge的Com。

4.點選「Open Folder」,點選Blink資料夾內的「flash_download.ini」,按確定後,確認螢幕上應該會有「Loader」、「TargetFW」、「HostFW」三個項目,將「Format whole flash」、「Download Scatter File」這兩個選項打勾。

5.在寫入檔案之前,我們必須先讓7697進入Flash Recovery模式:

5-1.LinkIt 7697的兩個按鈕如下圖,先同時按住兩個按鈕。

5-2.先放開RST按鈕(USR不放),按下Flash Tool的Start,如果下方進度條顯示Download ATED(進度條會變成黃色的),才可以放開USR按鈕,跳出Command sequence done successfully訊息就表示寫入成功。

5-3.按RST一下後,7697會開始使用讀取並使用我們寫入的二進位檔了,如果7697的LED開始閃爍就代表寫入成功了。

結語

LinkIt 7697 SDK作為開發工具其實不是很友善,Windows使用者必須使用類GNU環境,而寫入二進位檔時卻又是Windows限定,幸虧MediaTek在Arduino方面釋出很多的資源給使用者,所以可以的話,建議還是盡量使用Arduino IDE來進行開發吧!

Severus

訂閱MakerPRO知識充電報

與40000位開發者一同掌握科技創新的技術資訊!

Author: Severus

小小見習工程師,站在巨人的肩膀上,努力想要看到專屬於自己的景色。

Share This Post On
468 ad

1 Comment

  1. 可以在Windows XP下執行嗎? 謝謝

    Post a Reply

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *