[c6xdsp ] pAlgObj->algMem.size=0x2800000
Chris Meng:
你好,
MAR修改的是哪个部分DSP要被cache。
如果你要修改DSP L2多少配置为cache,多少配置为L2,请修改bld文件的l2Mode。更多信息请参考:https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/148099/535435#535435。
lu xinjian:
回复 Chris Meng:
我的DSP算法缓存是放在ALLOC,recBuf1 addr = 0xbc100000
是属于var SR2_FRAME_BUFFER_SIZE = 145*MB; 里面间,想开启DSP的cache.
这个https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/148099/535435#535435。跟DM8127 RDK3.5版本一样
这个dspsubsys.xs找不到
跟 l2Mode:"128k"配置文件有好几地方不知道修哪个地方?
Chris Meng:
回复 lu xinjian:
Lu,
给你的论坛讨论是基于EZSDK,不是RDK,原理是一样的,代码是不同的。你应该修改的是bld文件,例如ipnc_mcfw\mcfw\src_bios6\cfg\ti814x\config_512M.bld.
lu xinjian:
回复 Chris Meng:
我有改过这个文件,我再试下,原来128k改为256k,
make -s sys
编译后还是出现
js: "/usr/local/dm81xx/dm8127/Source/ti_tools/xdctools_3_24_03_33/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 1make[2]: *** [apps] Error 2make[1]: *** [mcfw_bios6] Error 2make: *** [sys] Error 2
是不是其他地方也要跟着修改
lu xinjian:
回复 lu xinjian:
我修改的地方ipnc_rdk/ipnc_mcfw/mcfw/src_bios6/cfg/ti814x/config_512M.bld
Build.platformTable["ti.platforms.evmTI814X:plat"] = {
….
l1PMode: "32k", l1DMode: "32k", l2Mode: "256k"/*128k*/ };
Chris Meng:
回复 lu xinjian:
Lu,
bld文件里面还有定义L2 RAM大小的部分,如下。L2 cache+L2 RAM的大小不能超过256KB。请也看一下之前编译的DSP的map文件,看是否有代码放在了L2 RAM里面,如果是,你就不能把L2全部配置为cache。
["DSP_L2_RAM", { comment: "DSP_L2_RAM", name: "DSP_L2_RAM", base: 0x10800000, len: 0x00020000 }],
lu xinjian:
回复 Chris Meng:
查ipnc_rdk_c6xdsp_release.xe674.map如下:
name origin length used unused attr fill ———————- ——– ——— ——– ——– —- ——–
DSP_L2_RAM 10800000 00020000 00020000 00000000 RWIX
这说明L2_RAM的大小128K全部被使用,那么只能l2Mode: "128k“,是这个意思?
lu xinjian:
回复 lu xinjian:
请问更改下面,是什么意思,有人告诉,不知道对不对?
原
Cache.MAR128_159=0x0000FF00;
改Cache.MAR128_159=0xFFFFF000
Chris Meng:
回复 lu xinjian:
lu xinjian
查ipnc_rdk_c6xdsp_release.xe674.map如下:
name origin length used unused attr fill ———————- ——– ——— ——– ——– —- ——–
DSP_L2_RAM 10800000 00020000 00020000 00000000 RWIX
这说明L2_RAM的大小128K全部被使用,那么只能l2Mode: "128k“,是这个意思?
如果你继续看map下面的内容,你会发现这块内存都分配给了了DSP的internalHeap。
而在BIOS_c6xdsp.cfg有下面的配置,你可以修改internalHeap放到DDR上(DDR3_DSP)。
Program.sectMap[".internalHeap"] = "DSP_L2_RAM";
Chris Meng:
回复 lu xinjian:
lu xinjian
请问更改下面,是什么意思,有人告诉,不知道对不对?
原
Cache.MAR128_159=0x0000FF00;
改Cache.MAR128_159=0xFFFFF000