更多資料,請參考:中電港論壇 http://bbs.cecport.com/forum.php?mod=forumdisplay&fid=64&page=1
感謝中電港,低價QCA4010開發闆入手,終于騰出時間來研究一下這個高大上的開發闆
4010與4004一樣,内部內建了Tensilica Xtensa處理器,主頻可達130MHz。Xtensa處理器是Tensilica公司推出的一個可自由裝組、可彈性擴張,并可以自動合成的處理器核心,它的指令集構架
(ISA) 擁有專利權,32位處理器的結構特色是有一套專門為嵌入式系統設計、精簡而高效能的16與24位指令集。如要更進一步了解 Xtensa 處理器的功能,請通路該公司的官網。
開發闆提供的資料不多,僅有的一些資料也是分散得很,得自己爬論壇一個一個的找。經過幾天的摸索,終于把開發環境搭建好了。
開發環境的搭建包括兩個方面的内容,第一是ART工具的使用環境準備,第二是編譯環境的準備。
ART工具的全稱是Qualcomm Atheros Radio Tool 2 for Internet of Everything的簡稱,實際上這就是個測試與燒錄固件的程式。當然這個工具還有其它的一些功能,
如讀取及修改硬體的一些工作參數。ART隻能在WINDOWS下執行,而且似乎隻能在WIN7下正常工作。不過WIN10良好的相容性,使得我們也可以在WIN10下工作,下面會介紹具體的使用方法。
編譯用的工具鍊則是基于LINUX系統的,是以還得準備一個LINUX系統。
我的建議是在WINDOWS下安裝一個LINUX虛拟機,這樣二者就兼顧了。
本文在WINDOWS 10下,使用VBOX搭建了一個UBUNTU來配合使用。
一、 ART工具準備
解壓縮,得到如下目錄結構
├─bin
├─command
│ ├─common
│ │ ├─calibrationMemory
│ │ └─summary
│ ├─refDesigns
│ │ ├─AR6004
│ │ ├─DV144
│ │ ├─SP141
│ │ ├─SP143
│ │ ├─SP144
│ │ ├─SP241
│ │ └─SP242
│ ├─test_bt
│ ├─test_rx
│ │ └─rate
│ ├─test_setup
│ │ └─regression
│ └─test_tx
│ └─Rate
├─driver
│ ├─boardData
│ ├─Firmware
│ │ └─AR6006
│ ├─win7
│ │ ├─USB
│ │ └─USB_64bit
│ │ └─SP242
│ └─winxp
│ ├─SDIO
│ └─USB
├─log
├─report
├─support
│ └─EepromUtil
└─tcmd
├─ath6kl_driver
└─athtestcmd
要注意的是BIN和DRIVER檔案夾,BIN包括一些執行的程式,DRIVER是驅動程式。别的東西暫時不用管,用到的時候再來研究。
先将開發闆上HOST0的跳線跳到如圖所示位置
然後用USB線連接配接到PC機,此時,系統會發現硬體,但是驅動不會成功,因為這個驅動不是通用的,WIN10是找不到的,注意上面的ART工具目錄下有個DRIVER檔案夾,不過隻有WIN7和WINXP的驅動。沒關系,WIN7的驅動WIN10也是可以用的。不過在安裝驅動之前,先要将WIN10的硬體驅動簽名禁用。怎麼禁用WIN10的硬體驅動簽名,請自行GOOGLE。重新開機系統且禁用硬體驅動簽名後,打開裝置管理器,安裝裝置驅動程式。出現下面的畫面,就表示驅動成功了!
下面來測試ART工具,試着燒寫一個固件檔案。打開BIN目錄下,依次找到下面三個檔案,
依次在各檔案上右擊,更改程式的相容性設定,如下圖所示
都設定好之後,輕按兩下artgui.exe,啟動。出現如下畫面
點選LOAD CARD,會發現加載成功。如下圖
KB, 下載下傳次數: 0)
将下載下傳好的測試用固件解壓,放到BIN目錄下
打開ARTGUI菜單TOOLS/SEND CMD指令,在彈出的對話框中輸入"xp file=raw_flashimage_AR401X_REV6_IOT_hostless_unidev_dualband.bin"。點選OK,開始燒寫。
燒寫成功後,會出現如下資訊,
如果連接配接了序列槽,終端會出現類似資訊。注意先要将HOST0的跳線複位,然後可能需要複位開發闆。
PUTTY序列槽設定能讓資訊如下
第一步工作就算完成了。
二、LINUX編譯環境
需要注意的官方的工具鍊是32位的,在UBUNTU14 X64下是沒有辦法運作的,不得已,再裝個UBUNTU14 X86 LTS版。
1. 将工具包 cad_kf_RD2012_4.tar.gz 解壓在Linux系統根目錄
cd /
tar xvzf cad_kf_RD2012_4.tar.gz
注意:需解壓至根目錄,因為腳本裡使用的絕對路徑
2. 單機版license安裝
将 license.dat 檔案拷貝至/cad/tensilica目錄下。
編譯代碼時需使用license,與電腦MAC位址綁定
3. 解壓SDK
tar xvzf qca4010-tx-1-0_qca_odm_ext.tar.gz
得到qca4010-tx-1-0_qca_odm_ext.git目錄
修改sdkenv.sh腳本,添加工具鍊定義:
XTENSA_CORE=KF1_prod_rel_2012_4
XTENSA_TOOLS_ROOT=/cad/tensilica/xtensa/XtDevTools/install/tools/RD-2012.4-linux/XtensaTools
XTENSA_ROOT=/cad/tensilica/chips/kingfisher/RD-2012.4-linux/${XTENSA_CORE}
XTENSA_SYSTEM=${XTENSA_ROOT}/config
LM_LICENSE_FILE=/cad/tensilica/license.dat
PATH=${PATH}:${XTENSA_TOOLS_ROOT}/bin
export LM_LICENSE_FILE XTENSA_TOOLS_ROOT XTENSA_ROOT XTENSA_SYSTEM XTENSA_CORE PATH
export XTENSA_PREFER_LICENSE=XT-GENERIC
複制代碼
4. 編譯demo
source sdkenv.sh; make -C demo/sdk_shell
注意:需修改MAC位址為: 00:0c:29:01:02:03,如 ifconfig eth0 hw ether 00:0c:29:01:02:03
5. 複制配置檔案,并用qonstruct工具生成可燒錄bin檔案
cp ./tool/tunable/tunable_input_sp24X_hostless_4bitflash.txt ./tool/tunable/tunable_input.txt
./tool/qonstruct.sh --qons ./tool/tunable/
在bin目錄下生成燒錄用bin檔案:
raw_flashimage_AR401X_REV6_IOT_hostless_unidev_dualband.bin
呼,大功告成!
上一張編譯成功後的圖檔。
現在可以将這個BIN檔案用上面介紹的方法刷入到QCA4010中去了。
總結幾點,要想在WIN10下成功使用開發闆,注意以下幾點:
1. 安裝WINDOWS驅動時,先禁用驅動簽名,然後再安裝驅動
2. 将幾個重要的檔案相容性模式指定為WINDOWS 7
3. 最好在UBUNTU X86下編譯固件
接下來才是正式體驗QCA4010的強大時候!