Files
TencentOS-tiny/components/connectivity/Modbus/3rdparty/freemodbus-v1.6/demo/MCF5235/vector.S
Supowang1989 ef82dbfc6d add modbus slave support
add modbus slave support
2020-02-24 21:40:06 +08:00

323 lines
15 KiB
ArmAsm

/*
* FreeModbus Libary: MCF5235 Demo Application
* Copyright (C) 2006 Christian Walter <wolti@sil.at>
* Parts of crt0.S Copyright (c) 1995, 1996, 1998 Cygnus Support
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* File: $Id: vector.S,v 1.1 2006/05/14 21:59:16 wolti Exp $
*/
.extern __stack
.extern start
.global ramvec_start
.global ramvec_end
.global romvec_start
.global romvec_end
.global vPortVecInit
.section .vector, "x"
romvec_start:
.long __stack | Reset: Initial Stack Pointer
.long start | Reset: Initial Program Counter
.long VecDefault | Bus Error
.long VecDefault | Address Error
.long VecDefault | Illegal Instruction
.long VecDefault | Zero Divison
.space 4 | reserved
.space 4 | reserved
.long VecDefault | Privilege Violation
.long VecDefault | Trace
.long VecDefault | Unimplemented line-a opcode
.long VecDefault | Unimplemented line-b opcode
.long VecDefault | Non-PC breakpoint debug interrupt
.long VecDefault | PC breakpoint debug interrupt
.long VecDefault | Format Error
.long VecDefault | Uninitialized Interrupt
.org 0x60
.long IRQSpurious | Spurious Interrupt
.long IRQDefault | Level 1 Interrupt
.long IRQDefault | Level 2 Interrupt
.long IRQDefault | Level 3 Interrupt
.long IRQDefault | Level 4 Interrupt
.long IRQDefault | Level 5 Interrupt
.long IRQDefault | Level 6 Interrupt
.long IRQDefault | Level 7 Interrupt
.org 0x80
.long TrapDefault | TRAP 0
.long TrapDefault | TRAP 1
.long TrapDefault | TRAP 2
.long TrapDefault | TRAP 3
.long TrapDefault | TRAP 4
.long TrapDefault | TRAP 5
.long TrapDefault | TRAP 6
.long TrapDefault | TRAP 7
.long TrapDefault | TRAP 8
.long TrapDefault | TRAP 9
.long TrapDefault | TRAP 10
.long TrapDefault | TRAP 11
.long TrapDefault | TRAP 12
.long TrapDefault | TRAP 13
.long TrapDefault | TRAP 14
.long TrapDefault | TRAP 15
.org 0x100
.long IRQDefault | User-Defined Interrupt 0
.long IRQDefault | User-Defined Interrupt 1
.long IRQDefault | User-Defined Interrupt 2
.long IRQDefault | User-Defined Interrupt 3
.long IRQDefault | User-Defined Interrupt 4
.long IRQDefault | User-Defined Interrupt 5
.long IRQDefault | User-Defined Interrupt 6
.long IRQDefault | User-Defined Interrupt 7
.long IRQDefault | User-Defined Interrupt 8
.long IRQDefault | User-Defined Interrupt 9
.long IRQDefault | User-Defined Interrupt 10
.long IRQDefault | User-Defined Interrupt 11
.long IRQDefault | User-Defined Interrupt 12
.long IRQUart0 | User-Defined Interrupt 13
.long IRQDefault | User-Defined Interrupt 14
.long IRQDefault | User-Defined Interrupt 15
.long IRQDefault | User-Defined Interrupt 16
.long IRQDefault | User-Defined Interrupt 17
.long IRQDefault | User-Defined Interrupt 18
.long IRQDefault | User-Defined Interrupt 19
.long IRQDefault | User-Defined Interrupt 20
.long IRQDefault | User-Defined Interrupt 21
.long IRQDefault | User-Defined Interrupt 22
.long IRQDefault | User-Defined Interrupt 23
.long IRQDefault | User-Defined Interrupt 24
.long IRQDefault | User-Defined Interrupt 25
.long IRQDefault | User-Defined Interrupt 26
.long IRQDefault | User-Defined Interrupt 27
.long IRQDefault | User-Defined Interrupt 28
.long IRQDefault | User-Defined Interrupt 29
.long IRQDefault | User-Defined Interrupt 30
.long IRQDefault | User-Defined Interrupt 31
.long IRQDefault | User-Defined Interrupt 32
.long IRQDefault | User-Defined Interrupt 33
.long IRQDefault | User-Defined Interrupt 34
.long IRQDefault | User-Defined Interrupt 35
.long IRQPIT0 | User-Defined Interrupt 36
.long IRQDefault | User-Defined Interrupt 37
.long IRQDefault | User-Defined Interrupt 38
.long IRQDefault | User-Defined Interrupt 39
.long IRQDefault | User-Defined Interrupt 40
.long IRQDefault | User-Defined Interrupt 41
.long IRQDefault | User-Defined Interrupt 42
.long IRQDefault | User-Defined Interrupt 43
.long IRQDefault | User-Defined Interrupt 44
.long IRQDefault | User-Defined Interrupt 45
.long IRQDefault | User-Defined Interrupt 46
.long IRQDefault | User-Defined Interrupt 47
.long IRQDefault | User-Defined Interrupt 48
.long IRQDefault | User-Defined Interrupt 49
.long IRQDefault | User-Defined Interrupt 50
.long IRQDefault | User-Defined Interrupt 51
.long IRQDefault | User-Defined Interrupt 52
.long IRQDefault | User-Defined Interrupt 53
.long IRQDefault | User-Defined Interrupt 54
.long IRQDefault | User-Defined Interrupt 55
.long IRQDefault | User-Defined Interrupt 56
.long IRQDefault | User-Defined Interrupt 57
.long IRQDefault | User-Defined Interrupt 58
.long IRQDefault | User-Defined Interrupt 59
.long IRQDefault | User-Defined Interrupt 60
.long IRQDefault | User-Defined Interrupt 61
.long IRQDefault | User-Defined Interrupt 62
.long IRQDefault | User-Defined Interrupt 63
.long IRQDefault | User-Defined Interrupt 64
.long IRQDefault | User-Defined Interrupt 65
.long IRQDefault | User-Defined Interrupt 66
.long IRQDefault | User-Defined Interrupt 67
.long IRQDefault | User-Defined Interrupt 68
.long IRQDefault | User-Defined Interrupt 69
.long IRQDefault | User-Defined Interrupt 70
.long IRQDefault | User-Defined Interrupt 71
.long IRQDefault | User-Defined Interrupt 72
.long IRQDefault | User-Defined Interrupt 73
.long IRQDefault | User-Defined Interrupt 74
.long IRQDefault | User-Defined Interrupt 75
.long IRQDefault | User-Defined Interrupt 76
.long IRQDefault | User-Defined Interrupt 77
.long IRQDefault | User-Defined Interrupt 78
.long IRQDefault | User-Defined Interrupt 79
.long IRQDefault | User-Defined Interrupt 80
.long IRQDefault | User-Defined Interrupt 81
.long IRQDefault | User-Defined Interrupt 82
.long IRQDefault | User-Defined Interrupt 83
.long IRQDefault | User-Defined Interrupt 84
.long IRQDefault | User-Defined Interrupt 85
.long IRQDefault | User-Defined Interrupt 86
.long IRQDefault | User-Defined Interrupt 87
.long IRQDefault | User-Defined Interrupt 88
.long IRQDefault | User-Defined Interrupt 89
.long IRQDefault | User-Defined Interrupt 90
.long IRQDefault | User-Defined Interrupt 91
.long IRQDefault | User-Defined Interrupt 92
.long IRQDefault | User-Defined Interrupt 93
.long IRQDefault | User-Defined Interrupt 94
.long IRQDefault | User-Defined Interrupt 95
.long IRQDefault | User-Defined Interrupt 96
.long IRQDefault | User-Defined Interrupt 97
.long IRQDefault | User-Defined Interrupt 98
.long IRQDefault | User-Defined Interrupt 99
.long IRQDefault | User-Defined Interrupt 100
.long IRQDefault | User-Defined Interrupt 101
.long IRQDefault | User-Defined Interrupt 102
.long IRQDefault | User-Defined Interrupt 103
.long IRQDefault | User-Defined Interrupt 104
.long IRQDefault | User-Defined Interrupt 105
.long IRQDefault | User-Defined Interrupt 106
.long IRQDefault | User-Defined Interrupt 107
.long IRQDefault | User-Defined Interrupt 108
.long IRQDefault | User-Defined Interrupt 109
.long IRQDefault | User-Defined Interrupt 110
.long IRQDefault | User-Defined Interrupt 111
.long IRQDefault | User-Defined Interrupt 112
.long IRQDefault | User-Defined Interrupt 113
.long IRQDefault | User-Defined Interrupt 114
.long IRQDefault | User-Defined Interrupt 115
.long IRQDefault | User-Defined Interrupt 116
.long IRQDefault | User-Defined Interrupt 117
.long IRQDefault | User-Defined Interrupt 118
.long IRQDefault | User-Defined Interrupt 119
.long IRQDefault | User-Defined Interrupt 120
.long IRQDefault | User-Defined Interrupt 121
.long IRQDefault | User-Defined Interrupt 122
.long IRQDefault | User-Defined Interrupt 123
.long IRQDefault | User-Defined Interrupt 124
.long IRQDefault | User-Defined Interrupt 125
.long IRQDefault | User-Defined Interrupt 126
.long IRQDefault | User-Defined Interrupt 127
.long IRQDefault | User-Defined Interrupt 128
.long IRQDefault | User-Defined Interrupt 129
.long IRQDefault | User-Defined Interrupt 130
.long IRQDefault | User-Defined Interrupt 131
.long IRQDefault | User-Defined Interrupt 132
.long IRQDefault | User-Defined Interrupt 133
.long IRQDefault | User-Defined Interrupt 134
.long IRQDefault | User-Defined Interrupt 135
.long IRQDefault | User-Defined Interrupt 136
.long IRQDefault | User-Defined Interrupt 137
.long IRQDefault | User-Defined Interrupt 138
.long IRQDefault | User-Defined Interrupt 139
.long IRQDefault | User-Defined Interrupt 140
.long IRQDefault | User-Defined Interrupt 141
.long IRQDefault | User-Defined Interrupt 142
.long IRQDefault | User-Defined Interrupt 143
.long IRQDefault | User-Defined Interrupt 144
.long IRQDefault | User-Defined Interrupt 145
.long IRQDefault | User-Defined Interrupt 146
.long IRQDefault | User-Defined Interrupt 147
.long IRQDefault | User-Defined Interrupt 148
.long IRQDefault | User-Defined Interrupt 149
.long IRQDefault | User-Defined Interrupt 150
.long IRQDefault | User-Defined Interrupt 151
.long IRQDefault | User-Defined Interrupt 152
.long IRQDefault | User-Defined Interrupt 153
.long IRQDefault | User-Defined Interrupt 154
.long IRQDefault | User-Defined Interrupt 155
.long IRQDefault | User-Defined Interrupt 156
.long IRQDefault | User-Defined Interrupt 157
.long IRQDefault | User-Defined Interrupt 158
.long IRQDefault | User-Defined Interrupt 159
.long IRQDefault | User-Defined Interrupt 160
.long IRQDefault | User-Defined Interrupt 161
.long IRQDefault | User-Defined Interrupt 162
.long IRQDefault | User-Defined Interrupt 163
.long IRQDefault | User-Defined Interrupt 164
.long IRQDefault | User-Defined Interrupt 165
.long IRQDefault | User-Defined Interrupt 166
.long IRQDefault | User-Defined Interrupt 167
.long IRQDefault | User-Defined Interrupt 168
.long IRQDefault | User-Defined Interrupt 169
.long IRQDefault | User-Defined Interrupt 170
.long IRQDefault | User-Defined Interrupt 171
.long IRQDefault | User-Defined Interrupt 172
.long IRQDefault | User-Defined Interrupt 173
.long IRQDefault | User-Defined Interrupt 174
.long IRQDefault | User-Defined Interrupt 175
.long IRQDefault | User-Defined Interrupt 176
.long IRQDefault | User-Defined Interrupt 177
.long IRQDefault | User-Defined Interrupt 178
.long IRQDefault | User-Defined Interrupt 179
.long IRQDefault | User-Defined Interrupt 180
.long IRQDefault | User-Defined Interrupt 181
.long IRQDefault | User-Defined Interrupt 182
.long IRQDefault | User-Defined Interrupt 183
.long IRQDefault | User-Defined Interrupt 184
.long IRQDefault | User-Defined Interrupt 185
.long IRQDefault | User-Defined Interrupt 186
.long IRQDefault | User-Defined Interrupt 187
.long IRQDefault | User-Defined Interrupt 188
.long IRQDefault | User-Defined Interrupt 189
.long IRQDefault | User-Defined Interrupt 190
.long IRQDefault | User-Defined Interrupt 191
.org 0x00000400
romvec_end:
/*
.section .bss
ramvec_start:
.space 0x400
ramvec_end:
.section .text
vPortVecInit:
move.l #romvec_start, a0
move.l #ramvec_start, a1
move.l #256, d0
1:
move.l (a0)+, (a1)+
subq.l #1, d0
bne 1b
move.l #ramvec_start, a1
movec a1, vbr
rts
*/
.section .text
VecDefault:
halt
bra VecDefault
IRQDefault:
halt
bra IRQDefault
IRQSpurious:
halt
bra IRQSpurious
TrapDefault:
halt
bra TrapDefault
IRQUart0:
lea.l (-16, %sp), %sp
movem.l %d0-%d1/%a0-a1, (%sp)
jsr prvvMBPortSerialISR;
movem.l (%sp),%d0-%d1/%a0-%a1
lea.l (16, %sp), %sp
rte
IRQPIT0:
lea.l (-16, %sp), %sp
movem.l %d0-%d1/%a0-a1, (%sp)
jsr prvvMBPortTimerISR;
movem.l (%sp),%d0-%d1/%a0-%a1
lea.l (16, %sp), %sp
rte