summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/SOURCES4
-rw-r--r--firmware/crt0.S13
2 files changed, 16 insertions, 1 deletions
diff --git a/firmware/SOURCES b/firmware/SOURCES
index 3a5f551..dbfa102 100644
--- a/firmware/SOURCES
+++ b/firmware/SOURCES
@@ -170,3 +170,7 @@ replaygain.c
pcm_record.c
#endif
sound.c
+#if defined(IRIVER_IFP7XX_SERIES) && defined(STUB)
+common/sscanf.c
+usb_serial.c
+#endif
diff --git a/firmware/crt0.S b/firmware/crt0.S
index ba478f8..5946276 100644
--- a/firmware/crt0.S
+++ b/firmware/crt0.S
@@ -93,6 +93,7 @@ remap_end:
strhi r5, [r2], #4
bhi 1b
+#ifndef STUB
/* Zero out IBSS */
ldr r2, =_iedata
ldr r3, =_iend
@@ -111,6 +112,7 @@ remap_end:
ldrhi r5, [r2], #4
strhi r5, [r3], #4
bhi 1b
+#endif /* !STUB */
#endif /* !BOOTLOADER */
/* Initialise bss section to zero */
@@ -283,8 +285,10 @@ vectors:
.text
+#ifndef STUB
.global irq
.global UIE
+#endif
/* All illegal exceptions call into UIE with exception address as first
parameter. This is calculated differently depending on which exception
@@ -317,11 +321,18 @@ data_abort_handler:
b UIE
irq_handler:
+#ifndef STUB
stmfd sp!, {r0-r3, r12, lr}
bl irq
ldmfd sp!, {r0-r3, r12, lr}
+#endif
subs pc, lr, #4
-
+
+#ifdef STUB
+UIE:
+ b UIE
+#endif
+
/* 256 words of IRQ stack */
.space 256*4
irq_stack: