--- /dev/null
+.extern CopyBootToRAM\r
+ \r
+.text\r
+.code 32\r
+.align 0\r
+\r
+.global start\r
+start:\r
+ b Reset\r
+ b UndefinedInstruction\r
+ b SoftwareInterrupt\r
+ b PrefetchAbort\r
+ b DataAbort\r
+ b Reserved\r
+ b Irq\r
+ b Fiq\r
+\r
+Reset:\r
+ ldr sp, = 0x0020FFF8 @ initialize stack pointer to top of RAM\r
+ bl CopyBootToRAM @ copy bootloader to RAM (in case the\r
+ @ user re-flashes the bootloader)\r
+ ldr r3, = 0x00200000 @ start address of RAM bootloader\r
+ bx r3 @ jump to it\r
+\r
+Fiq:\r
+ b Fiq\r
+UndefinedInstruction:\r
+ b UndefinedInstruction\r
+SoftwareInterrupt:\r
+ b SoftwareInterrupt\r
+PrefetchAbort:\r
+ b PrefetchAbort\r
+DataAbort:\r
+ b DataAbort\r
+Reserved:\r
+ b Reserved\r
+Irq:\r
+ b Irq\r