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.

Multiple encoder instances

Other Parts Discussed in Thread: OMAP3525

Hello.

I'm using DVSDK 3.01 with OMAP3525.

I'm developing some program which runs multiple aaclc encoders which work on the DSP simulteneously.  When I run up to four  encoders, they work fine.  However when I try to create 6th instance, I got the message of " [Aenc1] Failed to open audio encode algorithm: aaclcenc" when I call "Aenc1_create()" which the DMAI provides.

I thought the issue was related to size of DDRALGHEAP, however I checked this value in server.tcf under cs1omap folder is set as 0x90,0000 as a default for video application, and I believe it's not the cause of the issue.

I also tried modifying cmem setting in loadmodules.sh like the followings.  However I still have the problem. 

insmod cmemk.ko phys_start=0x8e300000 phys_end=0x8f200000 pools=20x16384,40x8192,40x4096 allowOverlap=1

 

For test purpose I made some very light xDais compliant DSP program, and in this case, I succeeded in creating 12 instance in DSP, howvere failed in creating 13rd one.

 

Please give me your advice to solve the issue.  Thank you in advance.

 

Best,

 

Hiroyuki Yazawa

  • Hi,

    I have checked it in standalone at our end and I am able to create 20 instances with heap size of  0x140000.

     

    I believe the heap size calculated by considering the fact that memory required for creation of one instance is 62.8kB ((8.2+54.6)(SCRATCH+PERSISTENT)) , will not give any issue in the creation of multi instance.

    I do not think this is an issue with the audio module, codec supports multiple instance without issues.

    This seems to be an issue with DVSDK.

    You might be running short of heap memory, I can think of only this possibility.

    Regards,

    Venumadhavi

     

     

     

  • Venumadhavi-san,

     

    Thank you very much for responding to my post.

    The bellow is my code for just creating multiple instances of aaclcenc and I get error in creating 6th instance with the following message.

    @0x00142ca1:[T:0x40021cb0] ti.sdo.dmai - [Aenc1] Failed to open audio encode algorithm: aaclcenc

    Thank you for your help again.

     

    Best,

     

    Hiroyuki Yazawa

     

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
    #include <getopt.h>
    #include <strings.h>
    #include <pthread.h>
    #include <sys/time.h>
    #include <sys/resource.h>

    #include <xdc/std.h>

    #include <ti/sdo/ce/CERuntime.h>

    #include <ti/sdo/dmai/Dmai.h>
    #include <ti/sdo/dmai/Fifo.h>
    #include <ti/sdo/dmai/Pause.h>
    #include <ti/sdo/dmai/Sound.h>
    #include <ti/sdo/dmai/Capture.h>
    #include <ti/sdo/dmai/BufferGfx.h>
    #include <ti/sdo/dmai/Rendezvous.h>

    #include <ti/sdo/dmai/ce/Aenc1.h>  //Test

    const AUDENC1_Params Aencproc_Params_DEFAULT = {
        sizeof(AUDENC1_Params),
        44100,  //Sampling Rate
        288000,  // BitRate
        IAUDIO_2_0,  // 2 Channel
        XDM_LE_16,   // Bit Order
        IAUDIO_CBR,  // Compression mode
        IAUDIO_INTERLEAVED,  //Input Buffer Type
        16,          // bits per a sample
        192000,      // max bit rate
    //    384000,   //NG for AACLC Enc
        IAUDIO_DUALMONO_LR,
        XDAS_FALSE,
        XDAS_FALSE,
        XDAS_FALSE
    };

    const AUDENC1_DynamicParams Aencproc_DynamicParams_DEFAULT = {
        sizeof(AUDENC1_DynamicParams),
        288000,
        44100,
        IAUDIO_2_0,
        XDAS_FALSE,
        IAUDIO_DUALMONO_LR,
        16
    };

    ///////////////////////////////////////////
    int main(int argc, char *argv[])
    {
        AUDENC1_Params         *params;
        AUDENC1_DynamicParams  *dynParams;

        CERuntime_init();
        Dmai_init();
        Dmai_setLogLevel(Dmai_LogLevel_All);

        int id;
        Engine_Handle           hEngine[32];
        Aenc1_Handle            hAe[32];
        for(id=0; id <32; id++){
            hEngine[id] = NULL;
        }

        for(id=0; id <32; id++){
            hEngine[id] = Engine_open("encode", NULL, NULL);
            if (hEngine[id] == NULL) {
                printf("Failed to open codec engine %s\n", "encode");
                goto cleanup;
            }
            params = &Aencproc_Params_DEFAULT;
            dynParams = &Aencproc_DynamicParams_DEFAULT;
            hAe[id] = Aenc1_create(hEngine[id], "aaclcenc", params, dynParams);
            if (hAe[id] == NULL) {
                printf("Failed to create audio encoder:  %s id=%d\n", "aaclcenc", id);
                goto cleanup;
            }
            else printf("succeeded in opening codec id= %d\n",id);
         }

    cleanup:
        for(id=0; id <32; id++){
          if(hEngine[id] != NULL)     Engine_close(hEngine[id]);
        }
        exit(0);
    }

  • HI!

    Some more information for memort allocation for the DSP.

    I tried both of the followings and have gotten the same result.

     

    (1) server.tcf setting

    var DSPLINKMEM_SIZE   = 0x00100000 // 1M space includes the Reset Vector, DSP Link
    var DSPEXTMEM_SIZE    = 0x00300000 // 3M space for the external code and data //
    var DDRALGHEAP_SIZE   = 0x00900000 // 9M space for the DDRALGHEAP //

    (2) server.tcf setting

    var DSPLINKMEM_SIZE   = 0x00200000
    var DSPEXTMEM_SIZE    = 0x00500000
    var DDRALGHEAP_SIZE   = 0x00600000

    only 5 aaclcenc instances should not use up the  heap, I think.

    Yazawa

     

  • Hi,

    From your observations, it seems that changing of heap memory size from 9MB to 6MB is not reflecting number of instances created.

    Change in heap memory must and should reflect instance creation. 

    Please check that the server.tcf file in which you have done changes is the relevant file which is affecting memory requirements or not. 

     

    For confirming the same, can you please keep the heap size value as zero in server.tcf file and check if instances are getting created. 

    Regards

    Venumadhavi

  • Hi Venumadhavi-san,

    Thank you for your help.

    I tried several DDRALGHEAP settings with modifying the server.tcf .   I confirmed DDRALGHEAP reflects instance creation as you can see in the Case3 bellow.  However, there seems to be some limitation in creating instances.

    ( Case 1)  Failed at  id=5 (  means 6th instance)
    var DDRALGHEAP_SIZE   = 0x00100000

    (Case 2) Failed at  id=5 (  means 6th instance)
    var DDRALGHEAP_SIZE   = 0x00040000

    (Case3) Failed at  id=3 (  means 4th instance)
    var DDRALGHEAP_SIZE   = 0x00020000

    Regards,

    Yazawa

     

  • Hi,

     

    In our codec side, we will represent external memory base address and total length of memory required and heap size will be accommodated within this range.

     

    If heap size specified will be out of range of the total length specified, then usually this problem arises.

     

    So, please check that in your case, heap size mentioned is not out of range from the total length of memory specified.

     

    Regards

    Venumadhavi

     

  • Hi Venumadhavi-san,

     

    Thank you for your help.

    The followings are the memory map in the cs.x64P.map when I set DDRALGHEAP=0x900000.    I have 256MB RAM on our OMAP3525 board and limited the memory area which Linux uses under 227MBytes with a uboot prameter.  I do not see any obvious problem in  this map.   Is there any paramer which could cause the symptom in the server.tcf?

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    MEMORY CONFIGURATION

             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
      IRAM                  107f8000   00008000  00000000  00008000  RWIX
      CACHE_L2              10800000   00010000  00000000  00010000  RWIX
      CACHE_L1P             10e00000   00008000  00000000  00008000  RWIX
      L1DSRAM               10f04000   00010000  00010000  00000000  RWIX
      CACHE_L1D             10f14000   00004000  00000000  00004000  RWIX
      L4CORE                48000000   01000000  00000000  01000000  RWIX
      L4PER                 49000000   00100000  00000000  00100000  RWIX
      RESET_VECTOR          8f300000   00001000  00000000  00001000  RWIX
      DSPLINKMEM            8f301000   000ff000  00000000  000ff000  RWIX
      DDRALGHEAP            8f400000   00900000  00900000  00000000  RWIX
      DDR2                  8fd00000   00300000  001d787d  00128783  RWIX

     

     

     

     

     

  • Hi,

     

    From the memory configuration of map file which you have shared, it seems that heap size is correctly updated.

     

    As at your end it is able to create 5 instances and for 6th instance it’s giving error, so can you please print the addresses of hEngine[id] and hAe[id] for 5 instances and share with us, so that we can get to know how much memory is being allocated for each instance.

     

    Regards

    Venumadhavi

     

  • Hi Venumadhavi-san,

     

    Thank you very much for your support.  The followings are the log with ptinting hAe[id: and hEngine[id].

     

    Best Regards,

    Yazawa

    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    @0x000407e0:[T:0x40021cb0] ti.sdo.dmai - [Dmai] Log level set to 2.
     Succeded in opening codec engine hEngine[0] = 4d518
    succeeded in opening codec hAe[0] = 4d930
     Succeded in opening codec engine hEngine[1] = 4d9f0
    succeeded in opening codec hAe[1] = 4da58
     Succeded in opening codec engine hEngine[2] = 4dac8
    succeeded in opening codec hAe[2] = 4db30
     Succeded in opening codec engine hEngine[3] = 4dba0
    succeeded in opening codec hAe[3] = 4dc08
     Succeded in opening codec engine hEngine[4] = 4dc78
    succeeded in opening codec hAe[4] = 4dce0
     Succeded in opening codec engine hEngine[5] = 4dd50
    @0x00099c00:[T:0x40021cb0] ti.sdo.dmai - [Aenc1] Failed to open audio encode algorithm: aaclcenc
    Failed to create audio encoder:  aaclcenc id=5

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    cs.x64P.map

      DSPLINKMEM            8f301000   000ff000  00000000  000ff000  RWIX
      DDRALGHEAP            8f400000   00900000  00900000  00000000  RWIX
      DDR2                  8fd00000   00300000  001d787d  00128783  RWIX

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    cmem parmeter in the loadmodules.sh, just for a reference.

    I tried bot and have gotten the same result.

    (a) insmod cmemk.ko phys_start=0x8e300000 phys_end=0x8f200000 pools=1x3000000,1x1429440,6x1048576,4x829440,1x327680,1x256000,7x131072,20x4096 allowOverlap=1

    (b) insmod cmemk.ko phys_start=0x8e300000 phys_end=0x8f200000 pools=20x16384,40x8192,40x4096 allowOverlap=1

     

     

  • Hi,

     

    The print: Succeded in opening codec engine hEngine[0] = 4d518, seems that this handle address is not in the range of (External memory) heap size 0x8f400000 which you have allocated. I doubt that if this 4d518 address falls in Internal memory range.

     

    Handle address should start with 0x8f400000 and should increase address value with 62.8KB for every handle creation.

     

    For example, in your case, the difference between addresses of  hEngine[1]  and  hAe[0]  should be of  62.8KB , but here it is seen as 0x70 (112) bytes.

     

    In your code, add the following prints and share logs with me.

     

    After this line: hEngine[id] = Engine_open("encode", NULL, NULL);

    Add print as: printf(“Succeded in opening codec engine hEngine[%d] at addr: %0x \n”, id, hEngine[id]);

     

    After this line: hAe[id] = Aenc1_create(hEngine[id], "aaclcenc", params, dynParams);

    Add print as: printf(“Succeded in opening codec hAe[%d] at addr: %0x \n”, id, hAe[id]);

           

    Regards

    Venumadhavi

  • Hi Venumadhavi-san,

     

    Thank you for your help.

     

    I added printf following your instruction.  The followings are the log.

     

    I added the source code in this post, just in case/

     

    Thanks,

    Yazawa

     

    ///////////////////////////////////////////////////////////////////////////////

    @0x000de49d:[T:0x40021cb0] ti.sdo.dmai - [Dmai] Log level set to 2.
    Succeded in opening codec engine hEngine[0] at addr: 4d518
    Succeded in opening codec hAe[0] at addr: 4d930
    Succeded in opening codec engine hEngine[1] at addr: 4d9f0
    Succeded in opening codec hAe[1] at addr: 4da58
    Succeded in opening codec engine hEngine[2] at addr: 4dac8
    Succeded in opening codec hAe[2] at addr: 4db30
    Succeded in opening codec engine hEngine[3] at addr: 4dba0
    Succeded in opening codec hAe[3] at addr: 4dc08
    Succeded in opening codec engine hEngine[4] at addr: 4dc78
    Succeded in opening codec hAe[4] at addr: 4dce0
    Succeded in opening codec engine hEngine[5] at addr: 4dd50
    @0x0014ac2e:[T:0x40021cb0] ti.sdo.dmai - [Aenc1] Failed to open audio encode algorithm: aaclcenc
    Failed to create audio encoder:  aaclcenc id=5

    //////////////////////////////////////////////////////////////////////////////////

    ////////// Source code ////////////////////////////////////////////////

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
    #include <getopt.h>
    #include <strings.h>
    #include <pthread.h>
    #include <sys/time.h>
    #include <sys/resource.h>

    #include <xdc/std.h>

    #include <ti/sdo/ce/CERuntime.h>

    #include <ti/sdo/dmai/Dmai.h>
    #include <ti/sdo/dmai/Fifo.h>
    #include <ti/sdo/dmai/Pause.h>
    #include <ti/sdo/dmai/Sound.h>
    #include <ti/sdo/dmai/Capture.h>
    #include <ti/sdo/dmai/BufferGfx.h>
    #include <ti/sdo/dmai/Rendezvous.h>

    #include <ti/sdo/dmai/ce/Aenc1.h>  //Test

    const AUDENC1_Params Aencproc_Params_DEFAULT = {
        sizeof(AUDENC1_Params),
        44100,  //Sampling Rate
        288000,  // BitRate
        IAUDIO_2_0,  // 2 Channel
        XDM_LE_16,   // Bit Order
        IAUDIO_CBR,  // Compression mode
        IAUDIO_INTERLEAVED,  //Input Buffer Type
        16,          // bits per a sample
        192000,      // max bit rate
    //    384000,   //NG for AACLC Enc
        IAUDIO_DUALMONO_LR,
        XDAS_FALSE,
        XDAS_FALSE,
        XDAS_FALSE
    };

    const AUDENC1_DynamicParams Aencproc_DynamicParams_DEFAULT = {
        sizeof(AUDENC1_DynamicParams),
        288000,
        44100,
        IAUDIO_2_0,
        XDAS_FALSE,
        IAUDIO_DUALMONO_LR,
        16
    };

    ///////////////////////////////////////////
    int main(int argc, char *argv[])
    {
        AUDENC1_Params         *params;
        AUDENC1_DynamicParams  *dynParams;

        CERuntime_init();
        Dmai_init();
        Dmai_setLogLevel(Dmai_LogLevel_All);

        int id;
        Engine_Handle           hEngine[32];
        Aenc1_Handle            hAe[32];
        for(id=0; id <32; id++){
            hEngine[id] = NULL;
        }

        for(id=0; id <32; id++){
            hEngine[id] = Engine_open("encode", NULL, NULL);
            printf("Succeded in opening codec engine hEngine[%d] at addr: %0x \n", id, hEngine[id]);
            if (hEngine[id] == NULL) {
                printf("Failed to open codec engine %s\n", "encode");
                goto cleanup;
            }
            //else printf(" Succeded in opening codec engine hEngine[%d] = 0x%x\n",id, hEngine[id]);

            params = &Aencproc_Params_DEFAULT;
            dynParams = &Aencproc_DynamicParams_DEFAULT;
            hAe[id] = Aenc1_create(hEngine[id], "aaclcenc", params, dynParams);
            printf("Succeded in opening codec hAe[%d] at addr: %0x \n", id, hAe[id]);
            if (hAe[id] == NULL) {
                printf("Failed to create audio encoder:  %s id=%d\n", "aaclcenc", id);
                goto cleanup;
            }
            //else printf("succeeded in opening codec hAe[%d] = 0x%x\n",id, hAe[id]);
         }

    cleanup:
        for(id=0; id <32; id++){
          if(hEngine[id] != NULL)     Engine_close(hEngine[id]);
        }
        exit(0);
    }

     

     

  • This could be the only cause of handle creation failing i.e., insufficient memory.

    Please check that the address value of 4d518 is falling into which memory range. I doubt that it comes into range of neither Internal nor External memory. This address seems that it is getting allocated somewhere and not reflected in heap size.

     

    - Venumadhavi

  • Hi Venumadhavi-san,

     

    Thank you for your support.

     

    I'm sorry that I do not know how to check the memory range. 

     

    I've tried measuring memory heap with some CE API.   Please see the followings.  For me it looks like CE allocates heap memory properly until creating 6th aaclcenc instance, however DDR2 area is too smaller than what I set in the "/cs1omap3530_1_01_00/packages/ti/sdo/server/cs/server.tcf" and allocating text and static into DDR" is failed at the time, though I do not understand why DDR2 is consumed at creating instance of an Engine or Encoder.

     

    I tried change the value of DSPEXTMEM_SIZE in the server.tcf and confirmed the cs.x64map reflects that change, however when I run test app on our board, DDR2 size is remain the same (131072) , while DDRHEAP size changes per setting in the server.tcf.

    I believe DDR2 should reflect DSPEXTMEM_SIZE.   Is this understanding correct?

    Best Regards,

     

    Yazawa

     

    //////////////////////////////      Source Code modification       //////////////////////////////

        Server_Handle hServer;
        Engine_MemStat memStat;
        int numSegs, i;

       for(id=0; id <32; id++){
            hEngine[id] = Engine_open("encode", NULL, NULL);
            printf("Succeded in opening codec engine hEngine[%d] at addr: %0x \n", id, hEngine[id]);
            if (hEngine[id] == NULL) {
                printf("Failed to open codec engine %s\n", "encode");
                goto cleanup;
            }
            //else printf(" Succeded in opening codec engine hEngine[%d] = 0x%x\n",id, hEngine[id]);

            params = &Aencproc_Params_DEFAULT;
            dynParams = &Aencproc_DynamicParams_DEFAULT;
            hAe[id] = Aenc1_create(hEngine[id], "aaclcenc", params, dynParams);
            printf("Succeded in opening codec hAe[%d] at addr: %0x \n", id, hAe[id]);
            if (hAe[id] == NULL) {
                printf("Failed to create audio encoder:  %s id=%d\n", "aaclcenc", id);
                goto cleanup;
            }
            //else printf("succeeded in opening codec hAe[%d] = 0x%x\n",id, hAe[id]);

    //  New modification here as of 2011 5/24
            hServer = Engine_getServer(hEngine[id]);
            Server_getNumMemSegs(hServer, &numSegs);
            for(i=0; i<numSegs; i++){
                Server_getMemStat(hServer, i, &memStat);
                printf( "%s;  size=%d used=%d\n", memStat.name, memStat.size, memStat.used);
            }
            if( hAe[id] != NULL){
                usedMem = Engine_getUsedMem(hEngine[id]);
                printf("id=%d: Used Memory = %d \n\n",id, usedMem );   
            }

    // end of modification as of 2011 5/24
         }

    ////////////////////   server.tcf  ///////////////////////////////

    var DSPLINKMEM_SIZE   = 0x00200000  // NG at id=5 ( start from 0 )
    var DSPEXTMEM_SIZE    = 0x00500000
    var DDRALGHEAP_SIZE   = 0x00600000

    ////////////////////   cs.x64P  ////////////////////////////////

    MEMORY CONFIGURATION

             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
      IRAM                  107f8000   00008000  00000000  00008000  RWIX
      CACHE_L2              10800000   00010000  00000000  00010000  RWIX
      CACHE_L1P             10e00000   00008000  00000000  00008000  RWIX
      L1DSRAM               10f04000   00010000  00010000  00000000  RWIX
      CACHE_L1D             10f14000   00004000  00000000  00004000  RWIX
      L4CORE                48000000   01000000  00000000  01000000  RWIX
      L4PER                 49000000   00100000  00000000  00100000  RWIX
      RESET_VECTOR          8f300000   00001000  00000000  00001000  RWIX
      DSPLINKMEM            8f301000   001ff000  00000000  001ff000  RWIX
      DDRALGHEAP            8f500000   00600000  00600000  00000000  RWIX
      DDR2                  8fb00000   00500000  001d7f9d  00328063  RWIX

    ////////////////////////     Log  //////////////////////////////////////////////////////////////////////////

    @0x0007d334:[T:0x40021cb0] ti.sdo.dmai - [Dmai] Log level set to 2.
    Succeded in opening codec engine hEngine[0] at addr: 4d518
    Succeded in opening codec hAe[0] at addr: 4d930
    DDR2;  size=131072 used=39952
    DDRALGHEAP;  size=6291456 used=64680
    L1DSRAM;  size=65536 used=0
    id=0: Used Memory = 104632

    Succeded in opening codec engine hEngine[1] at addr: 4d9f0
    Succeded in opening codec hAe[1] at addr: 4da58
    DDR2;  size=131072 used=58848
    DDRALGHEAP;  size=6291456 used=129360
    L1DSRAM;  size=65536 used=0
    id=1: Used Memory = 188208

    Succeded in opening codec engine hEngine[2] at addr: 4dac8
    Succeded in opening codec hAe[2] at addr: 4db30
    DDR2;  size=131072 used=77744
    DDRALGHEAP;  size=6291456 used=194040
    L1DSRAM;  size=65536 used=0
    id=2: Used Memory = 271784

    Succeded in opening codec engine hEngine[3] at addr: 4dba0
    Succeded in opening codec hAe[3] at addr: 4dc08
    DDR2;  size=131072 used=96640
    DDRALGHEAP;  size=6291456 used=258720
    L1DSRAM;  size=65536 used=0
    id=3: Used Memory = 355360

    Succeded in opening codec engine hEngine[4] at addr: 4dc78
    Succeded in opening codec hAe[4] at addr: 4dce0
    DDR2;  size=131072 used=115536
    DDRALGHEAP;  size=6291456 used=323400
    L1DSRAM;  size=65536 used=0
    id=4: Used Memory = 438936

    Succeded in opening codec engine hEngine[5] at addr: 4dd50
    @0x000c290b:[T:0x40021cb0] ti.sdo.dmai - [Aenc1] Failed to open audio encode algorithm: aaclcenc
    Succeded in opening codec hAe[5] at addr: 0
    Failed to create audio encoder:  aaclcenc id=5
    #

  • Hi,

     

    One more findings.  When I modified the following, I succeeded in creating up to 26 instances.  I guess this could be solution, however I do not know is there any side effect or not.

     

    ////////////  server.tcf   /////////////////

    bios.DDR2.createHeap = true;
    //bios.DDR2.heapSize   = 0x20000; // 128K
    bios.DDR2.heapSize   = 0x80000; //    <==    Modification

    /////////////////////////////////////////////////////

     

    Thank you for your help and Regards,

    Yazawa

  • Difference between used memory for (DRALGHEAP used=194040) and (DDRALGHEAP used=129360) is 64808 bytes which is same for every codec handle creation.

     

    Difference between used memory for (DDR2; size=131072 used=96640) and (DDR2;  size=131072 used=115536) is 18896 bytes which is same for every engine handle creation.

     

    The above two observations are correct with respect to memory allocation for handles.

     

    In case of DDR2: size is 131072 (0x20000) and for id=5 used will be 134432 i.e., memory is trying to access the out of range value of size allocated.

    And so giving error for handle creation.

     

    - Venumadhavi

  • In our standalone codec, we will specify memory allocation in cmd file i.e., we will map the memory section into external memory (HEAP) but in your case, it seems that memory is mapped to DDR2 and hence if you change DDR value then you can create some more instances.

     

    You can change this DDR2 memory size in server.tcf  file as: bios.DDR2.heapSize   = 0x80000; There will not be any side-effect with this change.

    You can also increase this value for creating more number of instances.

     

    -Venumadhavi

  • Hi Venumadhavi-san,

     

    Thank you for your clarification.   I understand the dvsdk version which I have uses both of DDR2 and DDRHEAP.

    Thank you very much for your support, again.

     

    Best,

     

    Yazawa