ChibiOS 2.6.8, until I can figure out where to get it from git.

This commit is contained in:
Jared Boone
2015-07-08 08:40:23 -07:00
parent dc6fee8370
commit e1eea8e08a
1929 changed files with 575326 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
/*
ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
2011,2012,2013 Giovanni Di Sirio.
This file is part of ChibiOS/RT.
ChibiOS/RT is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
ChibiOS/RT 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
---
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes ChibiOS/RT, without being obliged to provide
the source code for any proprietary components. See the file exception.txt
for full details of how and when the exception can be applied.
*/
/**
* @file SPC560Bxx/bam.s
* @brief SPC560Bxx boot assistant record.
*
* @addtogroup PPC_CORE
* @{
*/
#if !defined(__DOXYGEN__)
/* BAM record.*/
.section .bam, "ax"
.long 0x015A0000
.long _reset_address
.align 2
.globl _reset_address
.type _reset_address, @function
_reset_address:
bl _coreinit
bl _ivinit
b _boot_address
#endif /* !defined(__DOXYGEN__) */
/** @} */

View File

@@ -0,0 +1,221 @@
/*
ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
2011,2012,2013 Giovanni Di Sirio.
This file is part of ChibiOS/RT.
ChibiOS/RT is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
ChibiOS/RT 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
---
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes ChibiOS/RT, without being obliged to provide
the source code for any proprietary components. See the file exception.txt
for full details of how and when the exception can be applied.
*/
/**
* @file SPC560Bxx/core.s
* @brief e200z0 core configuration.
*
* @addtogroup PPC_CORE
* @{
*/
/**
* @name BUCSR registers definitions
* @{
*/
#define BUCSR_BPEN 0x00000001
#define BUCSR_BALLOC_BFI 0x00000200
/** @} */
/**
* @name BUCSR default settings
* @{
*/
#define BUCSR_DEFAULT (BUCSR_BPEN | BUCSR_BALLOC_BFI)
/** @} */
/**
* @name MSR register definitions
* @{
*/
#define MSR_WE 0x00040000
#define MSR_CE 0x00020000
#define MSR_EE 0x00008000
#define MSR_PR 0x00004000
#define MSR_ME 0x00001000
#define MSR_DE 0x00000200
#define MSR_IS 0x00000020
#define MSR_DS 0x00000010
#define MSR_RI 0x00000002
/** @} */
/**
* @name MSR default settings
* @{
*/
#define MSR_DEFAULT (MSR_WE | MSR_CE | MSR_ME)
/** @} */
#if !defined(__DOXYGEN__)
.section .coreinit, "ax"
.align 2
.globl _coreinit
.type _coreinit, @function
_coreinit:
/*
* RAM clearing, this device requires a write to all RAM location in
* order to initialize the ECC detection hardware, this is going to
* slow down the startup but there is no way around.
*/
xor %r0, %r0, %r0
xor %r1, %r1, %r1
xor %r2, %r2, %r2
xor %r3, %r3, %r3
xor %r4, %r4, %r4
xor %r5, %r5, %r5
xor %r6, %r6, %r6
xor %r7, %r7, %r7
xor %r8, %r8, %r8
xor %r9, %r9, %r9
xor %r10, %r10, %r10
xor %r11, %r11, %r11
xor %r12, %r12, %r12
xor %r13, %r13, %r13
xor %r14, %r14, %r14
xor %r15, %r15, %r15
xor %r16, %r16, %r16
xor %r17, %r17, %r17
xor %r18, %r18, %r18
xor %r19, %r19, %r19
xor %r20, %r20, %r20
xor %r21, %r21, %r21
xor %r22, %r22, %r22
xor %r23, %r23, %r23
xor %r24, %r24, %r24
xor %r25, %r25, %r25
xor %r26, %r26, %r26
xor %r27, %r27, %r27
xor %r28, %r28, %r28
xor %r29, %r29, %r29
xor %r30, %r30, %r30
xor %r31, %r31, %r31
lis %r4, __ram_start__@h
ori %r4, %r4, __ram_start__@l
lis %r5, __ram_end__@h
ori %r5, %r5, __ram_end__@l
.cleareccloop:
cmpl %cr0, %r4, %r5
bge %cr0, .cleareccend
stmw %r16, 0(%r4)
addi %r4, %r4, 64
b .cleareccloop
.cleareccend:
/*
* Branch prediction enabled.
*/
li %r3, BUCSR_DEFAULT
mtspr 1013, %r3 /* BUCSR */
blr
/*
* Exception vectors initialization.
*/
.global _ivinit
.type _ivinit, @function
_ivinit:
/* MSR initialization.*/
lis %r3, MSR_DEFAULT@h
ori %r3, %r3, MSR_DEFAULT@l
mtMSR %r3
/* IVPR initialization.*/
lis %r3, __ivpr_base__@h
ori %r3, %r3, __ivpr_base__@l
mtIVPR %r3
blr
.section .ivors, "ax"
.globl IVORS
IVORS:
IVOR0: b IVOR0
.align 4
IVOR1: b _IVOR1
.align 4
IVOR2: b _IVOR2
.align 4
IVOR3: b _IVOR3
.align 4
IVOR4: b _IVOR4
.align 4
IVOR5: b _IVOR5
.align 4
IVOR6: b _IVOR6
.align 4
IVOR7: b _IVOR7
.align 4
IVOR8: b _IVOR8
.align 4
IVOR9: b _IVOR9
.align 4
IVOR10: b _IVOR10
.align 4
IVOR11: b _IVOR11
.align 4
IVOR12: b _IVOR12
.align 4
IVOR13: b _IVOR13
.align 4
IVOR14: b _IVOR14
.align 4
IVOR15: b _IVOR15
.section .handlers, "ax"
/*
* Unhandled exceptions handler.
*/
.weak _IVOR0, _IVOR1, _IVOR2, _IVOR3, _IVOR4, _IVOR5
.weak _IVOR6, _IVOR7, _IVOR8, _IVOR9, _IVOR10, _IVOR11
.weak _IVOR12, _IVOR13, _IVOR14, _IVOR15
.weak _unhandled_exception
_IVOR0:
_IVOR1:
_IVOR2:
_IVOR3:
_IVOR5:
_IVOR6:
_IVOR7:
_IVOR8:
_IVOR9:
_IVOR11:
_IVOR12:
_IVOR13:
_IVOR14:
_IVOR15:
.type _unhandled_exception, @function
_unhandled_exception:
b _unhandled_exception
#endif /* !defined(__DOXYGEN__) */
/** @} */

View File

@@ -0,0 +1,178 @@
/*
ChibiOS/RT - Copyright (C) 2006-2013 Giovanni Di Sirio
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/*
* SPC560B64 memory setup.
*/
__irq_stack_size__ = 0x0000; /* Not yet used.*/
__process_stack_size__ = 0x0800;
MEMORY
{
flash : org = 0x00000000, len = 1536k
dataflash : org = 0x00800000, len = 64k
ram : org = 0x40000000, len = 96k
}
ENTRY(_reset_address)
/*
* Derived constants.
*/
__flash_size__ = LENGTH(flash);
__flash_start__ = ORIGIN(flash);
__flash_end__ = ORIGIN(flash) + LENGTH(flash);
__ram_size__ = LENGTH(ram);
__ram_start__ = ORIGIN(ram);
__ram_end__ = ORIGIN(ram) + LENGTH(ram);
SECTIONS
{
. = ORIGIN(flash);
.boot : ALIGN(16) SUBALIGN(16)
{
KEEP(*(.bam))
KEEP(*(.coreinit))
KEEP(*(.handlers))
KEEP(*(.crt0))
. = ALIGN(0x00000800);
KEEP(*(.vectors))
/* Note, have to waste the first 4KB because the IVPR register
requires an alignment of 4KB and the first 4KB cannot be used,
IVOR0 would conflict with the BAM word. Applications could
allocate code or data in the first 4KB by using special sections.*/
. = ALIGN(0x00001000);
__ivpr_base__ = .;
KEEP(*(.ivors))
} > flash
constructors : ALIGN(4) SUBALIGN(4)
{
PROVIDE(__init_array_start = .);
KEEP(*(SORT(.init_array.*)))
KEEP(*(.init_array))
PROVIDE(__init_array_end = .);
} > flash
destructors : ALIGN(4) SUBALIGN(4)
{
PROVIDE(__fini_array_start = .);
KEEP(*(.fini_array))
KEEP(*(SORT(.fini_array.*)))
PROVIDE(__fini_array_end = .);
} > flash
.text_vle : ALIGN(16) SUBALIGN(16)
{
*(.text_vle)
*(.text_vle.*)
*(.gnu.linkonce.t_vle.*)
} > flash
.text : ALIGN(16) SUBALIGN(16)
{
*(.text)
*(.text.*)
*(.gnu.linkonce.t.*)
} > flash
.rodata : ALIGN(16) SUBALIGN(16)
{
*(.glue_7t)
*(.glue_7)
*(.gcc*)
*(.rodata)
*(.rodata.*)
*(.rodata1)
} > flash
.sdata2 : ALIGN(16) SUBALIGN(16)
{
__sdata2_start__ = . + 0x8000;
*(.sdata2)
*(.sdata2.*)
*(.gnu.linkonce.s2.*)
*(.sbss2)
*(.sbss2.*)
*(.gnu.linkonce.sb2.*)
} > flash
.eh_frame_hdr :
{
*(.eh_frame_hdr)
} > flash
.eh_frame : ONLY_IF_RO
{
*(.eh_frame)
} > flash
.romdata : ALIGN(16) SUBALIGN(16)
{
__romdata_start__ = .;
} > flash
.stacks :
{
. = ALIGN(8);
__irq_stack_base__ = .;
. += __irq_stack_size__;
. = ALIGN(8);
__irq_stack_end__ = .;
__process_stack_base__ = .;
__main_thread_stack_base__ = .;
. += __process_stack_size__;
. = ALIGN(8);
__process_stack_end__ = .;
__main_thread_stack_end__ = .;
} > ram
.data : AT(__romdata_start__)
{
. = ALIGN(4);
__data_start__ = .;
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
__sdata_start__ = . + 0x8000;
*(.sdata)
*(.sdata.*)
*(.gnu.linkonce.s.*)
__data_end__ = .;
} > ram
.sbss :
{
__bss_start__ = .;
*(.sbss)
*(.sbss.*)
*(.gnu.linkonce.sb.*)
*(.scommon)
} > ram
.bss :
{
*(.bss)
*(.bss.*)
*(.gnu.linkonce.b.*)
*(COMMON)
__bss_end__ = .;
} > ram
__heap_base__ = __bss_end__;
__heap_end__ = __ram_end__;
}

View File

@@ -0,0 +1,13 @@
# List of the ChibiOS/RT SPC560Bxx port files.
PORTSRC = ${CHIBIOS}/os/ports/GCC/PPC/chcore.c
PORTASM = ${CHIBIOS}/os/ports/GCC/PPC/SPC560Bxx/bam.s \
${CHIBIOS}/os/ports/GCC/PPC/SPC560Bxx/core.s \
${CHIBIOS}/os/ports/GCC/PPC/SPC560Bxx/vectors.s \
${CHIBIOS}/os/ports/GCC/PPC/ivor.s \
${CHIBIOS}/os/ports/GCC/PPC/crt0.s
PORTINC = ${CHIBIOS}/os/ports/GCC/PPC \
${CHIBIOS}/os/ports/GCC/PPC/SPC560Bxx
PORTLD = ${CHIBIOS}/os/ports/GCC/PPC/SPC560Bxx/ld

View File

@@ -0,0 +1,79 @@
/*
ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
2011,2012,2013 Giovanni Di Sirio.
This file is part of ChibiOS/RT.
ChibiOS/RT is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
ChibiOS/RT 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
---
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes ChibiOS/RT, without being obliged to provide
the source code for any proprietary components. See the file exception.txt
for full details of how and when the exception can be applied.
*/
/**
* @file SPC560Bxx/ppcparams.h
* @brief PowerPC parameters for the SPC560B/Cxx.
*
* @defgroup PPC_SPC560BCxx SPC560BCxx Specific Parameters
* @ingroup PPC_SPECIFIC
* @details This file contains the PowerPC specific parameters for the
* SPC560BCxx platform.
* @{
*/
#ifndef _PPCPARAMS_H_
#define _PPCPARAMS_H_
/**
* @brief PPC core model.
*/
#define PPC_VARIANT PPC_VARIANT_e200z0
/**
* @brief Number of writable bits in IVPR register.
*/
#define PPC_IVPR_BITS 20
/**
* @brief IVORx registers support.
*/
#define PPC_SUPPORTS_IVORS FALSE
/**
* @brief Book E instruction set support.
*/
#define PPC_SUPPORTS_BOOKE FALSE
/**
* @brief VLE instruction set support.
*/
#define PPC_SUPPORTS_VLE TRUE
/**
* @brief Supports VLS Load/Store Multiple Volatile instructions.
*/
#define PPC_SUPPORTS_VLE_MULTI TRUE
/**
* @brief Supports the decrementer timer.
*/
#define PPC_SUPPORTS_DECREMENTER FALSE
#endif /* _PPCPARAMS_H_ */
/** @} */

View File

@@ -0,0 +1,86 @@
/*
ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
2011,2012,2013 Giovanni Di Sirio.
This file is part of ChibiOS/RT.
ChibiOS/RT is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
ChibiOS/RT 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
---
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes ChibiOS/RT, without being obliged to provide
the source code for any proprietary components. See the file exception.txt
for full details of how and when the exception can be applied.
*/
/**
* @file SPC560Bxx/vectors.h
* @brief ISR vector module header.
*
* @addtogroup PPC_CORE
* @{
*/
#ifndef _VECTORS_H_
#define _VECTORS_H_
/*===========================================================================*/
/* Module constants. */
/*===========================================================================*/
/**
* @brief Number of ISR vectors available.
*/
#define VECTORS_NUMBER 234
/*===========================================================================*/
/* Module pre-compile time settings. */
/*===========================================================================*/
/*===========================================================================*/
/* Derived constants and error checks. */
/*===========================================================================*/
/*===========================================================================*/
/* Module data structures and types. */
/*===========================================================================*/
/*===========================================================================*/
/* Module macros. */
/*===========================================================================*/
/*===========================================================================*/
/* External declarations. */
/*===========================================================================*/
#if !defined(_FROM_ASM_)
#if !defined(__DOXYGEN__)
extern uint32_t _vectors[VECTORS_NUMBER];
#endif
#ifdef __cplusplus
extern "C" {
#endif
void _unhandled_irq(void);
#ifdef __cplusplus
}
#endif
#endif /* !defined(_FROM_ASM_) */
#endif /* _OSAL_H_ */
/** @} */

View File

@@ -0,0 +1,411 @@
/*
ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
2011,2012,2013 Giovanni Di Sirio.
This file is part of ChibiOS/RT.
ChibiOS/RT is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
ChibiOS/RT 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
---
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes ChibiOS/RT, without being obliged to provide
the source code for any proprietary components. See the file exception.txt
for full details of how and when the exception can be applied.
*/
/**
* @file SPC560Bxx/vectors.s
* @brief SPC560Bxx vectors table.
*
* @addtogroup PPC_CORE
* @{
*/
#if !defined(__DOXYGEN__)
/* Software vectors table. The vectors are accessed from the IVOR4
handler only. In order to declare an interrupt handler just create
a function withe the same name of a vector, the symbol will
override the weak symbol declared here.*/
.section .vectors, "ax"
.align 4
.globl _vectors
_vectors:
.long vector0, vector1, vector2, vector3
.long vector4, vector5, vector6, vector7
.long vector8, vector9, vector10, vector11
.long vector12, vector13, vector14, vector15
.long vector16, vector17, vector18, vector19
.long vector20, vector21, vector22, vector23
.long vector24, vector25, vector26, vector27
.long vector28, vector29, vector30, vector31
.long vector32, vector33, vector34, vector35
.long vector36, vector37, vector38, vector39
.long vector40, vector41, vector42, vector43
.long vector44, vector45, vector46, vector47
.long vector48, vector49, vector50, vector51
.long vector52, vector53, vector54, vector55
.long vector56, vector57, vector58, vector59
.long vector60, vector61, vector62, vector63
.long vector64, vector65, vector66, vector67
.long vector68, vector69, vector70, vector71
.long vector72, vector73, vector74, vector75
.long vector76, vector77, vector78, vector79
.long vector80, vector81, vector82, vector83
.long vector84, vector85, vector86, vector87
.long vector88, vector89, vector90, vector91
.long vector92, vector93, vector94, vector95
.long vector96, vector97, vector98, vector99
.long vector100, vector101, vector102, vector103
.long vector104, vector105, vector106, vector107
.long vector108, vector109, vector110, vector111
.long vector112, vector113, vector114, vector115
.long vector116, vector117, vector118, vector119
.long vector120, vector121, vector122, vector123
.long vector124, vector125, vector126, vector127
.long vector128, vector129, vector130, vector131
.long vector132, vector133, vector134, vector135
.long vector136, vector137, vector138, vector139
.long vector140, vector141, vector142, vector143
.long vector144, vector145, vector146, vector147
.long vector148, vector149, vector150, vector151
.long vector152, vector153, vector154, vector155
.long vector156, vector157, vector158, vector159
.long vector160, vector161, vector162, vector163
.long vector164, vector165, vector166, vector167
.long vector168, vector169, vector170, vector171
.long vector172, vector173, vector174, vector175
.long vector176, vector177, vector178, vector179
.long vector180, vector181, vector182, vector183
.long vector184, vector185, vector186, vector187
.long vector188, vector189, vector190, vector191
.long vector192, vector193, vector194, vector195
.long vector196, vector197, vector198, vector199
.long vector200, vector201, vector202, vector203
.long vector204, vector205, vector206, vector207
.long vector208, vector209, vector210, vector211
.long vector212, vector213, vector214, vector215
.long vector216, vector217, vector218, vector219
.long vector220, vector221, vector222, vector223
.long vector224, vector225, vector226, vector227
.long vector228, vector229, vector230, vector231
.long vector232, vector233
.text
.align 2
.weak vector0, vector1, vector2, vector3
.weak vector4, vector5, vector6, vector7
.weak vector8, vector9, vector10, vector11
.weak vector12, vector13, vector14, vector15
.weak vector16, vector17, vector18, vector19
.weak vector20, vector21, vector22, vector23
.weak vector24, vector25, vector26, vector27
.weak vector28, vector29, vector30, vector31
.weak vector32, vector33, vector34, vector35
.weak vector36, vector37, vector38, vector39
.weak vector40, vector41, vector42, vector43
.weak vector44, vector45, vector46, vector47
.weak vector48, vector49, vector50, vector51
.weak vector52, vector53, vector54, vector55
.weak vector56, vector57, vector58, vector59
.weak vector60, vector61, vector62, vector63
.weak vector64, vector65, vector66, vector67
.weak vector68, vector69, vector70, vector71
.weak vector72, vector73, vector74, vector75
.weak vector76, vector77, vector78, vector79
.weak vector80, vector81, vector82, vector83
.weak vector84, vector85, vector86, vector87
.weak vector88, vector89, vector90, vector91
.weak vector92, vector93, vector94, vector95
.weak vector96, vector97, vector98, vector99
.weak vector100, vector101, vector102, vector103
.weak vector104, vector105, vector106, vector107
.weak vector108, vector109, vector110, vector111
.weak vector112, vector113, vector114, vector115
.weak vector116, vector117, vector118, vector119
.weak vector120, vector121, vector122, vector123
.weak vector124, vector125, vector126, vector127
.weak vector128, vector129, vector130, vector131
.weak vector132, vector133, vector134, vector135
.weak vector136, vector137, vector138, vector139
.weak vector140, vector141, vector142, vector143
.weak vector144, vector145, vector146, vector147
.weak vector148, vector149, vector150, vector151
.weak vector152, vector153, vector154, vector155
.weak vector156, vector157, vector158, vector159
.weak vector160, vector161, vector162, vector163
.weak vector164, vector165, vector166, vector167
.weak vector168, vector169, vector170, vector171
.weak vector172, vector173, vector174, vector175
.weak vector176, vector177, vector178, vector179
.weak vector180, vector181, vector182, vector183
.weak vector184, vector185, vector186, vector187
.weak vector188, vector189, vector190, vector191
.weak vector192, vector193, vector194, vector195
.weak vector196, vector197, vector198, vector199
.weak vector200, vector201, vector202, vector203
.weak vector204, vector205, vector206, vector207
.weak vector208, vector209, vector210, vector211
.weak vector212, vector213, vector214, vector215
.weak vector216, vector217, vector218, vector219
.weak vector220, vector221, vector222, vector223
.weak vector224, vector225, vector226, vector227
.weak vector228, vector229, vector230, vector231
.weak vector232, vector233
vector0:
vector1:
vector2:
vector3:
vector4:
vector5:
vector6:
vector7:
vector8:
vector9:
vector10:
vector11:
vector12:
vector13:
vector14:
vector15:
vector16:
vector17:
vector18:
vector19:
vector20:
vector21:
vector22:
vector23:
vector24:
vector25:
vector26:
vector27:
vector28:
vector29:
vector30:
vector31:
vector32:
vector33:
vector34:
vector35:
vector36:
vector37:
vector38:
vector39:
vector40:
vector41:
vector42:
vector43:
vector44:
vector45:
vector46:
vector47:
vector48:
vector49:
vector50:
vector51:
vector52:
vector53:
vector54:
vector55:
vector56:
vector57:
vector58:
vector59:
vector60:
vector61:
vector62:
vector63:
vector64:
vector65:
vector66:
vector67:
vector68:
vector69:
vector70:
vector71:
vector72:
vector73:
vector74:
vector75:
vector76:
vector77:
vector78:
vector79:
vector80:
vector81:
vector82:
vector83:
vector84:
vector85:
vector86:
vector87:
vector88:
vector89:
vector90:
vector91:
vector92:
vector93:
vector94:
vector95:
vector96:
vector97:
vector98:
vector99:
vector100:
vector101:
vector102:
vector103:
vector104:
vector105:
vector106:
vector107:
vector108:
vector109:
vector110:
vector111:
vector112:
vector113:
vector114:
vector115:
vector116:
vector117:
vector118:
vector119:
vector120:
vector121:
vector122:
vector123:
vector124:
vector125:
vector126:
vector127:
vector128:
vector129:
vector130:
vector131:
vector132:
vector133:
vector134:
vector135:
vector136:
vector137:
vector138:
vector139:
vector140:
vector141:
vector142:
vector143:
vector144:
vector145:
vector146:
vector147:
vector148:
vector149:
vector150:
vector151:
vector152:
vector153:
vector154:
vector155:
vector156:
vector157:
vector158:
vector159:
vector160:
vector161:
vector162:
vector163:
vector164:
vector165:
vector166:
vector167:
vector168:
vector169:
vector170:
vector171:
vector172:
vector173:
vector174:
vector175:
vector176:
vector177:
vector178:
vector179:
vector180:
vector181:
vector182:
vector183:
vector184:
vector185:
vector186:
vector187:
vector188:
vector189:
vector190:
vector191:
vector192:
vector193:
vector194:
vector195:
vector196:
vector197:
vector198:
vector199:
vector200:
vector201:
vector202:
vector203:
vector204:
vector205:
vector206:
vector207:
vector208:
vector209:
vector210:
vector211:
vector212:
vector213:
vector214:
vector215:
vector216:
vector217:
vector218:
vector219:
vector220:
vector221:
vector222:
vector223:
vector224:
vector225:
vector226:
vector227:
vector228:
vector229:
vector230:
vector231:
vector232:
vector233:
.weak _unhandled_irq
.type _unhandled_irq, @function
_unhandled_irq:
b _unhandled_irq
#endif /* !defined(__DOXYGEN__) */
/** @} */