I have this issue with the FEC in 52259, where, after I have set it up (using example code from freertos/lwip), it does cannot receive anything.
I get the rx frame interrupts, which is what I have set-up, but if I look in the descriptor, RX_BD_E is still set, the length is left unchanged from my default.
I have checked all (4 in my case) rx descriptors, but all are as initiated from start. MCF_FEC_ERDSR is, if I read from it, set to the same address as the first descriptor.
All aligned using the run-time alignment method seen in most examples, to 16 bytes.
This is not my first project using the FEC (used it in the 5280 before), still I am lost. I have double checked everything, and really, the example should work out of the box more or less.
So, is there anything obvious I have missed? Is there any condition that can make the FEC give the RX_FRAME interrupt, but leaving the rx descriptors untouched?
As far as I can understand, 52259 does not support data cache, so I think it is not a cache issue.
I have tried to connect it to a 10mbit hub as well as the gigabit switch we use here, with the same outcome. If I unplug the ethernet cable, the interrupts stop coming, so nothing strange with that part.
Thanks,
Micael
Solved! Go to Solution.
OK, it is later than it ought to be, and it is Friday evening.. And I finally found the problem; MCF_SCM_RAMBAR where not set-up to be available to the on-chip peripherals.
Thanks for the files. I have read so many fec examples the last couple of days that I will dream about them tonight.
I focused entirely on the FEC, as everything else seamed to work fine...
Hi Micael
Look at these files, this might be useful
I also used mcf5225x, lwip and freertos without problems
A file comparison might be useful, if this is not the issue, other things to look at:
- Are interrupts enabled (asm (move.w #0x2700,SR))?
- When lwIP init the Rx task, are you clearing the ready status? I cant recall the name but its a register with a single bit in the middle of a 32 bit reg
Hope this helps
OK, it is later than it ought to be, and it is Friday evening.. And I finally found the problem; MCF_SCM_RAMBAR where not set-up to be available to the on-chip peripherals.
Thanks for the files. I have read so many fec examples the last couple of days that I will dream about them tonight.
I focused entirely on the FEC, as everything else seamed to work fine...