I have a custom board with ADSP-BF533 processor. There is blackfin uclinux on it.
I`m developing user-level driver for some USB device. For that purpose I`ve built libusb with bfin-linux-uclibc toolchain and I`m using libusb`s API for interaction with USB device. The problem is that I constanlty get kernel OOPS while running my driver with test application. About 90% of runs of test application ends in OOPS. Other 10% are successful. OOPS usually happens after calling poll() or ioctl() inside libusb during data exchange. Error message of OOPS is usually one of the following:
- NULL pointer
- Misaligned address violation
- Invalid instruction
Mudflap shows only violations inside istream and vprintf. I compile with -mstack-check-l1
My questions are:
- How it is intended to debug such issues on this platform?
- Do you have any ideas what`s going on?
- Are there any libraries to replace libusb on this platform?