Hello:
We are trying to optimally configure the on-chip memory for the DSP.
The memory map for the DM8168 C674x (DSP) indicates that the DSP L2 RAM is 256KB.
It looks like 128K is presently configured as L2 cache (config_1G_256MLinux.bld),
and the remainder is given to the .internalHeap (in BIOS_c6xdsp.cfg)
1. Can we configure to L2mode=256k?
I tried the following in config_1G_256M, and temporarily moved .internalheap to ddr.
["DSP_L2_RAM", {
comment: "DSP_L2_RAM",
name: "DSP_L2_RAM",
base: 0x10800000,
len: 0x00040000
}],
],
l1PMode: "32k",
l1DMode: "32k",
l2Mode: "256k"
The build gives the following error:
configuring MAIN_APP_c6xdsp.xe674 from package/cfg/MAIN_APP_c6xdsp_pe674.cfg ...
error: ti.platforms.evmTI816X.Platform: "/drive/rdk/ti/DVRRDK_03.00.01.03/ti_tools/xdc/xdctools_3_23_03_53/packages/xdc/platform/Utils.xs", line 365: ti.platforms.evmTI816X.Platform.Instance#0/customMemoryMap/'DSP_L2_RAM' : Memory object DSP_L2_RAM does not fit into any physical memory bank.
js: "/drive/rdk/ti/DVRRDK_03.00.01.03/ti_tools/xdc/xdctools_3_23_03_53/packages/xdc/cfg/Main.xs", line 149: Error: Configuration failed!
gmake: *** [package/cfg/MAIN_APP_c6xdsp_pe674.xdl] Error 1
js: "/drive/rdk/ti/DVRRDK_03.00.01.03/ti_tools/xdc/xdctools_3_23_03_53/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
make[3]: *** [xdc_configuro] Error 1
make[3]: Leaving directory `/drive/rel-4.3/lic/ti8168/DVRRDK_03.00/dvr_rdk/mcfw/src_bios6/main_app'
make[2]: *** [apps] Error 2
make[2]: Leaving directory `/drive/rel-4.3/lic/ti8168/DVRRDK_03.00/dvr_rdk/mcfw/src_bios6'
make[1]: *** [dvr_rdk_bios6] Error 2
Are there more changes that we need to do for this experiment?
2. If we can use L2mode=256K, can we redirect the internalHeap, and other critical DSP sections to other 'resident' memory like OCMC SRAM ?
Alternatively, can we configure the entire L2 cache itself to other memory regions (like OCMC SRAM)?
Regards,
--B