发布网友 发布时间:2022-04-22 18:14
共1个回答
热心网友 时间:2023-10-24 07:31
TI官指南请看发布间关系面已经新软件包匹配经我努力我指南间复杂部给做Buildroot面基本实现傻瓜式编译通菜单选择简单实现QT使用SGX硬件加速OpenGL
由于本文涉及SGX硬件驱程序模块编译所看比较部内容没难度转载请注明自EE站cosine@126.com
简单梳理:
前提U-boot、内核、文件系统都搞利索板能启
TIWiki提供U-boot内核说明址点
TISDK提供制作文件系统太庞载Buildroot自做
载我做Buildroot补丁TI图形SDK
补丁址
补丁我给Buildroot 2013.05做与相配TI图形SDKGraphics_SDK_setuplinux_4_10_00_01_BinOnly.bin
应该2013.05段间Buildroot版本都使用补丁
用SDK编译内核模块
参照TI指南址点直接看本文
用Buildroot制作根文件系统
具体程:
假设Graphics_SDK_setuplinux_4_10_00_01_BinOnly.bin载/home/c
~ # cd /home/c
/home/c # chmod 744 ./Graphics_SDK_setuplinux_4_10_00_01_BinOnly.bin
/home/c # ./Graphics_SDK_setuplinux_4_10_00_01_BinOnly.bin
交互安装界面安装候选择8.x项(处理器AM335x)并且SDK安装例/home/c/core335x_bsp/graphics_sdk_4_10_00_01
安装完打/home/c/core335x_bsp/graphics_sdk_4_10_00_01/Rules.make
假设ARM交叉编译器安装/usr/local/arm/4.7.3-2前缀arm-none-linux-gnueabi-内核/home/c/core335x_bsp/linux-3.2.21Rules.make内容修改
# Set home area (ex /home/user/)
HOME=/home/c/core335x_bsp
# Set Toolchain path (ex /home/user/toolchain/arago-2011.09/armv7a)
CSTOOL_DIR=/usr/local/arm/4.7.3-2
# Set Tool chain prefix (ex arm-arago-linux-gnueabi- )
CSTOOL_PREFIX=arm-none-linux-gnueabi-
# Set kernel installation path ( ex /home/user/linux-04.00.01.13 )
KERNEL_INSTALL_DIR=/home/c/core335x_bsp/linux-3.2.21
# Set Target filesystem path ( ex /home/user/targetfs )
TARGETFS_INSTALL_DIR=$(DESTDIR)
# Set installation folder
GRAPHICS_INSTALL_DIR=$(HOME)/graphics_sdk_4_10_00_01
编译
/home/c # cd core335x_bsp/graphics_sdk_4_10_00_01
/home/c/core335x_bsp/graphics_sdk_4_10_00_01 # make DESTDIR=/home/c/nfsroot OMAPES=8.x
假设根文件系统/home/c/nfsroot请确保/home/c/nfsroot/etc/home/c/nfsroot/etc/init.d两目录否则安装候错接安装
/home/c/core335x_bsp/graphics_sdk_4_10_00_01 # make DESTDIR=/home/c/nfsroot OMAPES=8.x install
SDK库编译接内核模块安装文件系统假设内核/home/c/core335x_bsp/linux-3.2.21已经配置并且编译
/home/c/core335x_bsp/graphics_sdk_4_10_00_01 # cd /home/c/core335x_bsp/linux-3.2.21
/home/c/core335x_bsp/linux-3.2.21 # make ARCH=arm moles_install INSTALL_MOD_PATH=/home/c/nfsroot
需要内核驱模块增加依赖表位置/home/c/nfsroot/lib/moles/3.2.21/kernel/drivers/moles.dep面增加两行:
extra/omaplfb.ko:
extra/pvrsrvkm.ko:
接用Buildroot制作文件系统假设Buildroot压缩包buildroot-2013.05.tar.bz2载/home/c/core335x_bsp我做Buildroot补丁buildroot-am335x.patch载/home/c/core335x_bsp
/home/c/core335x_bsp/linux-3.2.21 # cd /home/c/core335x_bsp
/home/c/core335x_bsp # tar xf buildroot-2013.05.tar.bz2
/home/c/core335x_bsp # cp buildroot-am335x.patch buildroot-2013.05
/home/c/core335x_bsp # cd buildroot-2013.05
/home/c/core335x_bsp/buildroot-2013.05 # patch -p1 < buildroot-am335x.patch
/home/c/core335x_bsp/buildroot-2013.05 # make menuconfig
进行配置QTPackage Selection for the target > Graphic libraries and applications (graphic/text) > QtAM335xOpenGL支持设置选项QtGraphics drivers必须先选Linux Framebuffer现AM335x SGX OpenGL Dirver选并输入图形SDK路径例/home/c/core335x_bsp/graphics_sdk_4_10_00_01其选项按需选择即接编译
/home/c/core335x_bsp/buildroot-2013.05 # make
编译程自载所需各种软件包没选QtApprove free license间提示选择授权类型编译完映像释放根文件系统
/home/c/core335x_bsp/buildroot-2013.05 # tar xf output/image/rootfs.tar -C /home/c/nfsroot
打/home/c/nfsroot/etc/init.d/powervr.ini面改
[default]
WindowSystem=libpvrQWSWSEGL.so
/home/c/nfsroot文件系统挂载目标板启输入用户名root登陆运行
# /etc/init.d/335x-demo
# mv /etc/init.d/rc.pvr /etc/init.d/S99powervr
至文件系统支持QT使用SGX硬件加速OpenGL
配置QT候选择Compile and install demos and examples (with code)找/home/c/core335x_bsp/buildroot-2013.05/output/build/qt-4.8.4/examples/opengl/hellogl_es2/hellogl_es2文件拷贝根文件系统运行
# hellogl_es2 -qws -display powervr
检验否工作
需要说明让QT支持OpenGLAM335x图形处理器厂家(TIImagination Technologies)提供插件程序让QT态链接库禁止鼠标光标显示现象虽看鼠标用目前没解决貌似图形处理器直接操作Frame Buffer鼠标估计程序写性能降吧要用鼠标需要自写显示鼠标光标程序