工具/软件:TI-RTOS
尊敬的:先生
我使用 TCI6614设计 基站,希望获得帮助并回答 以下问题、谢谢!
Q(1)Cache validate running in DDR3,有时行会失效、导致内核读取此处下面0,代码的一些数据:
1 μ A)cache初始化
#pragma NO_HOOKS (FDD_Cache_init);
int32 FDD_cache_init()
{
CSL_CgemRegs* pstCgemRegs =(CSL_CgemRegs*) CSL_CGEM0_5_REG_BASE_ADDRESS_REGS;
uint32 i;
#if 0
CSL_XmcRegs* pstXmcRegs =(CSL_XmcRegs*) CSL_XMC_CONFIG_REGS;
pstXmcRegs->XMPAX[2].XMPAXL = 0x100000FF;
pstXmcRegs->XMPAX[2].XMPAXH=0x2100000B;
pstCgemRegs->MAR[0x21000000 >> 24]= 0;
//将逻辑空间0x2C000000~0x2C200000映射到MSMC的物理空间0x0 0C000000~0x0 0C200000
访问0x2C000000~0x2C200000时就相当于访问MSMC μ s
pstXmcRegs->XMPAX[3].XMPAXL = 0x00C00000 | 0x3f;//替换地址:0x0 0C000000
pstXmcRegs->XMPAX[3].XMPAXH = 0x2C000000 | 0x14;//基地址:0x2C000000、大小:2M
//无高速缓存
pstCgemRegs->MAR[0x2C000000 >> 24]= 0;// 0x2C000000~0x2CFFFFFF
#endif
/* 32K 高速缓存*/
pstCgemRegs->L1DCFG = 4;//32k 高速缓存
pstCgemRegs->L1PCFG = 4;//32k 高速缓存
/* 64K 高速缓存*/
pstCgemRegs->L2CFG = 2;
/* MSMC */
对于(I = 12;I < 16;I++)// 0x0C000000~0x0CFFFFFF
{
pstCgemRegs->MAR[i]= 1;
}
/* DDR3 */
//for (I = 152;I < 192;I++)// 0x98000000~0xBFFFFFFF、高速缓存
对于(i = 152;i < 256;i++)// 0x98000000~0xFFFFFFFF、缓存大小更改0828
{
pstCgemRegs->MAR[i]= 9;
}
pstCgemRegs->MAR[154]= 0;// 0x9A000000~0x9AFFFFF,无高速缓存
返回 MDD_OK;
}
2)cache读写测试,core0写入,core1读出 μ A
MAIN ()
{
………………μ A
while (1)
{
FDD_CORE_SYNC ();
tlen = 51200;
if (MDD_CURRENT_COREID = MDD_CORE0)
{
for (i=0;i<(tlen/4);i++)
{
DDR_DATA_WRITE[i]= j;
}
for (i=0;i<(tlen/25600);i++)
FDD_cache_writeback ((UINT32)(&DDR_DATA_write[0]+I*25600),25600);
}
FDD_CORE_SYNC ();
if (MDD_CURRENT_CORE_ID = MDD_Core1)
{
for (i=0;i<(tlen/25600);i++)
{
FDD_cache_invalidate ((uint32)(&DDR_DATA_write[0]+I*25600),25600);
}
memcpy (DDR_DATA_Read、DDR_DATA_WRITE、DATA_LEN);
for (i=0;i<(tlen/4);i++)
{
if (DDR_DATA_WRITE[i]!= j)
{
//g_err_data[g_err[0]%10000]= i;
G_ERR[0]++;
system_printf ("测试错误! %d、%d、%d\n"、DDR_DATA_WRITE[i]、j、g_err[0]);
system_flush();
//while (1);
}
}
}
J++;
}
q(2)TCP 协处理器问题:代码运行后 、TCP 协处理器的4个通道(Tcp3da_p0、TCP3DA_P1、Tcp3db_p0、TCP3D_P1)都被快速占用并保持在繁忙状态,这是否是错误状态?
Q(3)除仿真器和 CCS 之外,还有其它方法可以记录 RTOS 运行状态(将 RTOS 日志记录在脱机状态)?
再次感谢!