hi
I downloaded "dm6446_h264enc_2_00_01_00_production.exe" from ti, and from the H264VEncApp.cmd
MEMORY{
L1DRAM : o = 0x11f04000, l = 0x00010000
ERAM : o = 0x80000000, l = 0x08000000
}
but if I create a new DSP/BIOS Config for ti.platforms.evmDM6446, the L1DSRAM : o = 0x11f04000, l = 0x0000c000,
from the H264VEncApp.cmd
SECTIONS{
.....
.intDataMem > L1DRAM
......
}
and trace the intDataMem, int the alg_malloc.c
#define INTERNAL_DATA_MEM_SIZE 0xFD00
#ifdef _TMS320C6400
#pragma DATA_SECTION( internalDataMemory, ".intDataMem");
#define myMemalign memalign
#else /* ~_TMS320C6400 */
unsigned char internalDataMemory[ INTERNAL_DATA_MEM_SIZE];
that show .intDataMem need 0xFD00 size, so I change the #define INTERNAL_DATA_MEM_SIZE 0xFD00 #define INTERNAL_DATA_MEM_SIZE 0xBD00
less than 0xC000
It through compile, but when I run
-----ALG_create()->
--------algNumAlloc()
--------algAlloc()
--------_ALG_allocMemory()Bool _ALG_allocMemory(IALG_MemRec memTab[], Int n)
{
Int i;
for (i = 0; i < n; i++) {
/* XXX changing the code here, to change the memory allocator for
* different requirements. */
allocateMemTabRequest( &memTab[i]);
/* memTab[i].base = (void *)myMemalign(memTab[i].alignment, memTab[i].size); */
if (memTab[i].base == NULL) {
_ALG_freeMemory(memTab, i);
return (FALSE);
}
}
return (TRUE);
}
-----------allocateMemTabRequest()
when i = 1, can't through if(internalDataMemorySize >= memTab->size) the value of internalDataMemorySize =0xBD00, memTab->size= 0xFD00
and go back to the func ALG_create(), the memTab size acturally from func algAlloc() get, and from "spru360e" page 20-21, I guess lead the memTab->size = 0xFD00
factors is alg_Alloc() first param, how can I decrease the size less than 0xBD00
thank you!!!