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.

C6657 SRIO 复位问题



前段时间在论坛中下了C6657的SRIO驱动代码,并进行了调试,能够很好的进行维护操作、NWRITE、NREAD和DOORBELL操作。但是发现一个问题,利用CCS5进行开发过程中,第一次load程序,运行SRIO_init,然后进行维护操作可以读取到交换芯片的信息,但是如果不断电再次load程序,SRIO_init可以通过,但是维护操作失败,0x0290B158寄存器为0x00020002,报输出错误。查看第一次load和第二次load时所有的SRIO寄存器和PSC寄存器,发现都是一样的。我查看了程序,第二次程序代码会根据PSC的状态,有一个srio复位的操作,单步运行程序发现srio的所有寄存器也确实是进行了复位操作。请问是什么问题导致了初始化后的SRIO操作的失败。

顺便问一下,CCS5的复位是不是跟软件复位是一样的,我试过,利用仿真器复位SRIO寄存器并不会清零。

谢谢解答