大联大
直播中

李汉荣

7年用户 198经验值
私信 关注
[经验]

NXP S32V234 GPU驱动编译

大家好,

今天要來介紹一下S32V234 平台上的 GPU 驅動要怎麼製作及使用。首先, S32V234 2平台的 GPU 驅動名稱為 galcore.ko ,要使用 GPU 驅動前,我們要準備好 U-Boot & Kernel 的環境。這邊簡單介紹一下 GPU 驅動在 Stand Alone 的編譯方式,在 Yocto Project 的編譯方式有機會我再另外出一篇專文來說明。

取得交叉編譯器 GCC :
1. 依照不同 BSP 版本取的對應的交叉編譯器:

$ wget

for BSP14.0 / BSP15.0
https://releases.linaro.org/archive/15.05/components/toolchain/binaries/aarch64-linux-gnu/gcc-linaro-4.9-2015.05-x86_64_aarch64-linux-gnu.tar.xz

for BSP16.0 / BSP16.1 / BSP17.0 / BSP18.0 / BSP19.0 / BSP20.0
https://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz

2. 解壓縮交叉編譯器:

$ tar xf gcc-linato-.tar.xz

取得及編譯 U-Boot Source Code :
1. git clone :

$ git clone https://source.codeaurora.org/external/autobsps32/u-boot
$ cd u-boot

2. 確認 tag :

$ git tag -l | grep bsp


3. git checkout (依照上述步驟選擇對應 BSP 版本的 tag):

$ git checkout -b alb/master

4. 設定 U-Boot default config :

$ make ARCH=aarch64 CROSS_COMPILE=/bin/aarch64-linux-gnu- s32v234evb_defconfig

取得並編譯 Kernel :
1. git clone :

$ git clone https://source.codeaurora.org/external/autobsps32/linux
$ cd linux

2. 確認 tag :

$ git tag -l | grep bsp


3. git checkout (依照上述步驟選擇對應 BSP 版本的 tag):

$ git checkout -b alb/master

4. 設定 Kernel default config :

$ make ARCH=ARM64 CROSS_COMPILE=/bin/aarch64-linux-gnu- s32v234evb_defconfig

5. 編譯:

$ make ARCH=arm64 CROSS_COMPILE=/bin/aarch64-linux-gnu-

取得並編譯 GPU 驅動:
1. git clone :

$ git clone https://source.codeaurora.org/external/autobsps32/galcore
$ cd galcore

2. 確認 tag :

$ git tag –l


3. git checkout (依照上述步驟選擇對應 BSP 版本的 tag):

$ git checkout -b alb/master

4. 編譯:

$ make ARCH=arm64 TOOLCHAIN= CROSS_COMPILE=aarch64-linux-gnu-  KERNEL_DIR=

完成上述步驟後,就可以在 Host PC 上得到 galcore.ko 的 GPU 驅動模組。接下來的步驟就可以把 galcore.ko 複製到 S32V234 開發板上使用。本篇專文的附加檔案提供了 NXP 原廠提供的 GPU_Hello 的 Demo 執行檔,在啟用 GPU 驅動模組後,可以拿來測試 GPU 驅動模組是否可以正常使用。

在 S32V234 開發板上使用 GPU 驅動模組:
1. 將 galcore.ko 複製到 /s32v234 路徑下:

# cp galcore.ko /s32v234

2. 載入 galcore.ko ,並且設定連續的記憶體空間為 32MB :

# cd /s32v234
# insmod galcore.ko contiguousSize=0x2000000

執行 GPU_Hello Demo :
1. 將 gpu_hello.elf 複製到開發板上:

# cp gpu_hello.elf ~/

2. 執行 gpu_hello.elf :

# cd ~/
#./gpu_hello.elf
此時就可以在畫面輸出上看到旋轉的彩色三角形。

以上就是本篇專文的內容,如果大家還有想知道哪些 S32V GPU 的使用,可以在下方回覆我,如果我有經驗的話,可以幫您解答,或是安排下次專文的內容說明。

更多回帖

发帖
×
20
完善资料,
赚取积分