LPC2468 Ethernet MAC - strange behaviour

OP #2000782
Rate this post
useful
not useful
I'm working on a LPC2468 board equipped with the Micrel KSZ8001L phy. I 
am trying to implement a simple network stack (no TCP or IP, I invented 
my own simple protocol).
I am running uC/OS-II on this board. What I'm trying to do is the 
following:
I installed an ISR which is called every time an Ethernet frame is 
received. In this ISR, I allocate a 1500 byte buffer using uC/OS' 
OSMemGet. The problem is: every time when I call OSMemGet inside this 
Ethernet-ISR, my LPC2468 crashes (in fact, it branches to the data abort 
handler). But why? I cannot understand this behaviour; OSMemGet works 
just fine in normal tasks or in an other ISR.
It is even not possible to use OSQPost in this strange Ethernet-ISR.
What I want to do is the following:
every time when a frame is received, allocate a buffer in the memory and 
copy the just received frame into this buffer. Then post the buffer's 
base address on a queue so that the Rx-Task can pend on this queue.
Any ideas?

Reply

Please log in before posting.

or

Log in with Google account

Registration is free and takes only a minute.

Register now