The DM816x EVM uses 1GByte of DDR3 memory.
I am trying to get the DM816x OpenMAX SDK 5.0.0.8 running
in a 512MByte memory footprint, using the Linux A8 host
to run my decode from file application, which is working
well with 1GByte of DDR3 memory.
So far I have done these steps.
1) Change platformMem to 512M in packages/ti/omx/build/config.bld
and packages/ti/omx/build/config_ca8.bld.
2) Hard-coded disableTiler to TRUE in
packages/ti/omx/omxutils/ducatiTilerMemMgr/DucatiTilerMemoryMgr.xdc
to get around a build issue.
3) Modifying omx/build/ducatiplatform_512MB.xs and omx/demos/vc3/src/app_cfg.h
for 512MB memory map. The resulting memory map:
name origin length
---------------------- -------- ---------
VECS_CORE_0 00000000 00000400
VECS_CORE_1 00000400 00000c00
L2_SRAM 00001000 0003f000
OCMC_RAM0 40300000 00040000
OCMC_RAM1 40400000 00040000
CONFIG_REGISTER_SPACE 41000000 1f000000
TILER_SYSTEM_SPACE 60000000 20000000
LINUX_PHYSICAL_ADDRES 80000000 04000000
SHARED_CTRL 84000000 01000000
EXTMEM_CORE0 85000000 00200000
EXTMEM_CORE1 85200000 00200000
EVENT_LIST_CORE0 85400000 00a00000
EVENT_LIST_CORE1 85e00000 00a00000
PRIVATE_CORE0_DATA 86800000 07800000
PRIVATE_CORE1_DATA 8e000000 07000000
SHARED_CTRL_DUCATI_ON 95000000 00b00000
SHARED_DATA 95b00000 00100000
HDVPSS_DESCRIPTOR_NON b5c00000 00200000
FBDEV_V4L2_Mem b5e00000 00200000
FQMEM_BUFFERS_NON_CAC b6000000 0a000000
Note that the uncached mappings are still set up in the 0xBxxx.xxxx space,
because the Ducati AMMU memory space uses large pages (512MB) to
map 0x8000.0000-0x9fff.ffff cached, and 0xa000.0000-0xbfff.ffff uncached.
The DDR3 controller will alias these addresses down to 0x9xxx.xxxx, so it will work OK.
4) Now I can build my decode from file application (known to work with the 1GByte configuration) and run it.
However, the decode process fills 5 buffers, then hangs.
I get a similar result if I run the 1Gbyte configuration with g_DisableTiler = TRUE.
What am I missing -- is there some other change needed to disable the tiler
in syslink, or the HDVPSS, or the OpenMAX stack?