Hello,
We are having a problem with our device - VoIP desk phone powered by the OMAP 3530. We are running TI's Android 2.3 devkit 1.0 (Linux 2.6.32) from the Rowboat project.
Out of the blue, the OMAP will simply lock up. By "lock up", I mean that it will stop executing instructions. Here are some salient features of the lock up failure:
1. No messages are written to serial console, no kernel panic, nothing. The serial port is completely unresponsive. One cannot use sysreq to send commands to the kernel.
2. We are unable to use the JTAG interface to halt the processor. We are using TI Code Composer with an XDS100v2 JTAG emulator to access the JTAG interface. Prior to the failure it is possible to halt the processor and look at registers, and then restart the processor. Once the failure happens we get this message connecting to the target:
Trouble Halting Target CPU:
Error 0x80001820/-2062
Fatal Error during: Execution, Timeout, Target,
Cannot halt the processor
3. The display remains frozen with the screen is lit up and showing whatever was on it when the failure happened, in other words phone's DRAM (framebuffer) is alive.
4. No process is now running in Linux. We have a very simple program that writes a "0" to /dev/watchdog every 30 seconds. The purpose of this program is to reboot the phone after the lockup. On lockup, the process doesn't run anymore, and eventually OMAP's Watchdog Timer triggers a reset.
5. We've developed an app that can trigger the lockup. This app scrolls images thumbnails left/right quickly and the lockup happens in less than a minute. However, when we ran this app on an older version of our software based on Android Eclair (Linux 2.6.29) it took about 4-5 hours before the lock up happened.
6. We are using graphics acceleration using the PowerVR/SGX library supplied by TI. However, the lock up occurs even on a build that doesn't use these libraries.
7. We are not using the OMAP 3530's DSP. In fact, our build uses software acceleration for video playback.
8. Other than the app that scrolls images, we can make the failure occur in several ways all of which involve using the screen. Phones will sometimes (although rarely) lock up even when no one is using the phone (the clock on the screen shows minutes so there is some screen activity even when the phone is idle).
9. >From user reports, we feel strongly that there is a correlation of the lock up with heavier phone usage.
So far, we have not been able to figure out why such a lock up would happen and how to debug it given that JTAG isn't available.
Thanks and regards,
Chaitral Purkar