1. 程式人生 > >OpenTX遙控系統之開發環境搭建

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!