工具/软件:Starterware
您好!
在我们的产品中使用 C6748 StarterWare 版本1.20.04时、我们发现配置 L1P、L1D 和 L2高速缓存配置的 CacheEnable API 实现不正确。
文件:\system_config\c674x\cache.c
行:154.
原因:"memCfg"值未正确使用、应将其移动以获取 L1P 的正确值
重构:
/*启用 L1P 缓存*/
HWREG (SOC_Cache_0_regs + DSPCACHE_L1PCFG)=
(HWREG (SOC_Cache_0_regs + DSPCACHE_L1PCFG)和
~DSPCACHE_L1PCFG_L1PMODE)|((memCfg >>((L1P_MEM_UNIQUE >> 1)* 4))和 DSPCACHE_L1PCFG_L1PMODE);
行:166.
原因:"memCfg"值未正确使用、应将其移动以获取 L1D 的正确值
重构:
/*启用 L1D 高速缓存*/
HWREG (SOC_Cache_0_regs + DSPCACHE_L1DCFG)=
(HWREG (SOC_Cache_0_regs + DSPCACHE_L1DCFG)和
~DSPCACHE_L1DCFG_L1DMODE)|(((memCfg >>((L1D_MEM_UNIQUE >> 1)* 4))和 DSPCACHE_L1DCFG_L1DMODE);
行:178
原因:"memCfg"值未正确使用、应将其移动以获取 L2的正确值
重构:
/*启用 L2缓存*/
HWREG (SOC_Cache_0_regs + DSPCACHE_L2CFG)=
(HWREG (SOC_Cache_0_regs + DSPCACHE_L2CFG)和
~DSPCACHE_L2CFG_L2MODE)|((memCfg >>((L2_MEM_UNIQUE >> 1)* 4))和 DSPCACHE_L2CFG_L2MODE);
谢谢
Shrikrishna