summaryrefslogtreecommitdiff
path: root/firmware/system.c
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2006-10-08 21:34:26 +0000
committerJens Arnold <amiconn@rockbox.org>2006-10-08 21:34:26 +0000
commitf4e775962548e8fe581eb2b370fc73adaf252385 (patch)
treea129416d262577355793363a6483490f17cad66a /firmware/system.c
parent994257ec6cb0a770cb3e3d1a49f2d1686fc70594 (diff)
downloadrockbox-f4e775962548e8fe581eb2b370fc73adaf252385.tar.gz
rockbox-f4e775962548e8fe581eb2b370fc73adaf252385.zip
UIE(), panicf(): Make reboot with ON react immediately on targets with real LED (archos recorders, player).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11154 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/system.c')
-rw-r--r--firmware/system.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/firmware/system.c b/firmware/system.c
index bb7923792d..655b08d1bf 100644
--- a/firmware/system.c
+++ b/firmware/system.c
@@ -1017,7 +1017,8 @@ void UIE (unsigned int pc) __attribute__((section(".text")));
1017void UIE (unsigned int pc) /* Unexpected Interrupt or Exception */ 1017void UIE (unsigned int pc) /* Unexpected Interrupt or Exception */
1018{ 1018{
1019#if CONFIG_LED == LED_REAL 1019#if CONFIG_LED == LED_REAL
1020 bool state = true; 1020 bool state = false;
1021 int i = 0;
1021#endif 1022#endif
1022 unsigned int n; 1023 unsigned int n;
1023 char str[32]; 1024 char str[32];
@@ -1043,11 +1044,12 @@ void UIE (unsigned int pc) /* Unexpected Interrupt or Exception */
1043 while (1) 1044 while (1)
1044 { 1045 {
1045#if CONFIG_LED == LED_REAL 1046#if CONFIG_LED == LED_REAL
1046 volatile int i; 1047 if (--i <= 0)
1047 led (state); 1048 {
1048 state = !state; 1049 state = !state;
1049 1050 led(state);
1050 for (i = 0; i < 240000; ++i); 1051 i = 240000;
1052 }
1051#endif 1053#endif
1052 1054
1053 /* try to restart firmware if ON is pressed */ 1055 /* try to restart firmware if ON is pressed */