► 前言
我最近工作涉及使用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,避免構建過程出現問題。
► 安裝OpenOCD及USB設定
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
► 編譯程式碼
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
評論