溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用樹莓派構(gòu)建嵌入式C++調(diào)試環(huán)境

發(fā)布時間:2021-11-09 18:03:23 來源:億速云 閱讀:337 作者:柒染 欄目:大數(shù)據(jù)

今天就跟大家聊聊有關(guān)如何使用樹莓派構(gòu)建嵌入式C++調(diào)試環(huán)境,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

這里以使用樹莓派4b為例說明構(gòu)建嵌入式C++執(zhí)行環(huán)境。樹莓派本身可以到各大購物網(wǎng)站直接購買,價格大概300-500元不等。之所有選擇樹莓派是因為它的系統(tǒng)比較完善,容易上手。但是需要實現(xiàn)說明的是本文說明的大部分內(nèi)容并不僅限于樹莓派。

準備樹莓派

下載鏡像文件

打開樹莓派官方網(wǎng)站的系統(tǒng)鏡像下載網(wǎng)頁:


https://www.raspberrypi.org/downloads/raspbian/

如何使用樹莓派構(gòu)建嵌入式C++調(diào)試環(huán)境

我們直接選擇紅框中的最大版本。下載完成之后我們得到以下文件(時間戳可能會不同):


2020-02-05-raspbian-buster-full.zip

將文件解壓縮可以得到下面的鏡像文件:


2020-02-05-raspbian-buster-full.img

燒寫鏡像文件

首先選擇8G以上的TF卡,最好是Class4以上。然后使用SDCardFormator進行格式化。

如何使用樹莓派構(gòu)建嵌入式C++調(diào)試環(huán)境

啟動DiskImager,選擇之前下載/解壓得到的image文件。

如何使用樹莓派構(gòu)建嵌入式C++調(diào)試環(huán)境

接下來選擇設(shè)備。由于DiskImager不會自動選擇正確的SD卡,因此盤符一定不要弄錯。按下[寫入]按鈕開始寫入過程。

如何使用樹莓派構(gòu)建嵌入式C++調(diào)試環(huán)境

寫入成功。

軟件下載地址

購買樹莓派時賣家都已提供的開發(fā)資料就應(yīng)該包含這兩款軟件,讀者也可以使用下面的鏈接自己下載。

SDCardFormator:


https://www.sdcard.org/downloads/formatter/eula_windows/SDCardFormatterv5_WinEN.zip

DiskImageer:


https://mirrors.tuna.tsinghua.edu.cn/osdn/sfnet/w/wi/win32diskimager/Archive/win32diskimager-1.0.0-install.exe

設(shè)定基本信息

將燒寫完成的TF卡插入樹莓派的TF卡槽,接好鍵盤、鼠標(biāo)和顯示器,啟動樹莓派。樹莓派啟動之后,選擇國家,地區(qū)并修改密碼。接下來設(shè)定網(wǎng)絡(luò)鏈接。如果是有無線路由器也可以使用Wifi連接。更新軟件操作可以自由選擇,不是必須實施。

點擊畫面左上角的[樹莓]圖標(biāo),進入[Preferences]-[Raspberry PI Configurations]菜單。進入[Interface]畫面選擇SSH有效后關(guān)閉畫面。

進入樹莓終端畫面,輸入ifconfig命令,記錄ip地址(例如:192.168.3.233)。如果IP地址獲取失敗,可以輸入以下命令重新設(shè)定。


sudo raspi-config

遠程鏈接樹莓派

進入Ubuntu主機的終端畫面,輸入以下命令(地址初始化樹莓派時記錄的Ip地址):


ssh pi@192.168.3.233

第一次登陸會出現(xiàn)密鑰,安全相關(guān)的提示,直接接受就好。接下來輸入密碼之后,看到以下畫面就表示登錄成功。從此以后的開發(fā),樹莓派一側(cè)的所有操作都通過這個終端窗口進行,就不再需要單獨的外設(shè)了。


除了Ubuntu中使用SSH命令之外,Window下也可以使用Putty等連接樹莓派,方法大同小異。

準備C++執(zhí)行和調(diào)試環(huán)境

安裝NFS服務(wù)(Ubuntu開發(fā)主機)

在Ubuntu主機上打開終端窗口,輸入以下命令以安裝NFS服務(wù)。這個服務(wù)安裝完成之后,可以從樹莓派上訪問通過NFS共享的目錄。


sudo apt get install nfs-kernel-server
輸入以下命令,編輯NFS配置文件。

sudo vi /etc/exports

在文件最后增加以下內(nèi)容。其目的是公開/home/xwg/Raspberry中的內(nèi)容并賦予最大權(quán)限。具體可以根據(jù)開發(fā)環(huán)境的位置自行決定。


/home/xwg/RaspberryPi    *(rw,sync,no_root_squash)

配置文件修改、保存完成之后,在終端窗口中輸入以下命令啟動NFS服務(wù)。


sudo /etc/init.d/nfs-kernel-server start

掛接開發(fā)目錄(樹莓派)

啟動樹莓派SSH客戶端,輸入以下命令掛接Ubuntu主機分享的NFS目錄。

mount -t nfs 192.168.3.202:/home/xwg/EasyARM /mnt -o nolock

命令中IP地址需要替換為Utuntu主機的地址,目錄需要和前面分享的目錄相同。安裝成功之后,可以進入/mnt目錄,如果看到的Ubuntu主機分享的內(nèi)容,就意味在NFS目錄掛接成功了。使用這個目錄,可以直接訪問Ubuntu主機交叉編譯的結(jié)果,而不必每次都拷貝文件。

找到前一篇文章的創(chuàng)建的arm_cpp項目,進入Debug目錄,輸入以下命令:


./arm_cpp

終端中應(yīng)該出現(xiàn)如下的內(nèi)容:


Hello GCC/G++ Compiler!

遠程調(diào)試

安裝GdbServer

在樹莓派終端窗口中輸入以下命令安裝gdbserver.


sudo apt-get install gdbserver

輸入以下命令確認安裝結(jié)果,如果能過或者正常的版本信息,則表示安裝成功。


gdbserver --version

安裝gdb-multiarch


在Ubuntu主機的終端窗口中輸入以下命令安裝多平臺版本的gdb.


sudo apt-get install gdb-multiarch

安裝完成后通過以下命令確認安裝結(jié)果:


gdb-multiarch -v

參考信息:


https://packages.ubuntu.com/bionic-updates/amd64/gdb-multiarch/download


Gdb調(diào)試和遠程調(diào)試

通過樹莓派終端輸入arm_cpp/Debug目錄,并輸入如下命令:


gdbserver :10000 arm_cpp

莓派終端表示如下:

如何使用樹莓派構(gòu)建嵌入式C++調(diào)試環(huán)境

在Ubuntu主機的終端窗口中輸入如下命令,啟動gdb-multiarch。


gdb-multiarch

畫面表示如下:

如何使用樹莓派構(gòu)建嵌入式C++調(diào)試環(huán)境

輸入以下命令鏈接樹莓派側(cè)的GdbServer:


target remote 192.168.3.233:10000

鏈接成功時,Ubuntu主機的終端畫面表示如下:

如何使用樹莓派構(gòu)建嵌入式C++調(diào)試環(huán)境

樹莓派側(cè)的終端表示如下:

如何使用樹莓派構(gòu)建嵌入式C++調(diào)試環(huán)境

在gdb畫面中輸入c命令執(zhí)行程序??梢栽跇漭山K端中看到如下輸出:

如何使用樹莓派構(gòu)建嵌入式C++調(diào)試環(huán)境

至此樹莓派遠程調(diào)試環(huán)境安裝完成!

看完上述內(nèi)容,你們對如何使用樹莓派構(gòu)建嵌入式C++調(diào)試環(huán)境有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI