diff options
| author | Felix Arends <edx@rockbox.org> | 2002-06-24 11:35:13 +0000 |
|---|---|---|
| committer | Felix Arends <edx@rockbox.org> | 2002-06-24 11:35:13 +0000 |
| commit | b38c2d996d339a68f33a8b681cce359a86f65bcf (patch) | |
| tree | c158eca05665a49e885e40392321302da53fe430 | |
| parent | c40ac3249a851cdf5ed1f6e096a8411b569cb6ab (diff) | |
| download | rockbox-b38c2d996d339a68f33a8b681cce359a86f65bcf.zip rockbox-b38c2d996d339a68f33a8b681cce359a86f65bcf.tar.gz rockbox-b38c2d996d339a68f33a8b681cce359a86f65bcf.tar.bz2 rockbox-b38c2d996d339a68f33a8b681cce359a86f65bcf.tar.xz | |
Exception handler clears and updates the screen now (so one can read the error message)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1146 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/system.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/firmware/system.c b/firmware/system.c index f02bbb8..c9d1c6e 100644 --- a/firmware/system.c +++ b/firmware/system.c @@ -323,12 +323,19 @@ void UIE (unsigned int pc) /* Unexpected Interrupt or Exception */ asm volatile ("sts\tpr,%0" : "=r"(n)); + /* clear screen */ + lcd_clear_display (); + /* output exception */ n = (n - (unsigned)UIE0 - 4)>>2; // get exception or interrupt number snprintf(str,sizeof(str),"I%02x:%s",n,irqname[n]); lcd_puts(0,0,str); snprintf(str,sizeof(str),"at %08x",pc); lcd_puts(0,1,str); +#ifdef HAVE_LCD_BITMAP + lcd_update (); +#endif + while (1) { volatile int i; |