This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

TCPnet crashes my system (Prefetch Abort)

Hi,

I'm working on a project using an LPC2388 with RTX and using the TCPnet stack for communication with a windows tablet. I recently added a bootloader which resulted in the main application being shifted in FLASH to 0x2000.

Currently I'm seeing a Prefect Abort error about 4 seconds after the program starts. R14 points to address 0x642D625C which I seems wrong since it's in reserved address space. I know it has something to with shifting the main application in memory, because I don't see an error when shifting it back to 0x0.

The error only happens before I establish a TCP connection and the really strange thing is that it only happens with certain machines. I run the device on one machine and it will crash but I connect to another computer with the same device and firmware and it runs fine. Only thing I can think that is different is the ethernet traffic over the link. could it be that TCPnet can't handle certain packets? Does TCPnet need to have a different configuration when shifted in memory? Does the PHY driver need to be shifted in memory too?

Very strange error...

Parents
  • So I moved my main application back to 0x0 in memory and ran it again while looking at the packet traffic (using debug version of TCPnet). It seems there are some pretty large packets (1160 bytes) being sent by the host computer over the connection to the ARM. Comparing it to the packet traffic when it crashes (when placed at 0x2000) it seems like the packets it handles before crashing are all smaller that 100 bytes. I'm wondering if this is connected somehow.

Reply
  • So I moved my main application back to 0x0 in memory and ran it again while looking at the packet traffic (using debug version of TCPnet). It seems there are some pretty large packets (1160 bytes) being sent by the host computer over the connection to the ARM. Comparing it to the packet traffic when it crashes (when placed at 0x2000) it seems like the packets it handles before crashing are all smaller that 100 bytes. I'm wondering if this is connected somehow.

Children