+.org 0
+.text
+
+.globl _boot
+.globl _vector_table
.globl _freertos_vector_table
+
.globl FIQInterrupt
.globl IRQInterrupt
.globl SErrorInterrupt
.globl SynchronousInterrupt
+.org 0
+
+.section .vectors, "a"
+
+_vector_table:
+
+.set VBAR, _vector_table
+
+.org VBAR
+ b _boot
+
+.org (VBAR + 0x80)
+ b .
+
+.org (VBAR + 0x100)
+ b .
+
+.org (VBAR + 0x180)
+ b .
+
+
+.org (VBAR + 0x200)
+ b .
+
+.org (VBAR + 0x280)
+ b .
+
+.org (VBAR + 0x300)
+ b .
+
+.org (VBAR + 0x380)
+ b .
+
+
+
+.org (VBAR + 0x400)
+ b .
+
+.org (VBAR + 0x480)
+ b .
+
+.org (VBAR + 0x500)
+ b .
+
+.org (VBAR + 0x580)
+ b .
+
+.org (VBAR + 0x600)
+ b .
+
+.org (VBAR + 0x680)
+ b .
+
+.org (VBAR + 0x700)
+ b .
+
+.org (VBAR + 0x780)
+ b .
+
+
/******************************************************************************
* Vector table to use when FreeRTOS is running.
*****************************************************************************/
-.text
-.section .freertos_vectors
-.align 8
-.set FREERTOS_VBAR, .
+.set FREERTOS_VBAR, (VBAR+0x1000)
+
.org(FREERTOS_VBAR)
_freertos_vector_table:
b FreeRTOS_SWI_Handler
-
+#if 0
SynchronousInterruptHandler:
stp X0,X1, [sp,#-0x10]!
stp X2,X3, [sp,#-0x10]!
ldp X0,X1, [sp], #0x10
eret
+#endif
.end