ZHCAE45 June 2024 AM625 , AM67A , AM68A , AM69A , DRA829J , DRA829J-Q1 , DRA829V , DRA829V-Q1 , TDA4AEN-Q1 , TDA4AH-Q1 , TDA4AL-Q1 , TDA4AP-Q1 , TDA4APE-Q1 , TDA4VL-Q1 , TDA4VM , TDA4VP-Q1 , TDA4VPE-Q1
KM 驅(qū)動程序在 TI SDK 中的以下目錄下提供:ti-processor-sdk-linux-adas-j721s2-evm-09_02_00_05/board-support/extra-drivers/ti-img-rogue-driver-23.3.6512818
該驅(qū)動程序還發(fā)布在 TI 的公共資源庫中:https://git.ti.com/cgit/graphics/ti-img-rogue-driver/。
可以從 TI 的 SDK 編譯基礎(chǔ)架構(gòu)中提取編譯指令,但為了清晰起見,這里添加了編譯說明??梢栽?Shell 中設(shè)置或者 在 make 命令上傳遞的環(huán)境變量如下所示:
| 環(huán)境變量名稱 | 值 | 說明 |
|---|---|---|
| ARCH | arm64 | 目標(biāo) CPU 的架構(gòu) |
| CROSS_COMPILE | aarch64-none-linux-gnu- | 正在使用的交叉編譯器 |
| KERNELDIR | <系統(tǒng)上 Linux 內(nèi)核的絕對路徑> | Linux 內(nèi)核源目錄的路徑 |
| RGX_BVNC | 36.53.104.796 — TDA4VL、TDA4VH、TDA4AEN、AM62P 22.104.208.318 — TDA4VM 33.15.11.3 — AM62x | 要使用的 GPU 版本,特定的硬件版本 |
| BUILD | 釋放或調(diào)試 | 要使用的編譯配置文件 |
| PVR_BUILD_DIR | <soc>_linux | 要在驅(qū)動程序中使用的編譯目錄,每個 SOC 各一個目錄 |
| WINDOW_SYSTEM | lws-generic | 要使用的 Windows 系統(tǒng),在 SDK 9.0 之后僅支持 lws-generic。 |
設(shè)置好這些變量后,make 命令應(yīng)該會起作用。將會在 SDK 中的 ti-processor-sdk-linux-adas-j721s2-evm-09_02_00_05/board-support/extra-drivers/ti-img-rogue-driver-23.3.6512818/build/linux/j721s2_linux 或 ti-img-rogue-driver/build/linux/j721s2_linux(如果已手動克?。┲羞M(jìn)行編譯。
要在目標(biāo)文件系統(tǒng)上安裝,SDK 會從 create binary 目錄中運(yùn)行以下 make 命令:binary_j721s2_linux_wayland_release/target_aarch64/kbuild
make -C ${LINUXKERNEL_INSTALL_DIR} INSTALL_MOD_PATH=${DESTDIR} INSTALL_MOD_STRIP=${INSTALL_MOD_STRIP} M=`pwd` modules_install
如果是從 build 目錄安裝,則需要下列一個或多個環(huán)境變量: DISCIMAGE=<path-to-rootfs-root-directory>
示例:
export DISCIMAGE=/media/user/rootfs
sudo -E env PATH=$PATH make install
安裝 KM 庫的另一種方法是使用 output 目錄中的 install.sh 腳本:
示例:
cd binary_j721s2_linux_lws-generic_release
sudo ./install.sh --root <path-to-rootfs-directory>
在重新編譯 Linux 內(nèi)核時,如果 Linux 內(nèi)核版本發(fā)生變化,請務(wù)必檢查是否重新編譯并重新安裝 GPU 內(nèi)核驅(qū)動程序。最值得注意的是,當(dāng)安裝 Linux 內(nèi)核模塊時,會在文件系統(tǒng)中創(chuàng)建一個文件夾,例如 /lib/modules/6.1.80-ti-g2e423244f8c0。修改內(nèi)核通常會引入后綴 -dirty,這會導(dǎo)致創(chuàng)建新的 modules 目錄。因此,GPU 內(nèi)核驅(qū)動程序也必須重新安裝到新的內(nèi)核模塊目錄中。
示例:為 AM62 手動編譯 GPU 內(nèi)核驅(qū)動程序
make \ ARCH=arm64 CROSS_COMPILE=/home/toolchains/arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- \ KERNELDIR=/home//am625_sdk/ti-processor-sdk-linux-am62xx-evm-09.01.00.08/board-support/ti-linux-kernel-6.1.46+gitAUTOINC+247b2535b2-g247b2535b2 \ BUILD=release PVR_BUILD_DIR=am62_linux示例:手動安裝 GPU 內(nèi)核驅(qū)動程序
cd binary_j721s2_linux_lws-generic_release
sudo install.sh -root <path to rootfs>