工具/软件:
[我想问什么]
正在对在我们产品原型中实现的 PHY (DP83867IS)进行评估。
我们设计并实现了 DP83867IS、通过访问其寄存器、以使用所需的初始化设置开始运行。
但是、在调试阶段、我们遇到了根据"调试方法"不同应用初始化设置的问题。
换句话说、问题在于不同的"调试方法"应用了不同的初始化设置。
请告诉我们如何解决这个问题。
[后声]
我们通过 MDIO 通信并使用千兆位以太网 MAC"Core TSE"(Microchip 的软件 IP)访问 DP83867IS 寄存器。
[情况]
-我们使用的编译器是来自 IAR 的 EWRISCV。 (但是、我们认为我们可以概括地讨论调试环境和方法。)
-为了确认我们实施的固件设计,当我们在编译器上运行"步骤执行"时,
在该步骤执行中执行寄存器访问函数后、我们可以毫无问题地访问寄存器。
-另一方面,如果允许程序从入口点继续运行,没有断点,即不停止程序,
该行为看起来就像未访问 PHY 寄存器一样。
-具体而言,在对 DP83867IS 中的特定寄存器进行写入访问后,对同一寄存器的读回结果表明未写入所需的值。
-当在测试程序中添加了一个过程,如果不能读回所需的值,该过程将不允许程序继续进行,
这个过程陷入了一个无限的循环,并且上述事件被判定已经发生。
-我担心,当实现的程序实际上在实际产品中运行时,操作将继续进行,没有所需的 PHY 寄存器访问。
-我认为,当固件和 PHY 在产品中实际运行时,应该没有"步骤执行"。
■您想告诉我、访问 PHY 寄存器的方式或初始化设置是否有问题?
*只是为了您的信息,如果写入过程重复,直到正确的值可以重复写入或回读,直到所需的值可以回读,
重复这些过程一定次数后、该过程将正确完成。
但是、由于我们不想在实际产品中包含这些迭代过程、
而且,由于很难提供一个合理的基础,这样的迭代过程可以解决上面所示的问题,
E 将保留此信息作为参考信息。




