淘了一塊聯發科 Linkit 7688 DUO 開發板(99元)。 這是一塊物聯網開發板,基於聯發科 Linkit 7688晶片、同時兼容Arduino. 內置OpenWrt系統、支持Wifi聯網,用於開發智能路由器、智能物體等。
上手過程,記錄一下
開發板做得很精緻:
1, 首先去官網, 學一下入門教程:
7688官網入口如下:
https://labs.mediatek.com/site/znch/developer_tools/mediatek_linkit_smar...
進入「入門」, 教程寫得很詳細: 準備硬體及軟體、開發板上電、登錄WebUI設密碼、設置Wifi, 連入網際網路, 電腦SSH登入。。。
官網寫得很好,過程也不難,這裡不重複了
做完這些步,應該能夠讓 LinkIt 7688開發板連接入WIFI,電腦連入同一個WIFI, 用SSH能登入 7688開發板的OpenWrt系統。
然後,才可以做下面這些步。
2,下載 Linkit 7688的規格書 (Datasheet), 了解一下開發板性能
https://labs.mediatek.com/fileMedia/download/9ef51e98-49b1-489a-b27e-391...
7688晶片為MIPS 580MHz, 64M RAM。 開發板上另提供128M 存儲
晶片支持WIFI 802.11N, USB2.0, 及其它常用接口( 多個GPIO,UART, JTAG等)
3,安裝C語言交叉編譯器,在OpenWrt下開發程序
對OpenWrt的系統級開發還是要用C,因此要安裝 C語言交叉編譯器
交叉編譯器,是一種特殊的gcc編譯器,就是在PC上編譯出MIPS的Linux程序
編譯器包括 多個工具軟體(gcc,gdb,make等), 故稱為工具鏈
安裝C語言工具鏈Toolchain:
在7688官網入口中找到進入 "軟體和工具",找到 "OpenWrt SDK" ,點擊下載 Toolchain. (注意:不是下載SDK,而是Toolchain)
交叉編譯工具鏈目前只支持linux 和 Mac OS, 我的機器是Mac, 所以下載的是 Toolchain (OSX)
下載得到文件: MediaTek_LinkIt_Smart_7688_Openwrt_toolchain_OSX.bz2 約35M
解壓縮出一個目錄 : OpenWrt-Toolchain-ramips-mt7688_gcc-4.8-linaro_uClibc-0.9.33.2.Darwin-x86_64
其中有一個子目錄: toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2 所有交叉編譯的C語言工具( gcc , gdb )就在這個目錄中了
為了方便使用,將這個目錄改個名字為 CC_TOOLS, 複製到 Desktop中。
則此時在Mac中, 工具鏈所在目錄的位置是: ~/Desktop/CC_TOOLS
打開Mac的終端窗口, (LaunchPad --> 其他 --> 終端)
輸命令,進入工具鏈所在目錄
cd Desktop/CC_TOOLS/bin
試了一下,好象交叉編譯器中沒有gcc, 要用g++。 用C++編譯器編譯C語言沒有問題的。
運行一下 g++, 查看版本
./mipsel-openwrt-linux-g++ --version
第一次運行,出錯了,顯示 "readlink: illegal option -- f ... ... "
查了一下, mipsel-openwrt-linux-g++ 調用了 mipsel-openwrt-linux-uclibc-wrapper.sh 這個腳本文件
用文本編譯器(我用的是UltraEdit for Mac) 打開mipsel-openwrt-linux-uclibc-wrapper.sh
找到 REALNAME=`readlink -f $0` 這一行, 修改為 REALNAME=`readlink $0` (即去掉 -f ), 存檔。
重新運行一下 g++, 查看版本
./mipsel-openwrt-linux-g++ --version
則此時正常顯示版本號了,表示交叉編譯器gcc安裝基本正確了
寫一個 Hello, world 程序
#include
int main() {
printf("hello,world\n");
}
存檔為 hello.c , 最好存檔在工具鏈 的 bin了目錄下 (因為沒有設置PATH,放在其它目錄下容易出錯)
編譯一下
./mipsel-openwrt-linux-g++ hello.c -o hello
編譯過程顯示了幾個Warning
mipsel-openwrt-linux-uclibc-g++.bin: warning: environment variable 'STAGING_DIR' not defined
不用管它, 編譯正常生成了 hello 程序文件
將Linkit 7688與Mac連入同一個WIFI
用scp命令將 hello程序文件上傳到 Linkit 7688 板上的 /root 目錄中
scp hello root@192.168.31.140:/root (其中:192.168.31.140 是 Linkit 7688連入WIFI網絡後獲得的IP位址,你自己的具體地址不同,要改一下)
用SSH登錄進入 LinkIt 7688, 運行一下 ./hello
則成功顯示:hello,world
表明C語言編譯OK了。
4, 設置PATH路徑
在Mac中,打開終端窗口,輸入命令,用vi編輯 ~/.profile 文件
vi ~/.profile
在文件末尾加入一句話 (設置CC_TOOLS/bin目錄到PATH中)
export PATH=$PATH:~/Desktop/CC_TOOLS/bin
存檔,退出
關閉終端窗口, 再重新打開終端窗口
輸入命令 echo $PATH 查看一下PATH路徑已包含 CC_TOOLS/bin
設好了,則可以在任何目錄下調用編譯器了, 如上例
mipsel-openwrt-linux-uclibc-g++ -o hello hello.c
5, 安裝7688 SDK開發包
在7688官網入口中找到進入 "軟體和工具",找到 "OpenWrt SDK" ,點擊下載 SDK。 (我下的是SDK (OSX) )
下載得到文件:MediaTek_LinkIt_Smart_7688_Openwrt_sdk_OSX.bz2
解壓縮出一個目錄 : OpenWrt-SDK-ramips-mt7688_gcc-4.8-linaro_uClibc-0.9.33.2.Darwin-x86_64
為了方便使用,將這個目錄改個名字為 7688SDK, 複製到 Desktop中。
則此時在Mac中, SDK所在目錄的位置是: ~/Desktop/7688SDK
設置STAGING_DIR環境變量
在Mac中,打開終端窗口,輸入命令,用vi編輯 ~/.profile 文件
vi ~/.profile
在文件末尾加入一句話
export STAGING_DIR=~/Desktop/7688SDK/staging_dir
存檔,退出
關閉終端窗口, 再重新打開終端窗口
輸入命令 echo $STAGING_DIR 查看一下STAGING_DIR環境變量是否已設置好
設好了,再次編譯hello.c, 將沒有warning
C/C++語言交叉編譯開發環境設好了。
來源:愛程序網
Imagination中文社區
權威發布有關Imagination公司CPU,GPU以及連接IP、無線IP最新資訊,提供有關物聯網、可穿戴、通信、汽車電子、醫療電子等應用信息,每日更新大量信息,讓你緊跟技術發展,歡迎免費註冊。網址:imgtec.eetrend.com
想了解更多信息,關注後反饋給我吧!