1.我们的项目目前不使用 DSP 和 EVE,因此我想删除 DSP 和 EVE,保存的内存将由 A15使用
2.删除 DSP 和 EVE 可节省总计128MB。 通过修改,Eve 节省的64MB 已添加到 A15中。 当前的问题是,A15无法使用 DSP 保存的64MB 内存。
3. VISION _SDK_ipu2_release.xem4.map 文件可以看到 DSP 和 EVE 的内存配置已消失
内存配置
使用的名称原点长度未使用属性填充
----- --- --- --- --- ---
L2_ROM 00000000 00004000 00000184 00003e7c RWIX
L2_RAM 20000000 00010000 00000000 00010000 RWIX
OCMC_RAM1 40300000 00080000 00000000 00080000 RWIX
OCMC_RAM2 40400000 00100000 00000000 00100000 RWIX
OCMC_RAM3 40500000 00100000 00000000 00100000 RWIX
NDK_MEM 84000000 00200000 00000000 00200000 RWIX
SR1_buer_ecc_ASIL_MEM 84200000 00001000 00000000 00001000 RWIX
SR1_buer_ecc_qm_MEM 84201000 00001000 00000000 00001000 RWIX
SR1_buer_non_ecc_asil 84202000 00001000 00000000 00001000 RWIX
SR1_frame-relay buffer_MEM 84203000 12c00000 00000000 12c00000 RWIX
IPU2_code_MEM 99000000 800000 004c36e3 0033c91d RWIX
IPU2_DATA_MEM 99800000 01400000 0088dd43 00b722bd RWIX
IPU1_0_code_MEM 9e000000 800000 00000000 RWIX
IPU1_0_DATA_MEM 9e800000 01500000 00000000 01500000 RWIX
sr0 a0100000 00100000 00100000 00000000 RWIX
REMOTE_LOG_MEM a0200000 40000 000278a0 00018760 RWIX
LINK_STATS_MEM a0240000 00080000 00024df4 0005b20c RWIX
SYSTEM_IPC_SHM_MEM a02c0000 00080000 00062388 0001dc78 RWIX
SYSTEM_AUTOSAR_IPC_SH a0340000 00080000 00000000 00080000 RWIX
HDVPSS_DESC_MEM a03c0000 00100000 0001d4c0 000e2b40 RWIX
Trace_BUF a04c0000 00060000 00008000 00058000 RWIX
EXC_DATA A0520000 00010000 00000000 00010000 RWIX
pm_data a0530000 00080000 00000000 00080000 RWIX
SR2_MEM a9000000 02000000 RWIX
4.我修改的修补程序如下
4.1内核修补程序
ARCH / ARM/BOOT/DTS/ofilm_board_c52x_APA.DTS
+/-禁用 DSP1和 DSP2,由 yanglijie 执行,20220215,start
{\f2 +&dsp1_CMA_Pool}
+ reg =<0x0 0xa1000000 0x0 0x2000000>;
+状态=“禁用”;
+};
+
{\f2 +&dsp2_CMA_Pool}
+ reg =<0x0 0xa3000000 0x0 0x2000000>;
+状态=“禁用”;
+};
+
&dsp1{
+/delete-property/watchder-timers;
+状态=“禁用”;
+};
+
&dsp2{
+/delete-property/watchder-timers;
+状态=“禁用”;
+};
+/-禁用 DSP1和 DSP2,由 Yanglijie 执行,20220215,END
保留的测量(&R){
cmem_ocmc:cmem@40300000{
兼容=“shared-dma-pool”;
REG =<0x0 0x40300000 0x0 0x300000>;
SRAM =<&ocmced1>;
无地图;
状态=“正常”;
};
cmem_pool:cmem@A9000000{
兼容=“shared-dma-pool”;
REG =<0x0 0xA9000000 0x0 0x2000000>;
无地图;
状态=“正常”;
};
vsdk_SR1_mem:vsdk_SR1_mem@84000000{
兼容=“shared-dma-pool”;
REG =<0x0 0x84000000 0x0 0x1330000>;
状态=“正常”;
};
vsdk_sr0_mem:vsdk_sr0_mem@A0000000{
兼容=“shared-dma-pool”;
REG =<0x0 0xA0000000 0x0 0x1000000>;
状态=“正常”;
};
vsdk_eve_mem:vsdk_eve_mem@A5000000{
兼容=“shared-dma-pool”;
REG =<0x0 0xA5000000 0x0 0x4000000>;
+状态=“禁用”;
};
};
arch/arm/configs/ofilm_board_c52x_apa_defconfig
未设置+# CONFIG_DSP_ENABLE
4.2 vsdk 修补程序
删除.xs 文件中与 DSP 和 Eve 相关的所有代码
vsdk/apps/build/tda2xx/mem_sender_define_linux.xs.
4.2.1 禁用 DSP 和 Eve 内核
vsdk/apps/configs/tda2xx_EVM-linux_all/cfg.mk
proC_DSP1_INCLUDE=否
proc_dsp2_include=no
proc_EVE1_INCLUDE=否
proc_EVE2_INCLUDE=否
proc_EVE3_INCLUDE=否
proc_EVE4_include=否
4.2.2为解决编译错误而进行的修改
Links _FW/src/RTOS/BIOS_app_common/tda2xx/cfg/IPC_RpMsgDrv.cfg
删除以下代码
-Program.global_XDC_CFG_DSP1_code = DSP1_code_MEM.base;
-Program.global_XDC_CFG_DSP1_code_size = DSP1_code_MEM.len;
-Program.global_XDC_CFG_DSP1_data = DSP1_DATA_MEM.base;
-Program.global_XDC_CFG_DSP1_DATA_SIZE = DSP1_DATA_MEM.len;
-Program.global_XDC_CFG_DSP2_code = DSP2_code_MEM.base;
-Program.global_XDC_CFG_DSP2_code_size = DSP2_code_MEM.len;
-Program.global_XDC_CFG_DSP2_data = DSP2_DATA_MEM.base;
-Program.global_XDC_CFG_DSP2_DATA_SIZE = DSP2_DATA_MEM.len;
-
-Program.global_XDC_CFG_EVEVE_MEM = EVE1_VECS_MEM.BASE;
-Program.global_XDC_CFG_EVEVE_MEM_SIZE = EVE1_VECS_MEM.Len + EVE1_CODE_MEM.Len + EVE1_DATA_MEM.Len +
- EVE2_VECS_MEM.Len + EVE2_CODE_MEM.Len + EVE2_DATA_MEM.Len +
- EVE3_VECS_MEM.Len + EVE3_CODE_MEM.Len + EVE3_DATA_MEM.Len +
- EVE4_VECS_MEM.Len + EVE4_CODE_MEM.Len + EVE4_DATA_MEM.Len;
Links _FW/src/RTOS/BIOS_app_common/tda2xx/ipu2/Ipu2.cfg
删除以下代码
-var DSP1_DATA_MEM = Program.CPU.memoryMap[DSP1_DATA_MEM'];
-Program.globe.gXdcDsp1DataAddr = DSP1_DATA_MEM.base;
-Program.globe.gXdcDsp1DataSize = DSP1_DATA_MEM.len;
-var DSP2_DATA_MEM = Program.CPU.memoryMap[DSP2_DATA_MEM'];
-Program.globe.gXdcDsp2DataAddr = DSP2_data_MEM.base;
-Program.globe.gXdcDsp2DataSize = DSP2_data_MEM.len;
-var EVE1_DATA_MEM = Program.CPU.memoryMap['EVE1_DATA_MEM'];
-Program.globe.gXdcEve1DataAddr = EVE1_DATA_MEM.base;
-Program.globe.gXdcEve1DataSize = EVE1_DATA_MEM.len;