天天看點

【物聯網】QCA4010開發環境搭建(二)(解決WIN10下不能驅動問題)

更多資料,請參考:中電港論壇 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的強大時候!

繼續閱讀