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.
1. 先请参考RDK里面的文档:DM81xx_DVR_RDK_Memory_Map.pdf或者IPNC_RDK_MemoryMapAnalysis.pdf。
2. 修改/mcfw/src_bios6/cfg/ti81xx下相关的.bld文件,注意所有memory size加起来需要等于系统里面的DDR的物理容量。
3. 如果修改了系统里DDR的系统容量,还需要修改DMM里面的DMM_LISA_MAP_0~DMM_LISA_MAP_3。
4. 如果要修改M3的AMMU映射,请修改文件/mcfw/src_bios6/cfg/ti81xx/AMMU_m3.cfg。
5. 如果要修改DSP的heap,请修改文件/mcfw/src_bios6/cfg/ti81xx/FC_RMAN_IRES_c6xdsp.cfg。
6. 如果要修改DSP的cache
a. 请修改bld文件
customMemoryMap:
[
... (省略若干代码)
["DSP_L2_RAM", {
comment: "DSP_L2_RAM",
name: "DSP_L2_RAM",
base: 0x10800000,
len: 0x00020000 -->配置DSP L2为RAM的大小
}],
],
l1PMode: "32k",
l1DMode: "32k",
l2Mode: "128k" -->配置DSP L2为Cache的大小。注意:L2 RAM + L2 cache的总容量要和DSP L2的大小一致
};
b. 修改DDR在DSP侧的cache状态:修改/mcfw/src_bios6/cfg/ti81xx/FC_RMAN_IRES_c6xdsp.cfg下面的相关内容。MAR具体信息请参考TMS320C674x DSP Cache User's Guide。
var Cache = xdc.useModule('ti.sysbios.family.c64p.Cache');
/* Disable caching for HWspinlock addresses */
Cache.MAR0_31 = 0x00000000;
Cache.MAR32_63 = 0x00000000;
/* Config/EDMA registers cache disabled */
Cache.MAR64_95 = 0x00000000;
Cache.MAR96_127 = 0x00000000;
/* cache settings for 1st 512MB DDR */
Cache.MAR128_159 = 0x0000FF00;
/* cache settings for 2nd 512MB DDR */
Cache.MAR160_191 = 0x0FFF0000;
/* cache settings for 3rd 512MB DDR */
Cache.MAR192_223 = 0x00000000;
/* cache settings for 4th 512MB DDR */
Cache.MAR224_255 = 0x00000000;
7.如果要修改DSP BIOS相关段所在位置,请修改文件/mcfw/src_bios6/cfg/ti81xx/BIOS_m3video.cfg。例如下面的代码:
Program.sectMap[".bss:taskStackSection"] = "DDR3_DSP";
Program.sectMap[".sysmem"] = "DDR3_DSP";
Program.sectMap["ti_sdo_ipc_init"] = "DDR3_DSP";
Program.sectMap[".systemHeap"] = "DDR3_DSP";
Program.sectMap[".internalHeap"] = "DSP_L2_RAM";
8. 如果修改了Linux使用的memory的大小,需要修改u-boot的环境变量bootargs里面的mem=?M的大小。
wik推荐:
1. http://processors.wiki.ti.com/index.php/EZSDK_Memory_Map
该wiki很好的解释了DDR物理地址到DMM系统地址的一一映射或者是一对多(二)映射的配置。
2. http://processors.wiki.ti.com/index.php/TI814x-DDR3-Init-U-Boot#FAQ
DM814x仅使用一个EMIF的补丁文件
如有遗漏的地方,欢迎补充!