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.

AM335X SGX移植问题



大家好!

1、使用ti-sdk-am335x-evm-08.00.00.00这个版本开发包

2、按照processors.wiki.ti.com/.../Graphics_SDK_Quick_installation_and_user_guide这个教程生成pvrsrvkm.ko, omaplfb.ko

3、第一次执行 /etc/init.d/335x-demo

0x10205
debug8.x
/dev/mem opened.
Memory mapped at address 0xb6fc4000.
Read at address  0x44E0007C (0xb6fc407c): 0x00030000
Write at address 0x44E0007C (0xb6fc407c): 0x00000002, readback 0x00000002
installing 8.x SGX debug user libraries

Installing PowerVR Consumer/Embedded DDK 'sgxddk_1.10@2359475' on target

File system installation root is /

Uninstalling existing version sgxddk_1.10@2359475
Uninstallation completed.
boot script rc.pvr -> /etc/init.d/rc.pvr
kernel module pvrsrvkm.ko -> /lib/modules/3.14.26-g07d13c6-dirty/extra/pvrsrvkm.ko
kernel module omaplfb.ko -> /lib/modules/3.14.26-g07d13c6-dirty/extra/omaplfb.ko
shared library libGLES_CM.so -> /usr/lib/libGLES_CM.so.1.10.2359475
shared library libusc.so -> /usr/lib/libusc.so.1.10.2359475
shared library libGLESv2.so -> /usr/lib/libGLESv2.so.1.10.2359475
shared library libglslcompiler.so -> /usr/lib/libglslcompiler.so.1.10.2359475
shared library libIMGegl.so -> /usr/lib/libIMGegl.so.1.10.2359475
shared library libEGL.so -> /usr/lib/libEGL.so.1.10.2359475
shared library libpvr2d.so -> /usr/lib/libpvr2d.so.1.10.2359475
shared library libpvrPVR2D_BLITWSEGL.so -> /usr/lib/libpvrPVR2D_BLITWSEGL.so.1.10.2359475
shared library libpvrPVR2D_FLIPWSEGL.so -> /usr/lib/libpvrPVR2D_FLIPWSEGL.so.1.10.2359475
shared library libpvrPVR2D_FRONTWSEGL.so -> /usr/lib/libpvrPVR2D_FRONTWSEGL.so.1.10.2359475
shared library libpvrPVR2D_LINUXFBWSEGL.so -> /usr/lib/libpvrPVR2D_LINUXFBWSEGL.so.1.10.2359475
shared library libpvrEWS_WSEGL.so -> /usr/lib/libpvrEWS_WSEGL.so.1.10.2359475
shared library libpvrEWS_REMWSEGL.so -> /usr/lib/libpvrEWS_REMWSEGL.so.1.10.2359475
shared library libsrv_um.so -> /usr/lib/libsrv_um.so.1.10.2359475
shared library libsrv_init.so -> /usr/lib/libsrv_init.so.1.10.2359475
shared library libPVRScopeServices.so -> /usr/lib/libPVRScopeServices.so.1.10.2359475
shared library libews.so -> /usr/lib/libews.so.1.10.2359475
binary pvrsrvctl -> /usr/local/bin/pvrsrvctl
binary sgx_init_test -> /usr/local/bin/sgx_init_test
binary ews_server -> /usr/local/bin/ews_server
binary ews_server_es2 -> /usr/local/bin/ews_server_es2
binary services_test -> /usr/local/bin/services_test
binary sgx_blit_test -> /usr/local/bin/sgx_blit_test
binary sgx_clipblit_test -> /usr/local/bin/sgx_clipblit_test
binary sgx_flip_test -> /usr/local/bin/sgx_flip_test
binary sgx_render_flip_test -> /usr/local/bin/sgx_render_flip_test
binary pvr2d_test -> /usr/local/bin/pvr2d_test
binary gles1test1 -> /usr/local/bin/gles1test1
binary gles1_texture_stream -> /usr/local/bin/gles1_texture_stream
binary gles2test1 -> /usr/local/bin/gles2test1
shader glsltest1_vertshader.txt -> /usr/local/bin/glsltest1_vertshader.txt
shader glsltest1_fragshaderA.txt -> /usr/local/bin/glsltest1_fragshaderA.txt
shader glsltest1_fragshaderB.txt -> /usr/local/bin/glsltest1_fragshaderB.txt
binary gles2_texture_stream -> /usr/local/bin/gles2_texture_stream
binary eglinfo -> /usr/local/bin/eglinfo
binary ews_test_gles1 -> /usr/local/bin/ews_test_gles1
binary ews_test_gles2 -> /usr/local/bin/ews_test_gles2
shader ews_test_gles2_main.vert -> /usr/local/bin/ews_test_gles2_main.vert
shader ews_test_gles2_main.frag -> /usr/local/bin/ews_test_gles2_main.frag
shader ews_test_gles2_pp.vert -> /usr/local/bin/ews_test_gles2_pp.vert
shader ews_test_gles2_pp.frag -> /usr/local/bin/ews_test_gles2_pp.frag
binary ews_test_swrender -> /usr/local/bin/ews_test_swrender

Installation complete!
You may now reboot your target.

Module pvrsrvkm failed to load. Retrying.
Running /sbin/depmod
[  107.771134] PVR: PVRCore_Init
[  107.781950] PVR: PVRSRVDriverProbe(pDevice=df0cda00)
[  107.787394] PVR: SGX register base: 0x56000000
[  107.792146] PVR: SGX register size: 16777215
[  107.796646] PVR: SGX IRQ: 53
[  107.801183] PVR: EnableSystemClocks: Enabling System Clocks
[  107.807564] PVR: GPTIMER11 clock is 24MHz
[  107.815887] PVR: PVRCore_Init: major device 245
[  107.963840] PVR: Installing MISR with cookie bf0cf120
[  107.969576] PVR: Installing device LISR SGX ISR on IRQ 53 with cookie dc2b6ec0
[  107.977672] PVR: SysFinalise: Version string: SGX revision = 125
PVR:
PVR: Memory Stats
PVR: ------------
PVR:
PVR: High Water Mark = 0 bytes
Loaded PowerVR consumer services.

此时运行 /opt/gfxsdkdemos/ogles2/OGLES2ChameleonMan例子,可以正常显示,并且查看CPU资源使用,可以确定是在SGX核运行。

4、重新启动

重启之后出现同样问题:

[    8.217225] Bluetooth: L2CAP socket layer initialized
[    8.304138] Bluetooth: SCO socket layer initialized
[    8.555001] (stc):  chnl_id list empty :4
[    8.559133] (stk) : st_kim_start(stk) :ldisc_install = 1
[    9.149530] PVR: PVRCore_Init
[    9.203519] PVR: PVRSRVDriverProbe(pDevice=df0cda00)
[    9.208967] PVR: SGX register base: 0x56000000
[    9.213707] PVR: SGX register size: 16777215
[    9.218197] PVR: SGX IRQ: 53
[    9.561840] PVR: EnableSystemClocks: Enabling System Clocks
[    9.689962] (stk) :ldisc installation timeout
[    9.694384] (stk) :ldisc_install = 0[    9.776374] PVR: GPTIMER11 clock is 24MHz
[    9.935011] Unhandled fault: external abort on non-linefetch (0x1028) at 0xfa04a054
[    9.943083] Internal error: : 1028 [#1] ARM
[    9.947478] Modules linked in: pvrsrvkm(O+) btwilink ti_am335x_adc bluetooth kfifo_buf industrialio 6lowpan_iphc
[    9.958216] CPU: 0 PID: 915 Comm: udevd Tainted: G           O 3.14.26-g07d13c6-dirty #66
[    9.966811] task: df4ee000 ti: df538000 task.ti: df538000
[    9.972857] PC is at AcquireGPTimer+0x158/0x250 [pvrsrvkm]
[    9.978703] LR is at OSMapPhysToLin+0xb8/0xec [pvrsrvkm]
[    9.984283] pc : [<bf0b8a30>]    lr : [<bf09ad4c>]    psr: a00f0013
[    9.984283] sp : df539bf8  ip : df539bc8  fp : df539c34
[    9.996341] r10: c0078088  r9 : df538000  r8 : 00000013
[   10.001828] r7 : bf0cc2e0  r6 : 00000000  r5 : bf0cc2e0  r4 : df0cda10
[   10.008685] r3 : fa04a054  r2 : dc028458  r1 : 00000000  r0 : fa04a054
[   10.015543] Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
[   10.023038] Control: 10c5387d  Table: 9f53c019  DAC: 00000015
[   10.029075] Process udevd (pid: 915, stack limit = 0xdf538238)
[   10.035202] Stack: (0xdf539bf8 to 0xdf53a000)
[   10.039776] 9be0:                                                       600f0013 bf0ce0bc
[   10.048368] 9c00: 600f0013 bf0cf24c dc028458 4804a054 df00bd00 fa04a054 00000000 016e3600
[   10.056963] 9c20: df00bd00 bf090550 df539c54 df539c38 bf0b8c34 bf0b88e4 bf0a2500 bf0cf120
[   10.065559] 9c40: dc2041c0 bf0cf24c df539c9c df539c58 bf0b9590 bf0b8bc4 df539c7c df539c68
[   10.074152] 9c60: c00254bc c0022f08 df0ceec0 bf0cf120 00000000 bf0cf120 dc46cc00 dc204254
[   10.082744] 9c80: bf0cf2bc 00000000 00000000 0000000b df539cc4 df539ca0 bf097404 bf0b8fb4
[   10.091339] 9ca0: df539cbc df0cda00 00000000 00000000 c0898248 df0cda10 df539cdc df539cc8
[   10.099935] 9cc0: c033a62c bf097330 c0902560 df0cda10 df539d04 df539ce0 c0339154 c033a618
[   10.108531] 9ce0: 00000000 df0cda10 bf0cc2e0 df0cda44 00000000 bf0e8000 df539d24 df539d08
[   10.117124] 9d00: c033930c c0339050 df0c6a3c 00000000 bf0cc2e0 c0339278 df539d4c df539d28
[   10.125715] 9d20: c0337894 c0339284 df064d8c df0c6a30 dc41b9b4 bf0cc2e0 dc41b980 c08b0c60
[   10.134312] 9d40: df539d5c df539d50 c0338c4c c0337844 df539d84 df539d60 c0338854 c0338c34
[   10.142906] 9d60: bf0c3c9c df539d70 bf0cc2e0 bf0cc430 00000000 df592c40 df539d9c df539d88
[   10.151501] 9d80: c0339990 c0338784 df539f48 bf0cc430 df539dac df539da0 c033a580 c033991c
[   10.160098] 9da0: df539df4 df539db0 bf0e80b0 c033a53c dfddad80 c08d1320 df539ddc df539dc8
[   10.168691] 9dc0: c05d92e8 c05d80a4 c0091e28 ffffffff df539dec df539de0 c0091e20 c05d9190
[   10.177287] 9de0: df539e1c df539df0 df539e84 df539df8 c00088b8 bf0e800c 00000000 00000000
[   10.185882] 9e00: bf0cc424 00000000 bf0cc424 c0078088 df539e44 df539e20 c05dc028 c05dc920
[   10.194479] 9e20: ffffffff c089b7f0 df539e44 df539e38 c005dbbc c005e7ec df539e6c df539e48
[   10.203075] 9e40: c0054780 c005dbb8 00000000 df539e58 df539f48 bf0cc430 00000001 df539f48
[   10.211670] 9e60: bf0cc430 00000001 df592c40 00000001 bf0cc424 c0078088 df539f44 df539e88
[   10.220264] 9e80: c007a800 c00087d0 bf0cc430 00007fff c00782b0 00000000 df539ec4 e0f2e000
[   10.228859] 9ea0: 00000000 bf0cc430 00000000 e11c23cc df539edc df538000 bf0cc46c bf0cc550
[   10.237453] 9ec0: c0077ec4 c07bc5d4 e0f2e000 0035a3f7 0012c6e5 00000000 0000000e bf0ba3c0
[   10.246047] 9ee0: 00000002 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   10.254643] 9f00: 00000000 00000000 00000000 00000000 00000000 00000000 00001ae0 00000000
[   10.263238] 9f20: 00000005 b6f8eb84 0000017b c000e964 df538000 00000000 df539fa4 df539f48
[   10.271835] 9f40: c007b038 c00791a4 e0f2e000 0035a3f7 e11c1cec e11c1b5a e128231c 0005f338
[   10.280431] 9f60: 0006dcc8 00000000 00000000 00000000 0000002c 0000002d 00000017 00000014
[   10.289021] 9f80: 0000000e 00000000 00000000 00000000 00000000 00000000 00000000 df539fa8
[   10.297616] 9fa0: c000e7e0 c007afd8 00000000 00000000 00000005 b6f8eb84 00000000 b6f8f93c
[   10.306211] 9fc0: 00000000 00000000 00000000 0000017b b6f8eb84 00000000 0004b9b8 0004bc08
[   10.314805] 9fe0: bec8da50 bec8da40 b6f86bc4 b6f078f0 800f0010 00000005 00000000 00000000
[   10.323393] Backtrace:
[   10.326264] [<bf0b88d8>] (AcquireGPTimer [pvrsrvkm]) from [<bf0b8c34>] (EnableSystemClocks+0x7c/0x8c [pvrsrvkm])
[   10.337146] [<bf0b8bb8>] (EnableSystemClocks [pvrsrvkm]) from [<bf0b9590>] (SysInitialise+0x5e8/0x7bc [pvrsrvkm])
[   10.348084] [<bf0b8fa8>] (SysInitialise [pvrsrvkm]) from [<bf097404>] (PVRSRVDriverProbe+0xe0/0x108 [pvrsrvkm])
[   10.358719] [<bf097324>] (PVRSRVDriverProbe [pvrsrvkm]) from [<c033a62c>] (platform_drv_probe+0x20/0x50)
[   10.368601] [<c033a60c>] (platform_drv_probe) from [<c0339154>] (driver_probe_device+0x110/0x234)
[   10.377840]  r5:df0cda10 r4:c0902560
[   10.381574] [<c0339044>] (driver_probe_device) from [<c033930c>] (__driver_attach+0x94/0x98)
[   10.390360]  r8:bf0e8000 r7:00000000 r6:df0cda44 r5:bf0cc2e0 r4:df0cda10 r3:00000000
[   10.398452] [<c0339278>] (__driver_attach) from [<c0337894>] (bus_for_each_dev+0x5c/0x90)
[   10.406966]  r6:c0339278 r5:bf0cc2e0 r4:00000000 r3:df0c6a3c
[   10.412880] [<c0337838>] (bus_for_each_dev) from [<c0338c4c>] (driver_attach+0x24/0x28)
[   10.421213]  r6:c08b0c60 r5:dc41b980 r4:bf0cc2e0
[   10.426036] [<c0338c28>] (driver_attach) from [<c0338854>] (bus_add_driver+0xdc/0x1d8)
[   10.434287] [<c0338778>] (bus_add_driver) from [<c0339990>] (driver_register+0x80/0xfc)
[   10.442621]  r7:df592c40 r6:00000000 r5:bf0cc430 r4:bf0cc2e0
[   10.448535] [<c0339910>] (driver_register) from [<c033a580>] (__platform_driver_register+0x50/0x64)
[   10.457954]  r5:bf0cc430 r4:df539f48
[   10.461779] [<c033a530>] (__platform_driver_register) from [<bf0e80b0>] (PVRCore_Init+0xb0/0x344 [pvrsrvkm])
[   10.472199] [<bf0e8000>] (PVRCore_Init [pvrsrvkm]) from [<c00088b8>] (do_one_initcall+0xf4/0x150)
[   10.481454] [<c00087c4>] (do_one_initcall) from [<c007a800>] (load_module+0x1668/0x1d40)
[   10.489878]  r10:c0078088 r9:bf0cc424 r8:00000001 r7:df592c40 r6:00000001 r5:bf0cc430
[   10.498052]  r4:df539f48
[   10.500697] [<c0079198>] (load_module) from [<c007b038>] (SyS_finit_module+0x6c/0x78)
[   10.508849]  r10:00000000 r9:df538000 r8:c000e964 r7:0000017b r6:b6f8eb84 r5:00000005
[   10.517022]  r4:00000000
[   10.519670] [<c007afcc>] (SyS_finit_module) from [<c000e7e0>] (ret_fast_syscall+0x0/0x30)
[   10.528184]  r6:00000000 r5:00000000 r4:00000000
[   10.533006] Code: e34b3f0c ebff5f2d ea000030 e51b3020 (e5933000)
[   10.539357] ---[ end trace 848ef228a453e3a5 ]---

请问这个问题要怎么处理?谢谢!在论坛也看到其他朋友出现过一样问题:www.deyisupport.com/.../304350.aspx 

  • 你的硬件平台是哪个?自己做的板子吗?主芯片的料号全称?

    SDK8.0的release notes中提到:

    3D Graphics SDK included in the Sitara SDK has been updated to version 05.01.01.02.

    根据:http://processors.wiki.ti.com/index.php/RN_5_01_01_02

    Installation and Usage

    Please look for detailed installation and usage instructions at the below link-
    http://processors.wiki.ti.com/index.php/Graphics_SDK_Quick_installation_and_user_guide

    你操作部分没问题的话应该不会出现这种问题。


  • liu 你好!

    使用SGX版本:Graphics_SDK_setuplinux_hardfp_5_01_01_02.bin 都是按照文档操作了!

    现在调试跟GX源代码发现:

    重启时出现 的这个错误,Unhandled fault: external abort on non-linefetch (0x1028) at 0xfa04a054

    0xfa04a054是由0x4804A054(DMTIMER7)这个寄存器映射的,是不是对应模块没有开启?

    第一次装载PVR:成功时,0x4804A054(DMTIMER7)这个寄存器也是映射到内存0xfa04a054,确能成功。

    能否帮忙再分析一下,谢谢!




  • #Rules.make

    ################# FIELDS MODIFIABLE BY THE USER ###############################
    ############### All the fields below are MANDATORY ############################
    SDK_INSTALL_DIR=/opt/ti-sdk-am335x-evm-08.00.00.00
    LINUX_DEVKIT_PATH=/opt/ti-sdk-am335x-evm-08.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr
    LINUXKERNEL_INSTALL_DIR=/opt/ti-sdk-am335x-evm-08.00.00.00/board-support/linux-3.14.26-g2489c02
    DESTDIR=/home/frank/NFS/nfs
    #By default all below variables have been initialized with equivalent AMSDK variables
    # Change them to appropriate paths as per your machine/build environment paths.
    # Set home area (ex /home/user/)
    HOME=$(SDK_INSTALL_DIR)

    # Set Toolchain path (ex /home/user/toolchain/arago-2011.09/armv7a)
    CSTOOL_DIR=$(LINUX_DEVKIT_PATH)

    # Set Tool chain prefix (ex arm-arago-linux-gnueabi- )
    CSTOOL_PREFIX=`basename $CROSS_COMPILE`

    # Set kernel installation path ( ex /home/user/linux-04.00.01.13 )
    KERNEL_INSTALL_DIR=$(LINUXKERNEL_INSTALL_DIR)

    # Set Target filesystem path ( ex /home/user/targetfs )
    TARGETFS_INSTALL_DIR=$(DESTDIR)

    # Set installation folder
    GRAPHICS_INSTALL_DIR=$(HOME)/Graphics_SDK_5_01_01_02

    //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    make CROSS_COMPILE=/opt/ti-sdk-am335x-evm-08.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf- BUILD=debug OMAPES=8.x PM_RUNTIME=1 FBDEV=yes SUPPORT_XORG=0 all

  • 硬件板是自己布的,参考am335x-evm做的,使用的芯片AM3354BZCZ80

  • 刘工你好!

    找到问题所在了,在运行./335x-demo的时候,最开始阶段使用了devmem2 0x44e0007c w 0x02这个命令,就是是能DMTIMER7 这个模块。

    使用SDK编译出来的内核,上电复位的时候,DMTIMER7这个模块是禁止的,导致挂载pvrsrvkm.ko失败!

    请问刘工,在dts中是否有办法配置DMTIMER7模块使能呢?有没有参考,谢谢!