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.

Resource protocol ti.sdo.fc.ires.examples.resources.memtcm and version 0x130cb4 didn't match any registered protocol and version



Hello,
i get a new DVSDK for DM365 and use the new DVSDK to compile my encode program, then run the encode, but i find the VIDENC1_create fail.
I set CE_DEBUG=2 and open the debug_trace in my encode.cfg such as xdc.loadPackage('ti.sdo.fc.rman').profile = "debug_trace", and i get the error message below:
@47,845,297us: [+7 T:0x420d9490] ti.sdo.fc.rman - RMAN_assignResources> Resource protocol ti.sdo.fc.ires.examples.resources.memtcm and version 0x130cb4 didn't match any registered protocol and version
@70,175,981us: [+0 T:0x420d9490] ti.sdo.fc.rman - RMAN_assignResources> Exit (status=8)
@70,176,159us: [+7 T:0x420d9490] ti.sdo.ce.alg.Algorithm - Algorithm_create> Assignment of alg resources through RMAN FAILED (0x8)
@70,512,807us: [+2 T:0x420d9490] CV - VISA_create2> FAILED to create local codec.
@70,513,289us: [+0 T:0x420d9490] ti.sdo.ce.video1.VIDENC1 - VIDENC1_create> return (0x0)

But if i change the DVSDK to the old, all is ok. I compare the two DVSDK version difference
the old DVSDK:
dvsdk_2_10_01_18
codec_engine_2_24
H264ENC.version.1.20.00.07.wizardversion.0.5.3
framework_components_2_24
linuxutils_2_24_02

the new DVSDK:
dvsdk_2_10_01_18
codec_engine_2_24
H264ENC.version.02.00.00.04.wizardversion.0.5.3
framework_components_2_25_00_04
linuxutils_2_24_03

The error messages show the memtcm fail, and i think maybe the IH264VENC_Params or IH264VENC_DynamicParams must change, or my encode.cfg file must change.
In the IH264VENC_PARAMS, enableARM926Tcm has be set to 0 -- Does not use ARM926 TCM,then i try to run, but the VIDENC1_create also fail.
I modify my encode.cfg, add the below:
var MEMTCM = xdc.useModule('ti.sdo.fc.ires.memtcm.MEMTCM');
MEMTCM.cmemBlockId = 1; //Since we use _1 in our insmod command
and when insmod the cmem.ko, add the below:
allowOverlap=1 phys_start_1=0x00001000 phys_end_1=0x00008000 pools_1=1x28672
but the VIDENC1_create also fail.

can anybody help me?
thanks very much

pavel

  • Pavel,

    To solve your first issue (the error msg "Resource protocol ti.sdo.fc.ires.examples.resources.memtcm and version 0x130cb4 didn't match any registered protocol and version") the right solution is to add the following to your .cfg file:-

    var MEMTCM = xdc.useModule('ti.sdo.fc.ires.memtcm.MEMTCM');

    Looks like you tried that already. That should get rid of the first error message. Please share the log that results when you make this change ? Is it still failing with the same error, or with a different error ?

    Thanks,

    Gunjan.

  • Thanks Gunjan.

    When i modify my encode.cfg, add the below:
        var MEMTCM = xdc.useModule('ti.sdo.fc.ires.memtcm.MEMTCM');
        MEMTCM.cmemBlockId = 1; //Since we use _1 in our insmod command


    and when insmod the cmem.ko, add the below:
        allowOverlap=1 phys_start_1=0x00001000 phys_end_1=0x00008000 pools_1=1x28672

    The error message is :

    @12,243,522us: [+7 T:0x420e2490] ti.sdo.fc.edma3 - allocAndSaveResource> Number of resource requests exceeded configured maxRequests = 64
    @12,243,762us: [+7 T:0x420e2490] ti.sdo.fc.edma3 - allocResource> Resource allocation failed
    @12,243,962us: [+7 T:0x420e2490] ti.sdo.fc.ires.edma3Chan - IRESMAN_EDMA3CHAN_getHandles> Could not allocate requested resource of type 1 Id 63
    @12,244,614us: [+7 T:0x420e2490] ti.sdo.ce.alg.Algorithm - Algorithm_create> Assignment of alg resources through RMAN FAILED (0x7)

     

  • This is a different failure, it is from the edma3 package. That module has a config param called maxRequests that has a default value of 64 and needs to be increased.

    Do the following in your cfg file:-

    var EDMA = xdc.useModule("ti.sdo.fc.edma3.Settings");

    EDMA.maxRequests = 128;

     

    The parameter maxRequests is used to generate some internal tables etc for the edma3 library, and that value has been exceeded. Let me know if this works for you.

  • Thanks Gunjan.

    I modify my encode.cfg, add the below:

        var EDMA = xdc.useModule("ti.sdo.fc.edma3.Settings");

        EDMA.maxRequests = 128;

    All is ok, my encode run perfect.

    Thanks very much.