forked from len0rd/rockbox
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
This commit is contained in:
parent
c40ac3249a
commit
b38c2d996d
1 changed files with 7 additions and 0 deletions
|
@ -323,12 +323,19 @@ void UIE (unsigned int pc) /* Unexpected Interrupt or Exception */
|
||||||
|
|
||||||
asm volatile ("sts\tpr,%0" : "=r"(n));
|
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
|
n = (n - (unsigned)UIE0 - 4)>>2; // get exception or interrupt number
|
||||||
snprintf(str,sizeof(str),"I%02x:%s",n,irqname[n]);
|
snprintf(str,sizeof(str),"I%02x:%s",n,irqname[n]);
|
||||||
lcd_puts(0,0,str);
|
lcd_puts(0,0,str);
|
||||||
snprintf(str,sizeof(str),"at %08x",pc);
|
snprintf(str,sizeof(str),"at %08x",pc);
|
||||||
lcd_puts(0,1,str);
|
lcd_puts(0,1,str);
|
||||||
|
|
||||||
|
#ifdef HAVE_LCD_BITMAP
|
||||||
|
lcd_update ();
|
||||||
|
#endif
|
||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
volatile int i;
|
volatile int i;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue