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

von Tobias P. (hubertus)

Rate this post
0 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 
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?


Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]

Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.