eCos and MCF5208 - Ethernet not transmitting

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

eCos and MCF5208 - Ethernet not transmitting

跳至解决方案
1,184 次查看
DaStoned
Contributor II
Hi!

I am running a public CVS version of eCos on MCF5208, compiled with the CodeSourcery toolchain.

Ethernet driver for ColdFire 5272/5282 was donated by eCosPro 2 weeks ago (/devs/eth/m68k/mcf52782). Recent Coldfires have same Ethernet controller as 5282. I had to make only trivial changes to create a 5208 port.

I conneted the MCF5208 EVBe to a computer running a sniffer. I use a switch (to see activity LED blinking). Code is broadcasting a DHCP query. Driver outputs nice tracing messages so all command traffic to/from the FEC (Fast Ethernet Controller) is clearly visible.

Driver properly initializes and configures the FEC, puts it into "live" mode, fills the buffer with data and tells it to transmit.

The PHY link is active, but nothing is sent. It looks like the FEC completely ignores the TX request. It does not clear the TX request flag in TDAR or "Ready" flag in the BD. It does not set any error flags in EIR. Nothing happens - it looks like the controller is dead.

I have read the HW spec forwards and backwards. Everything seems OK. The driver knows all the details - register and flag positions, command sequence, buffer alignment, etc. Changelog shows it has been in development for 5 years so I don't really expect to find any trivial errors there.

I'm a bit stumped. I assume I missed something when porting, but the changes were rather simple. I only enabled buffer alignment and set up correct interrupts.

The debug output is at:
http://www.hot.ee/tarmospam/eth_trace_20081204.txt

Changes to source code are highlighted here:
http://www.hot.ee/tarmospam/diffreport.html

Any suggestions on how to get FEC up and running?

标签 (1)
0 项奖励
1 解答
462 次查看
DaStoned
Contributor II
Problem solved - GPIO had to be manually configured for Ethernet. Also, the interrupt priorities are simpler in 5208. Seems to be working now.

在原帖中查看解决方案

0 项奖励
1 回复
463 次查看
DaStoned
Contributor II
Problem solved - GPIO had to be manually configured for Ethernet. Also, the interrupt priorities are simpler in 5208. Seems to be working now.
0 项奖励