OpenTX遙控系統之開發環境搭建
本文講解在Ubuntu 16.04系統上搭建OpenTX開發環境的步驟及其方法,使用Linux系統搭配QtCreator+STLink+JLink進行編譯和除錯程式,不推薦使用windows進行開發。
首先,我們需要安裝相應的編譯工具,使用如下命令安裝:
sudo apt-get install cmake gcc gcc-avr avr-libc build-essential \
libfox-1.6-dev libsdl1.2-dev \
qt5-default qttools5-dev-tools qtmultimedia5-dev qttools5-dev libqt5svg5-dev \
gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib \
python-pil
安裝git:
sudo apt-get install git
安裝DFU工具,需要用此工具下載韌體到遙控器,命令為:
sudo apt-get install libusb-1.0-0-dev
wget http://dfu-util.sourceforge.net/releases/dfu-util-0.9.tar.gz
tar xzvf dfu-util-0.9.tar.gz
cd dfu-util-0.9/
./configure
make
src/dfu-util
sudo make install
安裝QT:
安裝gcc標準開發工具
apt-get install gcc build-essential libsdl1.2-dev
安裝好後,開啟QT Creator,點選help選單→about plugins
圖1 安裝外掛
如圖,把BareMetal勾上,點選Close,重啟QtCreator,這個時候會自動安裝這個專門開發嵌入式裝置的外掛。
設定QtCreator
Clone OpenTX最新韌體到本地:
去喝一杯茶,回來應該下載好原始碼了。
開啟QtCreator,點選Open Project,導航到原始碼根目錄,選擇目錄下的CMakeLists.txt,雙擊確定。
這個時候會彈出配置選項,只勾Debug那一項,其他幾個不要勾選,點選確定開始工程配置。
點選左側的Projects->Manage Kits, 彈出工具配置框,按如下配置:
圖2 配置工程環境
點選左側Devices→Bare Metal,設定嵌入式工具,點選Add,並填入如下設定:
圖3 配置Jlink
點選OK後儲存設定。
退出設定框,點選左面板Build,彈出編譯選項:
圖4 配置工程引數
注意編譯選項中要麼是ON,要麼是OFF,或者其他配置引數,可以根據實際需要修改這些編譯選項。如果修改了某個引數,下面的Apply Configuration Changes按鈕會被使能,需點選此按鈕知道其變成灰色表示新配置應用成功。配置成功會在Genernal Messages裡面看到配置資訊。
配置預設為編譯所有目標,我們需要修改它,點選Build Steps 右側的Details,下拉勾選flash-jtag目標,其他不選。
編譯:
在QtCreator介面中按Ctrl+B快捷鍵編譯韌體,
圖5 編譯
圖6 下載
編譯成功後會自動啟動dfu工具通過stlink下載韌體。
除錯:
韌體下載成功後,將jlink連線至遙控器jtag介面,啟動jlink server:
JLinkGDBServer -select USB=0 -device STM32F429BG -if SWD-DP -speed 20000
圖7 啟動Jlink server
在QtCreator中點選左側Debug面板,點選Run,配置除錯目標,選擇firmware(on Bare Metal Device)
圖8 配置除錯引數
按F5除錯快捷鍵,進入除錯,預設程式會停留在Devices裡面設定的斷點處。
圖9 下載除錯資訊
圖10 除錯程式碼
按F5全速執行,F9新增斷點,F10單步,F11進入內部,SHIFT+F11從內部退出。
圖11 檢視變數監視
圖12 打斷點
右上側可以將全域性變數託進去進行監視,下面是區域性變數自動監視。
Enjoy!