diff options
| author | Björn Stenberg <bjorn@haxx.se> | 2002-05-24 15:22:33 +0000 |
|---|---|---|
| committer | Björn Stenberg <bjorn@haxx.se> | 2002-05-24 15:22:33 +0000 |
| commit | 6eb771721c1df01348577f85d6570cfd9a53617d (patch) | |
| tree | 0d3bab7c496152ec1133748a337ca5d134f641d2 | |
| parent | 1ac4600e5bf3ff937d404622158111b576651829 (diff) | |
| download | rockbox-6eb771721c1df01348577f85d6570cfd9a53617d.zip rockbox-6eb771721c1df01348577f85d6570cfd9a53617d.tar.gz rockbox-6eb771721c1df01348577f85d6570cfd9a53617d.tar.bz2 rockbox-6eb771721c1df01348577f85d6570cfd9a53617d.tar.xz | |
Fixed interrupt display and led flash
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@696 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/system.c | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/firmware/system.c b/firmware/system.c index cc039b3..6e73053 100644 --- a/firmware/system.c +++ b/firmware/system.c @@ -16,7 +16,7 @@ * KIND, either express or implied. * ****************************************************************************/ - +#include <stdio.h> #include "config.h" #include <lcd.h> @@ -299,27 +299,21 @@ void system_reboot (void) void UIE (unsigned int pc) /* Unexpected Interrupt or Exception */ { - unsigned int i; - -#if 0 + bool state = true; unsigned int n; + char str[32]; - lcd_stop (); asm volatile ("sts\tpr,%0" : "=r"(n)); n = (n - (unsigned)UIE0 - 4)>>2; // get exception or interrupt number - lcd_start (); - lcd_goto (0,0); lcd_puts ("** UIE00 **"); - lcd_goto (0,1); lcd_puts ("AT 00000000"); - lcd_goto (6,0); lcd_puthex (n,2); - lcd_goto (3,1); lcd_puthex (pc,8); /* or pc - 4 !? */ - lcd_stop (); -#endif + snprintf(str,sizeof(str),"** UIE%02x **",n); + lcd_puts(0,0,str); + snprintf(str,sizeof(str),"at %08x",pc); + lcd_puts(0,1,str); while (1) { - bool state = true; - + volatile int i; led (state); state = state?false:true; |