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.

Ethernet Bootloader问题



各位专家:

我在6678开发板上验证主机通过以太网加载程序,现在手上两块开发板,有一块型号是EVM6678LE v1.0,板载xds100和xds560v2两个仿真器;另一块型号不太清楚,只有xds100仿真器。两块开发板都已经按mcsdk里的要求设定了bootmode拨码开关。现在的现象是:第一块开发板上电后主机端抓不到BOOTP包,因而无法获取MAC地址发送boot table;第二块开发板上电后主机端能抓到包,也能正常Ethernet加载测试程序。我看到论坛里有人也提过这个问题,当时andy的回答是可能ibl版本没有更新。我的疑问是:根据手册上的说法,上电后按3s间隔发送BOOTP包是RBL里设定的吧,也就是上电以后6678就会从ROM里copy这段代码执行,这和ibl有何关系呢?两块开发板的6678芯片应该是一样的,那么它们的RBL也是相同的吧,为什么表现出来的行为却不相同呢?

  • 另外,6678有两个SGMII模块,那每个芯片有几个MAC地址呢?除了通过上电抓MAC包来获取MAC地址,还有什么别的办法吗?

  • 您好,

    EMAC boot正常起来后会发送bootp包,否则如果没有接收到bootp包说明EMAC boot不成功;

    跟IBL有关,是由于C6678 RBL中的PLL未锁定导致可能boot不起来,所以在EVM板上都会强制I2C二级加载进行重配PLL,然后再次进入EMAC boot。由于两块板子不一样,所以其中EEPROM上烧写的IBL版本有可能不一样,建议对boot失败的板卡烧写最新的IBL再测试看看效果。

    C6678 EMAC是三端口,每个端口都可以配置一个MAC地址,EMAC内部根据该地址进行数据包的匹配过滤等特定的处理。

  • 请问对端口如何配置mac地址呢?

  • hi Andy

    我现在正在6678DSP芯片上完成以太网程序自加载,现在测试工程可以通过以太网完成多核加载。但在测试工程中加入SRIO功能实现代码部分之后,自加载就boot不起来了。不知道是什么原因~

    我逐步调试时,发现,将涉及SRIO功能实现的那些代码一点一点的加到测试工程里面,有的加一部分可以boot,有的不行。如果加入的代码有函数调用之类的代码,很可能就boot不起来,请问函数的调用,涉及到堆栈,内存分配,这些需要修改对应的cmd文件吗,会对我的程序boot有影响吗?