QCA4020 Ubuntu開發環境建置

前言

我最近工作涉及使用Qualcomm QCA4020開發套件,內建Wi-Fi、BLE、ZigBee及BT Mesh等物聯網通信應用功能。高通公司的SDK內部提供Helloworld_demo專案範例,內部文件及教學以Windows為主,查看SDK文件表示支持Linux平台,本篇文章將教你使用Ubuntu 作業系統燒錄Helloworld_demo範例。

 

開發系統建置

作業系統Ubuntu 18.04以上  https://www.osboxes.org/ubuntu/#ubuntu-1804-info

如果需要使用虛擬機,可以使用免費平台VirtualBox, VirtualBox提供使用者在32位元或64位元的Windows、Solaris及Linux 作業系統上虛擬其它x86的作業系統 https://www.virtualbox.org/

 

安裝Python 2.7

Ubuntu作業系統已預先安裝Python 2.7以上版本:

sudo apt install python

注意:高通不兼容Python 3以上版本,如果同時安裝版本2和3,則默認python 2,若已將python 預設為Python 3而非Python2,請修改回Python2,避免構建過程出現問題。

安裝OpenOCDUSB設定

OpenOCD是使用JTAG與硬件設備接口的工具:

sudo apt install openocd

目前安裝版本為0.10.0版,請下指令查看:

openocd -v

結果:

Open On-Chip Debugger 0.10.0

使用VirtualBox虛擬主機須先設定USB,設定完之後每次插入USB就可以自動引用,設定方式為VirtualBox虛擬機->主控台->連接埠->USB新增裝置,將開發板的USB裝置添加,下次插入開發板自動引用。

 

安裝GNU Arm Embedded Toolchain

GNU Arm Embedded Toolchain下載,高通建議使用舊版本(6-2017-q2-update),下載Linux 64-bit Tarball(gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2),安裝方式如下:

sudo mkdir -p /usr/local/package/arm_tools
sudo tar xjf ~/Downloads/gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2 -C /usr/local/package/arm_tools
sudo ln -s /usr/local/package/arm_tools/gcc-arm-none-eabi-6-2017-q2-update/bin/* /usr/local/bin

 查看是否鏈結成功:

arm-none-eabi-gcc --version
arm-none-eabi-g++ --version
arm-none-eabi-gdb --version
arm-none-eabi-size --version

 


編譯程式碼

以下進行Helloworld_demo範例編譯:

cd qca4020-or-3-2_qca_oem_sdk-mfg.git/target/quartz/demo
cd Helloworld_demo/build/gcc
make BOARD_VARIANT=cdb​

或修改Makefile,搜尋BOARD_VARIANT並修改為cdb,儲存後直接使用make編譯即可,編譯成功畫面如下圖。



► QCA4020跳線用於JTAG

編譯完成後,須透過JTAG進行燒錄製閃存中,此部分需要使用跳線,請參見QCA4020開發套件用戶指南的附錄A跳線說明。 

每個白點代表引腳1的位置:

  • J30-引腳1和2
  • J31-引腳1和2
  • J32-引腳1和2
  • J37-引腳2和3
  • J38-引腳2跳線至J39-引腳3
  • J38-引腳3跳線至J39-引腳2
  • J40-引腳2和3
  • J36-引腳2和3
  • J57-引腳2和3 

電腦USB連接至QCA4020板J85 (JTAG/UART) Micro usb插孔,下圖開發板中的第二個Micro usb。

► JTAG燒錄

以下進行燒錄動作,使用sh時需要輸入使用者密碼:

cd qca4020-or-3-2_qca_oem_sdk-mfg.git/target/quartz/demo
cd Helloworld_demo/build/gcc
sh flash_openocd.sh


燒錄成功:


執行應用

程序如下:

  • 關閉QCA4020的電源開關
  • 移除J31-引腳1和2
  • 重新開啟QCA4020的電源開關

開啟串口程式設定QCA4020的USB配置:

  • Device: /dev/ttyUSB1 (or whatever name you identified previously)
  • Bit-rate: 115200
  • Data bits: 8
  • Parity: None
  • Stop bits: 1
  • Flow control: None

 如果沒有串口程式可以安裝“CuteCom”,安裝及執行方式如下:

sudo apt-get install -y cutecom
cutecom&


執行結果如下圖:



結論

本篇介紹使用Ubuntu編譯及燒錄QCA4020開發板,簡便整體流程,希望本篇博文能對你有幫助。

參考資料

Hello World on the Qualcomm QCA4020 developer board 

 

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論