1@/***************************************************************************
2@ * Copyright (c) 2024 Microsoft Corporation
3@ *
4@ * This program and the accompanying materials are made available under the
5@ * terms of the MIT License which is available at
6@ * https://opensource.org/licenses/MIT.
7@ *
8@ * SPDX-License-Identifier: MIT
9@ **************************************************************************/
10@
11@
12@/**************************************************************************/
13@/**************************************************************************/
14@/**                                                                       */
15@/** ThreadX Component                                                     */
16@/**                                                                       */
17@/**   Initialize                                                          */
18@/**                                                                       */
19@/**************************************************************************/
20@/**************************************************************************/
21@
22@
23@#define TX_SOURCE_CODE
24@
25@
26@/* Include necessary system files.  */
27@
28@#include "tx_api.h"
29@#include "tx_initialize.h"
30@#include "tx_thread.h"
31@#include "tx_timer.h"
32
33    .arm
34
35    .global      _start
36    .global      __tx_undefined
37    .global      __tx_swi_interrupt
38    .global      __tx_prefetch_handler
39    .global      __tx_abort_handler
40    .global      __tx_reserved_handler
41    .global      __tx_irq_handler
42    .global      __tx_fiq_handler
43@
44@
45@/* Define the vector area.  This should be located or copied to 0.  */
46@
47    .text
48    .global __vectors
49__vectors:
50
51    LDR     pc, STARTUP                     @ Reset goes to startup function
52    LDR     pc, UNDEFINED                   @ Undefined handler
53    LDR     pc, SWI                         @ Software interrupt handler
54    LDR     pc, PREFETCH                    @ Prefetch exception handler
55    LDR     pc, ABORT                       @ Abort exception handler
56    LDR     pc, RESERVED                    @ Reserved exception handler
57    LDR     pc, IRQ                         @ IRQ interrupt handler
58    LDR     pc, FIQ                         @ FIQ interrupt handler
59
60STARTUP:
61    .word  _start                           @ Reset goes to C startup function
62UNDEFINED:
63    .word  __tx_undefined                   @ Undefined handler
64SWI:
65    .word  __tx_swi_interrupt               @ Software interrupt handler
66PREFETCH:
67    .word  __tx_prefetch_handler            @ Prefetch exception handler
68ABORT:
69    .word  __tx_abort_handler               @ Abort exception handler
70RESERVED:
71    .word  __tx_reserved_handler            @ Reserved exception handler
72IRQ:
73    .word  __tx_irq_handler                 @ IRQ interrupt handler
74FIQ:
75    .word  __tx_fiq_handler                 @ FIQ interrupt handler
76