EmbDev.net

Forum: µC & Digital Electronics LPC2468 Ethernet MAC - strange behaviour


von Tobias P. (hubertus)


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?

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.