DPDK學習筆記樣例學習

在上一個系列中已經介紹了DPDK的原理以及編譯安裝,這個部分開始進行DPDK樣例程序的運行測試以及源代碼分析。

編譯樣例前的設置

一旦創建了dpdk的目標環境目錄(本系統爲x86_64-native-linuxapp-gcc目錄下)現在要做的就是設置軟件編譯需要設置的環境。

RTE_SDK:指向DPDK的安裝目錄

RTE_TARGET:指向DPDK的目標目標環境目錄

進入樣例程序:cd /home/DPDK/dpdk-stable-16.11.1/examples/helloworld

設置RTE_SDK:export RTE_SDK=/home/DPDK/dpdk-stable-16.11.1

設置RTE_TARGET: export RTE_TARGET=x86_64-native-linuxapp-gcc


編譯和執行

編譯程序:sudo make

(注意如果是一般用戶使用sudo make會報錯):Makefile:32: *** "Please define RTE_SDK environment variable"。 停止

原因在於使用export 一般用戶使用export設置環境變量是可以看到設置的環境變量的,但是使用make需要使用root權限,這樣的情況下在root下是看不到RTE_SDK這個變量的。所還是以前的觀點使用root賬戶吧。

編譯helloworld:make

執行程序: ./build/helloworld

執行結果報錯,原因在於什麼呢?

這就在於上篇文章中說的,沒有設置大頁。

補充:

echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

mkdir /mnt/huge

mount -t hugetlbfs nodev /mnt/huge

最後再一次執行: ./helloworld


現在可以執行了,後期所有的例子都可以按照這樣的方式進行編譯。後期博文開始對具體程序進行分析。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章