非鱼's profile谁可共鸣PhotosBlogListsMore Tools Help

Blog


    December 10

    关于这次 PCIE 802.3 NIC启动过程有PXE界面的问题总结

    这次PCIE网卡启动过程有PXE画面,过程我是非常清楚,在BIOS里面有两个位置会调用这个PXEROM,第一个地方是PCI初始化部分,这个地方是对设备初始化和对ROM初始化,ROM初始化完成后,驻留在内存的C000或者D000段。第二地方就是BIOS POST结束,调用INT19的时候,会主动调用驻留在内容中的ROM程序,进行Boot from Lan

    这次的问题,明显就是在第一个地方,由于设备的配置不同,导致每次都优先从PXE启动。这个设备的初始化参数是从93c46中读取的。

    所以这次的问题,一定是93c46里面的参数刷错了。

    我们刷93c46的工具,就是p8136这个程序,这个程序必须读取一个表,这个表中的内容,对应93c46中的每个bit设置。我们和N01的不同,就是这个表不一样。

    这个93c46中的内容,最终会被LAN设备读取,读取之后,LAN会相应更新PCI空间和IO内存空间的内容,我们使用SE204的工具比较也能够得出有问题的地方所在。

    December 05

    工程的原则。

    前天,我又犯了一个错误,开会的时候同意N01ECN导入,会议结束以后,我马上后悔了。我当时说要回复mail,取消ECN导入,妙英当时就在我的旁边,结果公司的破网络老是短,我当时很生气,我和妙英说,不管了,等着他们犯错误,然后就有教训了。我当时生气是因为公司网络,网络本来好好的,但是公司非要把他CostDownCost出来问题才算。其实这次问题发功费用可能远比网络费用高。

    这次我说要给工程师的教训就是工程的问题,要以工程的观点来看,任何ECN没有经过充分的充分的验证,一定不要导入。工程师,包括桂子和黄瑱的观点是,不就是在USB电源上串接一个MOS控制的电路吗?怎么会出问题?其实不然。想我们以前的例子,我们换一个Cable都可能导致Panel的不兼容,换一个电阻导致系统的大问题,别说这个地方加了一个PMOS,加了一个NMOS,还有一大堆的电阻电容呢。这个电路可能对上下电时序等等,很多地方导致不良的影响,这些影响在我们能够考虑到的思维之外的。所以,工程的原则,理论再合理,也要拿到现实充分验证。当然,如果此时没有别的方案,一定要冒这个风险的话,我们还是要谨慎的冒。

    工程的观点,就是很多问题和Bug,如果能够不改尽量不改,如果能够下次给,尽量把很多问题聚集到一起改,如果能够简单的改,一定不要复杂的改,如果必须复杂的改,那么必须充分的验证。这些原则,都是我这么多年的教训得来的,可惜新的工程师永远不明白,有可能老的工程师也不明白,更别说品质部那些人了。