1/**************************************************************************/
2/*                                                                        */
3/*       Copyright (c) Microsoft Corporation. All rights reserved.        */
4/*                                                                        */
5/*       This software is licensed under the Microsoft Software License   */
6/*       Terms for Microsoft Azure RTOS. Full text of the license can be  */
7/*       found in the LICENSE file at https://aka.ms/AzureRTOS_EULA       */
8/*       and in the root directory of this software.                      */
9/*                                                                        */
10/**************************************************************************/
11
12
13/**************************************************************************/
14/**************************************************************************/
15/**                                                                       */
16/** ThreadX Component                                                     */
17/**                                                                       */
18/**   Initialize                                                          */
19/**                                                                       */
20/**************************************************************************/
21/**************************************************************************/
22
23    .arm
24
25    .global      _start
26    .global      __tx_undefined
27    .global      __tx_swi_interrupt
28    .global      __tx_prefetch_handler
29    .global      __tx_abort_handler
30    .global      __tx_reserved_handler
31    .global      __tx_irq_handler
32    .global      __tx_fiq_handler
33
34/* Define the vector area.  This should be located or copied to 0.  */
35
36    .text
37    .global __vectors
38__vectors:
39
40    LDR     pc, STARTUP                     // Reset goes to startup function
41    LDR     pc, UNDEFINED                   // Undefined handler
42    LDR     pc, SWI                         // Software interrupt handler
43    LDR     pc, PREFETCH                    // Prefetch exception handler
44    LDR     pc, ABORT                       // Abort exception handler
45    LDR     pc, RESERVED                    // Reserved exception handler
46    LDR     pc, IRQ                         // IRQ interrupt handler
47    LDR     pc, FIQ                         // FIQ interrupt handler
48
49STARTUP:
50    .word  _start                           // Reset goes to C startup function
51UNDEFINED:
52    .word  __tx_undefined                   // Undefined handler
53SWI:
54    .word  __tx_swi_interrupt               // Software interrupt handler
55PREFETCH:
56    .word  __tx_prefetch_handler            // Prefetch exception handler
57ABORT:
58    .word  __tx_abort_handler               // Abort exception handler
59RESERVED:
60    .word  __tx_reserved_handler            // Reserved exception handler
61IRQ:
62    .word  __tx_irq_handler                 // IRQ interrupt handler
63FIQ:
64    .word  __tx_fiq_handler                 // FIQ interrupt handler
65