This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/OMAP3530:根据 Linux 内核2.6.29.6编译图形 SDK 4.06.00.03?

Guru**** 2549110 points
Other Parts Discussed in Thread: OMAP3530, OMAP3515

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/604183/linux-omap3530-compiling-graphics-sdk-4-06-00-03-against-linux-kernel-2-6-29-6

器件型号:OMAP3530
Thread 中讨论的其他器件: OMAP3515

工具/软件:Linux

运行 Linux 内核2.6.29.6的 OMAP3530可以使用的最新版本的图形 SDK 是什么?

我正在尝试使用 Qt 5.8使用较新的软件升级旧设备。 该器件使用 OMAP3530处理器和基于2.6.29.6的 Linux 内核。 (我们不能选择升级到较新的内核。) 目前、我们使用图形 SDK 3.01.00.02 (带有次要补丁)。 在其 EGL/eglext.h 中、此版本的 SDK 使用 EGL 扩展版本3、如下宏所示:

#define EGL_EGLEXT_VERSION 3

Qt 5.8内提供的 QtWebEngine 要求我们使用 EGL 扩展版本4、这似乎是在图形 SDK 4.06中引入的。 但是、我似乎无法根据2.6.29.6的 Linux 内核编译较新 SDK 中的内核模块。 这是我的尝试:

Precor@SEAL9004:~μ C/Graphics_SDK_4_06_00_03$使 OMAPES=3.x
正在构建 SGX 内核模块...
make[1]:输入目录`/home/precor/Graphics_SDK_4_06_00_03/GFX_Linux_KM
make[1]:离开目录`/home/precor/Graphics_SDK_4_06_00_03/GFX_Linux_KM
make[1]:输入目录`/home/precor/Graphics_SDK_4_06_00_03/GFX_Linux_KM
使-C /home/precor/workdir/lsp/linux-2.6.29_omap3515 m=`pwd`
make[2]:输入目录`/home/precor/workdir/lsp/linux-2.6.29_omap3515
LD /home/precor/Graphics_SDK_4_06_00_03/GFX_Linux_KM/services4/3rdparty/bufferclass_ti/built-in.o
抄送[M]/home/precor/Graphics_SDK_4_06_00_03/GFX_Linux_KM/services4/3rdparty/bufferclass_ti/bc_cat.o
LD [M]/home/precor/Graphics_SDK_4_06_00_03/GFX_Linux_KM/services4/3rdparty/bufferclass_ti/bufferclass_ti.o
LD /home/precor/Graphics_SDK_4_06_00_03/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/built-in.o
抄送[M]/home/precor/Graphics_SDK_4_06_00_03/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_displayclass.o
抄送[M]/home/precor/Graphics_SDK_4_06_00_03/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.o
/home/precor/Graphics_SDK_4_06_00_03/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c:51:致命错误:Linux/omapfb.h:无此类文件或目录
编译已终止。
maked[4]:***[/home/precor/Graphics_SDK_4_06_00_03/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.o 错误1
maked[3]:***[/home/precor/Graphics_SDK_4_06_00_03/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux 错误2.
maked[2]:***[_MODULE_/home/precor/Graphics_SDK_4_06_00_03/GFX_Linux_KM 错误2.
make[2]:离开目录`/home/precor/workdir/lsp/linux-2.6.29_omap3515
maked[1]:***[全部]错误2.
make[1]:离开目录`/home/precor/Graphics_SDK_4_06_00_03/GFX_Linux_KM
make:***[buildkernel]错误2.

丢失的文件 omapfb.h 在我的系统中的一个目录中找到:

Precor@SEAL9004:~ë/Graphics_SDK_4_06_00_03$找到 omapfb.h
/home/precor/workdir/lsp/linux-2.6.29_omap3515/arch/arm/plat-omap/include/mach/omapfb.h
/home/precor/workdir/lsp/linux-2.6.29_omap3515/drivers/video/omap2/omapfb.h

我不确定它是否像尝试在 dc_omapfb3_linux/omapplfb_linux.c 内更改此 include 文件的路径那样简单 我已经尝试这样做、但仍然会遇到编译器错误。

我能够成功编译当前内核的最后一个4.x 系列 SDK 为4.03.00.02。 遗憾的是、此版本没有我们需要的 EGL 扩展。

我注意到、在编译4.03时、系统从不同的目录中拾取有问题的文件。

4.03.00.02:
GRAPHICS_SDK_4_03_00_02/GFX_LINUX_KM/Services4/3rdparty/dc_OMAP3430_linux/omapplfb_linux.c

4.06.00.03:
GRAPHICS_SDK_4_06_00_03/GFX_LINUX_KM/Services4/3rdparty/dc_omapfb3_linux/omapfb_linux.c

因此、看起来 dc_OMAP3430_Linux 中的 omapfb_linux.c 与2.6.29.6编译、但 dc_omapfb3_Linux 中的这一个编译器不会。

我将以不同的方式陈述我的问题。

为 OMAP3530编译4.06所需的最低 Linux 内核版本是什么? 还是更好的、5.x 的图形 SDK?

我们使用的是 softfp 工具链。

下面是编译 Graphics SDK 4.03.00.02所需的补丁:

diff -rupn Graphics_SDK_4_03_00_02/GFX_LINUX_KM/Services4/3rdparty/dc_OMAP3430_linux/omapplfb_linux.c Graphics_SDK_4_03_00_02.maapched/GFX_LINUX_KM/Services4/3rdparty/dc_OMAP3430_Linux_omap.c
-- Graphics_SDK_4_03_00_02/GFX_Linux_KM/Services4/3rdparty/dc_OMAP3430_linux/omapplfb_linux.c 2011-03-08 04:27:35.000000000 -0800
++ Graphics_SDK_4_03_00_02.patched/GFX_LINUX_KM/Services4/3rdparty/dc_OMAP3430_Linux/omapplfb_Linux.c 2017-06-20 01:06:14.205927036 -0700
@@-61、7 +61、7 @@ extern int omap_dispc_request_IRQ (unsign
extern void omap_dispc_free_IRQ (unsigned long、void (*)(void *)、void *);
extern void omap_dispc_set_plane_base (int 平面、IMG_UINT32 phys_addr);
其他
-#include
+#include
#include
#include
静态 OMAP-dispc_isr_t * pOMAPLFBVSyncISRHandle =空;
@@-123、8 +123、7 @@静态内联内部 OMAPLFBRegisterVSyncIS

静态内联 int OMAPLFBUnregisterVSyncISR (OMAPLFB_SWAPCHAIN * psSwapChain)

-返回 OMAP-dispc_unregister_ISR (OMAPLFBVSyncISR、psSwapChain、
- DISPC_IRQ_VSYNC);
+返回 OMAP-dispc_unregister_ISR (OMAPLFBVSyncISR);


其他
@@-233、7 +232、7 @@ OMAP-ERROR OMAPLFBUninstallVSyncISR (OMA
#if !defined (CONFIG_OMAP2_DSS)
OMAP-dispc_free_IRQ (DISPC_IRQ_VSYNC、OMAPLFBVSyncISR、psSwapChain);
其他
- OMAP-dispc_unregister_ISR (OMAPLFBVSyncISR、psSwapChain、DISPC_IRQ_VSYNC);
+ OMAP-dispc_unregister_ISR (OMAPLFBVSyncISR);
#endif
返回 OMA_OK;

diff -rupn Graphics_SDK_4_03_00_02/GFX_Linux_km/Services4/srvkm/devices/SGX/sgxinit.c Graphics_SDK_4_03_00_02.patched/GFX_Linux_km/Services4/srvkm/devices/SGX/sgxinit.c
-- Graphics_SDK_4_03_00_02/GFX_Linux_km/Services4/srvkM/devices/SGX/sgxinit.c 2011-03-08 04:27:36.000000000 -0800
++ Graphics_SDK_4_03_00_02.patched/GFX_Linux_km/Services4/srvkm/devices/SGX/sgxinit.c 2017-06-20 01:06:23.489594761 -0700
@@-408、7 +408、6 @@ PVRSRV_ERROR SGXInitialize (PVRSRV_SGXDEV


其他
- if (cpu_is_omap3630 ())
OSWriteHWReg (psDevInfo->pvRegsBaseKM、0xFF08、0x8000000);//OCP 旁路模式
#endif


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Salman、

    官方支持 OMAP35x 的最新图形 SDK 版本为4.06.00.01。 有关详细信息、请访问以下网站查看图形 SDK 发行说明:
    processors.wiki.ti.com/.../OMAP35x_Graphics_SDK_Release_Notes_Archive

    BR
    Tsvetolin Shulev
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尝试使用 Linux 内核2.6.29编译4.06.00.01时出现错误。  发行说明中提到、SDK 已针对2.6.37进行了测试。  是否仍有根据旧版内核构建它的方法?

    Precor@SEAL9004:~μ C/Graphics_SDK_4_06_00_01$使 OMAPES=3.x

    正在构建 SGX 内核模块...
    make[1]:输入目录`/home/precor/Graphics_SDK_4_06_00_01/GFX_Linux_KM
    make[1]:离开目录`/home/precor/Graphics_SDK_4_06_00_01/GFX_Linux_KM
    make[1]:输入目录`/home/precor/Graphics_SDK_4_06_00_01/GFX_Linux_KM
    使-C /home/precor/workdir/lsp/linux-2.6.29_omap3515 m=`pwd`
    make[2]:输入目录`/home/precor/workdir/lsp/linux-2.6.29_omap3515
    LD /home/precor/Graphics_SDK_4_06_00_01/GFX_Linux_KM/services4/3rdparty/bufferclass_ti/built-in.o
    抄送[M]/home/precor/Graphics_SDK_4_06_00_01/GFX_Linux_KM/services4/3rdparty/bufferclass_ti/bc_cat.o
    LD [M]/home/precor/Graphics_SDK_4_06_00_01/GFX_Linux_KM/services4/3rdparty/bufferclass_ti/bufferclass_ti.o
    LD /home/precor/Graphics_SDK_4_06_00_01/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/built-in.o
    抄送[M]/home/precor/Graphics_SDK_4_06_00_01/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_displayclass.o
    抄送[M]/home/precor/Graphics_SDK_4_06_00_01/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.o
    /home/precor/Graphics_SDK_4_06_00_01/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c:51:致命错误:Linux/omapfb.h:无此类文件或目录
    编译已终止。
    maked[4]:***[/home/precor/Graphics_SDK_4_06_00_01/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.o 错误1
    maked[3]:***[/home/precor/Graphics_SDK_4_06_00_01/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux 错误2.
    maked[2]:***[_MODULE_/home/precor/Graphics_SDK_4_06_00_01/GFX_Linux_KM 错误2.
    make[2]:离开目录`/home/precor/workdir/lsp/linux-2.6.29_omap3515
    maked[1]:***[全部]错误2.
    make[1]:离开目录`/home/precor/Graphics_SDK_4_06_00_01/GFX_Linux_KM
    make:***[buildkernel]错误2.