工具/软件:TI-RTOS
您好!
现在我正在研究"pa_Unitest_K2EC66BiosPcapProject"项目、在"cpsw_mgmt.c"文件中、几行代码的函数设置 SerDes 迭代模式、它说"迭代模式需要设置为通用初始模式"、使用代码来表示它就像这样:
serdes_lane_enable_params1.iteration_mode = CSL_SERDES_RANE_ENABLE_COMON_INIT;
通道_retval = CSL_SerdesLaneEnable (&SerDes_lane 启用参数1);
serdes_lane_enable_params1.iteration_mode = CSL_SERDES_RANE_ENABLE_RANE_INIT;
通道_retval = CSL_SerdesLaneEnable (&SerDes_lane 启用参数1);
我的问题是什么是 迭代模式? 我在 SerDes 用户指南中找不到它,为什么要先将它设置为公共初始化,然后再将它设置为通道初始化?
CSL_SerdesLaneEnable() 调用 CSL_SerdesSetTXIdle(),在 CSL_SerdesSetTXIdle()中,代码“CSL_FINSR (*(volatile UINT32_t *)(base_addr + 0x200*(lane + 1)+ 0x0b8),17,3 * (volatile UINT32_t *),认为代码 是0x0b8 + 0x200*+ 0x200*(addr + 0x200*),0x02323+ 0xa+ 0xb8),0xa+ 0xa+ 0xa0b8),0xa+ 0xa2 (0xa2),代码是0xa2),0xa2 但在 SerDes 用户指南第16.1章存储器映射中,找不到偏移地址0x02b8,该代码有错误吗? 或者、因为我没有查看正确 的用户指南。
CSL_SerdesLaneEnable() 调用 CSL_SerdesLaneEnable_Lane_Init_RX (), 而 CSL_SerdesLaneEnable_Lane_Init_RX ()调用 CSL_SerdesWaitForSigDet(), CSL_SerdesWaitForSigDet()旨在 等待并检测 RX 信号
CSL_IDEF_INLINE void CSL_SerdesWaitForSigGet (uint32_t base_addr、uint32_t lannel_num)
{
uint32_t retval = 0;
while (retval!= 1)
{
RetVal =(CSL_SERDES_STATUS) CSL_FEXTR (*(volatile UINT32_t *)
(base_addr + 0x1ff4)、(0 + lane _num)、(0 + lane num));
}
}
程序 运行到这些代码行、 进入"死 循环"、 端口0被插入到电缆中。 为什么方案 遇到这种情况?
此致、
Zac

