|
关于网络接口和BOOTLOADER的综合问题!
我设计了一个板子用的是比较经典的配置.S3C4510+SST39VF1601+HY57V641620HG+RTL8201.现在板子其他部分都调试完了,唯一就是网络部分还是有些问题.我的FLASH是从A0-A19连接的,而SDRAM也是顺序连接的也就是A0-A13,这和LUMIT不一样.
现在其他部分调试基本上正常,唯一就是网络部分的问题.由于布线的问题.似乎8201上不了100M,所以降到了10M,本来设计ANE SPEED DUPLEX都是上拉的,也就是Default setup, auto-negotiation enable, the RTL8201BL will support 10BaseT
/100BaseTX, half/full duplex mode operation,但是现在降低了速度所以就把ANE SPEED接地了而DUPLEX还是上拉,变成了Auto-negotiation disable, force the RTL8201BL into 10BaseT and full duplex mode.这样,保留了MII接口,但是速度降低了.
现在的问题是,1.我用Jerry的bootloader,串口有输出,但网络无法进行传输,这是否和我SDRAM的连接方式有关系?导致程序没有正常运行?应该怎样的修改?从源程序我看到初始化的时候做了很多内存方面的remap.
2.我手动摘取BOOTLADER源程序内的,ETH_SEND函数,单独发送数据包是正常的,但是单独使用ETH_Rcv函数的时候始终无法接收到数据报.
另外,为了方便我把RTL8201的PHYAD全部上拉接成了"11111B",但是LUMIT和大多数其他的板子都是."00001B",这是否也是问题所在的地方?有一个STACON的寄存器,上面似乎有和8201 PHYAD有关的位,但是Jerry的bootloader上没有去设置它.
我是一个初学者,不知道专业词汇是否得当,望大家多指点. |
|