diff --git a/demos/ARMCM3-STM32F407-DISCOVERY/iar/ch.ewp b/demos/ARMCM3-STM32F407-DISCOVERY/iar/ch.ewp
new file mode 100644
index 000000000..cf9763bbe
--- /dev/null
+++ b/demos/ARMCM3-STM32F407-DISCOVERY/iar/ch.ewp
@@ -0,0 +1,2256 @@
+
+
+
+ 2
+
+ Debug
+
+ ARM
+
+ 1
+
+ General
+ 3
+
+ 21
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ICCARM
+ 2
+
+ 28
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AARM
+ 2
+
+ 8
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OBJCOPY
+ 0
+
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+
+
+
+
+ ILINK
+ 0
+
+ 13
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IARCHIVE
+ 0
+
+ 0
+ 1
+ 1
+
+
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ Release
+
+ ARM
+
+ 0
+
+ General
+ 3
+
+ 21
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ICCARM
+ 2
+
+ 28
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AARM
+ 2
+
+ 8
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OBJCOPY
+ 0
+
+ 1
+ 1
+ 0
+
+
+
+
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+
+
+
+
+ ILINK
+ 0
+
+ 13
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IARCHIVE
+ 0
+
+ 0
+ 1
+ 0
+
+
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ board
+
+ $PROJ_DIR$\..\..\..\boards\ST_STM32F4_DISCOVERY\board.c
+
+
+ $PROJ_DIR$\..\..\..\boards\ST_STM32F4_DISCOVERY\board.h
+
+
+
+ os
+
+ hal
+
+ include
+
+ $PROJ_DIR$\..\..\..\os\hal\include\adc.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\include\can.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\include\ext.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\include\gpt.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\include\hal.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\include\i2c.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\include\icu.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\include\mac.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\include\mii.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\include\mmc_spi.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\include\pal.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\include\pwm.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\include\rtc.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\include\sdc.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\include\serial.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\include\serial_usb.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\include\spi.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\include\uart.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\include\usb.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\include\usb_cdc.h
+
+
+
+ src
+
+ $PROJ_DIR$\..\..\..\os\hal\src\adc.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\src\can.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\src\ext.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\src\gpt.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\src\hal.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\src\i2c.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\src\icu.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\src\mac.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\src\mmc_spi.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\src\pal.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\src\pwm.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\src\rtc.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\src\sdc.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\src\serial.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\src\serial_usb.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\src\spi.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\src\uart.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\src\usb.c
+
+
+
+
+ kernel
+
+ include
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\ch.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chcond.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chdebug.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chdynamic.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chevents.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chheap.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chinline.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chioch.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chlists.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chmboxes.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chmemcore.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chmempools.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chmsg.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chmtx.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chqueues.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chregistry.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chschd.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chsem.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chstreams.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chsys.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chthreads.h
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\include\chvt.h
+
+
+
+ src
+
+ $PROJ_DIR$\..\..\..\os\kernel\src\chcond.c
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\src\chdebug.c
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\src\chdynamic.c
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\src\chevents.c
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\src\chheap.c
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\src\chlists.c
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\src\chmboxes.c
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\src\chmemcore.c
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\src\chmempools.c
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\src\chmsg.c
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\src\chmtx.c
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\src\chqueues.c
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\src\chregistry.c
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\src\chschd.c
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\src\chsem.c
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\src\chsys.c
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\src\chthreads.c
+
+
+ $PROJ_DIR$\..\..\..\os\kernel\src\chvt.c
+
+
+
+
+ platform
+
+ $PROJ_DIR$\..\..\..\os\hal\platforms\STM32F4xx\hal_lld.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\platforms\STM32F4xx\hal_lld.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\platforms\STM32\GPIOv2\pal_lld.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\platforms\STM32\GPIOv2\pal_lld.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\platforms\STM32\pwm_lld.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\platforms\STM32\pwm_lld.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\platforms\STM32\serial_lld.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\platforms\STM32\serial_lld.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\platforms\STM32\spi_lld.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\platforms\STM32\spi_lld.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\platforms\STM32F4xx\stm32_dma.c
+
+
+ $PROJ_DIR$\..\..\..\os\hal\platforms\STM32F4xx\stm32_dma.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\platforms\STM32F4xx\stm32_rcc.h
+
+
+ $PROJ_DIR$\..\..\..\os\hal\platforms\STM32F4xx\stm32f4xx.h
+
+
+
+ port
+
+ STM32F4xx
+
+ $PROJ_DIR$\..\..\..\os\ports\IAR\ARMCMx\STM32F4xx\cmparams.h
+
+
+ $PROJ_DIR$\..\..\..\os\ports\IAR\ARMCMx\STM32F4xx\vectors.s
+
+
+
+ $PROJ_DIR$\..\..\..\os\ports\IAR\ARMCMx\chcore.c
+
+
+ $PROJ_DIR$\..\..\..\os\ports\IAR\ARMCMx\chcore.h
+
+
+ $PROJ_DIR$\..\..\..\os\ports\IAR\ARMCMx\chcore_v7m.c
+
+
+ $PROJ_DIR$\..\..\..\os\ports\IAR\ARMCMx\chcore_v7m.h
+
+
+ $PROJ_DIR$\..\..\..\os\ports\IAR\ARMCMx\chcoreasm_v7m.s
+
+
+ $PROJ_DIR$\..\..\..\os\ports\IAR\ARMCMx\chtypes.h
+
+
+ $PROJ_DIR$\..\..\..\os\ports\IAR\ARMCMx\cstartup.s
+
+
+ $PROJ_DIR$\..\..\..\os\ports\IAR\ARMCMx\nvic.c
+
+
+ $PROJ_DIR$\..\..\..\os\ports\IAR\ARMCMx\nvic.h
+
+
+
+
+ test
+
+ $PROJ_DIR$\..\..\..\test\test.c
+
+
+ $PROJ_DIR$\..\..\..\test\test.h
+
+
+ $PROJ_DIR$\..\..\..\test\testbmk.c
+
+
+ $PROJ_DIR$\..\..\..\test\testbmk.h
+
+
+ $PROJ_DIR$\..\..\..\test\testdyn.c
+
+
+ $PROJ_DIR$\..\..\..\test\testdyn.h
+
+
+ $PROJ_DIR$\..\..\..\test\testevt.c
+
+
+ $PROJ_DIR$\..\..\..\test\testevt.h
+
+
+ $PROJ_DIR$\..\..\..\test\testheap.c
+
+
+ $PROJ_DIR$\..\..\..\test\testheap.h
+
+
+ $PROJ_DIR$\..\..\..\test\testmbox.c
+
+
+ $PROJ_DIR$\..\..\..\test\testmbox.h
+
+
+ $PROJ_DIR$\..\..\..\test\testmsg.c
+
+
+ $PROJ_DIR$\..\..\..\test\testmsg.h
+
+
+ $PROJ_DIR$\..\..\..\test\testmtx.c
+
+
+ $PROJ_DIR$\..\..\..\test\testmtx.h
+
+
+ $PROJ_DIR$\..\..\..\test\testpools.c
+
+
+ $PROJ_DIR$\..\..\..\test\testpools.h
+
+
+ $PROJ_DIR$\..\..\..\test\testqueues.c
+
+
+ $PROJ_DIR$\..\..\..\test\testqueues.h
+
+
+ $PROJ_DIR$\..\..\..\test\testsem.c
+
+
+ $PROJ_DIR$\..\..\..\test\testsem.h
+
+
+ $PROJ_DIR$\..\..\..\test\testthd.c
+
+
+ $PROJ_DIR$\..\..\..\test\testthd.h
+
+
+
+ $PROJ_DIR$\..\chconf.h
+
+
+ $PROJ_DIR$\..\halconf.h
+
+
+ $PROJ_DIR$\..\main.c
+
+
+ $PROJ_DIR$\..\mcuconf.h
+
+
+
+
diff --git a/demos/ARMCM3-STM32F407-DISCOVERY/iar/ch.eww b/demos/ARMCM3-STM32F407-DISCOVERY/iar/ch.eww
new file mode 100644
index 000000000..f9b3b2000
--- /dev/null
+++ b/demos/ARMCM3-STM32F407-DISCOVERY/iar/ch.eww
@@ -0,0 +1,10 @@
+
+
+
+
+ $WS_DIR$\ch.ewp
+
+
+
+
+
diff --git a/demos/ARMCM3-STM32F407-DISCOVERY/iar/ch.icf b/demos/ARMCM3-STM32F407-DISCOVERY/iar/ch.icf
new file mode 100644
index 000000000..c0a51f44c
--- /dev/null
+++ b/demos/ARMCM3-STM32F407-DISCOVERY/iar/ch.icf
@@ -0,0 +1,39 @@
+/*###ICF### Section handled by ICF editor, don't touch! ****/
+/*-Editor annotation file-*/
+/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
+/*-Specials-*/
+define symbol __ICFEDIT_intvec_start__ = 0x08000000;
+/*-Memory Regions-*/
+define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
+define symbol __ICFEDIT_region_ROM_end__ = 0x0801FFFF;
+define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
+define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF;
+/*-Sizes-*/
+define symbol __ICFEDIT_size_cstack__ = 0x400;
+define symbol __ICFEDIT_size_heap__ = 0x400;
+/**** End of ICF editor section. ###ICF###*/
+
+/* Size of the IRQ Stack (Main Stack).*/
+define symbol __ICFEDIT_size_irqstack__ = 0x400;
+
+define memory mem with size = 4G;
+define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
+define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
+
+define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ {section CSTACK};
+define block IRQSTACK with alignment = 8, size = __ICFEDIT_size_irqstack__ {};
+define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ {};
+define block SYSHEAP with alignment = 8 {section SYSHEAP};
+define block DATABSS with alignment = 8 {readwrite, zeroinit};
+
+initialize by copy { readwrite };
+do not initialize { section .noinit };
+
+keep { section .intvec };
+
+place at address mem:__ICFEDIT_intvec_start__ {section .intvec};
+place in ROM_region {readonly};
+place at start of RAM_region {block IRQSTACK};
+place in RAM_region {block DATABSS, block HEAP};
+place in RAM_region {block SYSHEAP};
+place at end of RAM_region {block CSTACK};
diff --git a/os/ports/IAR/ARMCMx/STM32F4xx/cmparams.h b/os/ports/IAR/ARMCMx/STM32F4xx/cmparams.h
new file mode 100644
index 000000000..733c952d5
--- /dev/null
+++ b/os/ports/IAR/ARMCMx/STM32F4xx/cmparams.h
@@ -0,0 +1,57 @@
+/*
+ ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
+ 2011 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 .
+*/
+
+/**
+ * @file IAR/ARMCMx/STM32F4xx/cmparams.h
+ * @brief ARM Cortex-M3 parameters for the STM32F4xx.
+ *
+ * @defgroup IAR_ARMCMx_STM32F4xx STM32F4xx Specific Parameters
+ * @ingroup IAR_ARMCMx_SPECIFIC
+ * @details This file contains the Cortex-M3 specific parameters for the
+ * STM32F4xx platform.
+ * @{
+ */
+
+#ifndef _CMPARAMS_H_
+#define _CMPARAMS_H_
+
+/**
+ * @brief Cortex core model.
+ */
+#define CORTEX_MODEL CORTEX_M3
+
+/**
+ * @brief Systick unit presence.
+ */
+#define CORTEX_HAS_ST TRUE
+
+/**
+ * @brief Memory Protection unit presence.
+ */
+#define CORTEX_HAS_MPU TRUE
+
+/**
+ * @brief Number of bits in priority masks.
+ */
+#define CORTEX_PRIORITY_BITS 4
+
+#endif /* _CMPARAMS_H_ */
+
+/** @} */
diff --git a/os/ports/IAR/ARMCMx/STM32F4xx/vectors.s b/os/ports/IAR/ARMCMx/STM32F4xx/vectors.s
new file mode 100644
index 000000000..a24773b42
--- /dev/null
+++ b/os/ports/IAR/ARMCMx/STM32F4xx/vectors.s
@@ -0,0 +1,337 @@
+/*
+ ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
+ 2011 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 .
+*/
+
+ MODULE ?vectors
+
+ AAPCS INTERWORK, VFP_COMPATIBLE, RWPI_COMPATIBLE
+ PRESERVE8
+
+ SECTION IRQSTACK:DATA:NOROOT(3)
+ SECTION .intvec:CODE:NOROOT(3)
+
+ EXTERN __iar_program_start
+ PUBLIC __vector_table
+
+ DATA
+
+__vector_table:
+ DCD SFE(IRQSTACK)
+ DCD __iar_program_start
+ DCD NMIVector
+ DCD HardFaultVector
+ DCD MemManageVector
+ DCD BusFaultVector
+ DCD UsageFaultVector
+ DCD Vector1C
+ DCD Vector20
+ DCD Vector24
+ DCD Vector28
+ DCD SVCallVector
+ DCD DebugMonitorVector
+ DCD Vector34
+ DCD PendSVVector
+ DCD SysTickVector
+ DCD Vector40
+ DCD Vector44
+ DCD Vector48
+ DCD Vector4C
+ DCD Vector50
+ DCD Vector54
+ DCD Vector58
+ DCD Vector5C
+ DCD Vector60
+ DCD Vector64
+ DCD Vector68
+ DCD Vector6C
+ DCD Vector70
+ DCD Vector74
+ DCD Vector78
+ DCD Vector7C
+ DCD Vector80
+ DCD Vector84
+ DCD Vector88
+ DCD Vector8C
+ DCD Vector90
+ DCD Vector94
+ DCD Vector98
+ DCD Vector9C
+ DCD VectorA0
+ DCD VectorA4
+ DCD VectorA8
+ DCD VectorAC
+ DCD VectorB0
+ DCD VectorB4
+ DCD VectorB8
+ DCD VectorBC
+ DCD VectorC0
+ DCD VectorC4
+ DCD VectorC8
+ DCD VectorCC
+ DCD VectorD0
+ DCD VectorD4
+ DCD VectorD8
+ DCD VectorDC
+ DCD VectorE0
+ DCD VectorE4
+ DCD VectorE8
+ DCD VectorEC
+ DCD VectorF0
+ DCD VectorF4
+ DCD VectorF8
+ DCD VectorFC
+ DCD Vector100
+ DCD Vector104
+ DCD Vector108
+ DCD Vector10C
+ DCD Vector110
+ DCD Vector114
+ DCD Vector118
+ DCD Vector11C
+ DCD Vector120
+ DCD Vector124
+ DCD Vector128
+ DCD Vector12C
+ DCD Vector130
+ DCD Vector134
+ DCD Vector138
+ DCD Vector13C
+ DCD Vector140
+ DCD Vector144
+ DCD Vector148
+ DCD Vector14C
+ DCD Vector150
+ DCD Vector154
+ DCD Vector158
+ DCD Vector15C
+ DCD Vector160
+ DCD Vector164
+ DCD Vector168
+ DCD Vector16C
+ DCD Vector170
+ DCD Vector174
+ DCD Vector178
+ DCD Vector17C
+ DCD Vector180
+ DCD Vector184
+
+/*
+ * Default interrupt handlers.
+ */
+ PUBWEAK NMIVector
+ PUBWEAK HardFaultVector
+ PUBWEAK MemManageVector
+ PUBWEAK BusFaultVector
+ PUBWEAK UsageFaultVector
+ PUBWEAK Vector1C
+ PUBWEAK Vector20
+ PUBWEAK Vector24
+ PUBWEAK Vector28
+ PUBWEAK SVCallVector
+ PUBWEAK DebugMonitorVector
+ PUBWEAK Vector34
+ PUBWEAK PendSVVector
+ PUBWEAK SysTickVector
+ PUBWEAK Vector40
+ PUBWEAK Vector44
+ PUBWEAK Vector48
+ PUBWEAK Vector4C
+ PUBWEAK Vector50
+ PUBWEAK Vector54
+ PUBWEAK Vector58
+ PUBWEAK Vector5C
+ PUBWEAK Vector60
+ PUBWEAK Vector64
+ PUBWEAK Vector68
+ PUBWEAK Vector6C
+ PUBWEAK Vector70
+ PUBWEAK Vector74
+ PUBWEAK Vector78
+ PUBWEAK Vector7C
+ PUBWEAK Vector80
+ PUBWEAK Vector84
+ PUBWEAK Vector88
+ PUBWEAK Vector8C
+ PUBWEAK Vector90
+ PUBWEAK Vector94
+ PUBWEAK Vector98
+ PUBWEAK Vector9C
+ PUBWEAK VectorA0
+ PUBWEAK VectorA4
+ PUBWEAK VectorA8
+ PUBWEAK VectorAC
+ PUBWEAK VectorB0
+ PUBWEAK VectorB4
+ PUBWEAK VectorB8
+ PUBWEAK VectorBC
+ PUBWEAK VectorC0
+ PUBWEAK VectorC4
+ PUBWEAK VectorC8
+ PUBWEAK VectorCC
+ PUBWEAK VectorD0
+ PUBWEAK VectorD4
+ PUBWEAK VectorD8
+ PUBWEAK VectorDC
+ PUBWEAK VectorE0
+ PUBWEAK VectorE4
+ PUBWEAK VectorE8
+ PUBWEAK VectorEC
+ PUBWEAK VectorF0
+ PUBWEAK VectorF4
+ PUBWEAK VectorF8
+ PUBWEAK VectorFC
+ PUBWEAK Vector100
+ PUBWEAK Vector104
+ PUBWEAK Vector108
+ PUBWEAK Vector10C
+ PUBWEAK Vector110
+ PUBWEAK Vector114
+ PUBWEAK Vector118
+ PUBWEAK Vector11C
+ PUBWEAK Vector120
+ PUBWEAK Vector124
+ PUBWEAK Vector128
+ PUBWEAK Vector12C
+ PUBWEAK Vector130
+ PUBWEAK Vector134
+ PUBWEAK Vector138
+ PUBWEAK Vector13C
+ PUBWEAK Vector140
+ PUBWEAK Vector144
+ PUBWEAK Vector148
+ PUBWEAK Vector14C
+ PUBWEAK Vector150
+ PUBWEAK Vector154
+ PUBWEAK Vector158
+ PUBWEAK Vector15C
+ PUBWEAK Vector160
+ PUBWEAK Vector164
+ PUBWEAK Vector168
+ PUBWEAK Vector16C
+ PUBWEAK Vector170
+ PUBWEAK Vector174
+ PUBWEAK Vector178
+ PUBWEAK Vector17C
+ PUBWEAK Vector180
+ PUBWEAK Vector184
+ PUBLIC _unhandled_exception
+
+ SECTION .text:CODE:REORDER(1)
+ THUMB
+
+NMIVector
+HardFaultVector
+MemManageVector
+BusFaultVector
+UsageFaultVector
+Vector1C
+Vector20
+Vector24
+Vector28
+SVCallVector
+DebugMonitorVector
+Vector34
+PendSVVector
+SysTickVector
+Vector40
+Vector44
+Vector48
+Vector4C
+Vector50
+Vector54
+Vector58
+Vector5C
+Vector60
+Vector64
+Vector68
+Vector6C
+Vector70
+Vector74
+Vector78
+Vector7C
+Vector80
+Vector84
+Vector88
+Vector8C
+Vector90
+Vector94
+Vector98
+Vector9C
+VectorA0
+VectorA4
+VectorA8
+VectorAC
+VectorB0
+VectorB4
+VectorB8
+VectorBC
+VectorC0
+VectorC4
+VectorC8
+VectorCC
+VectorD0
+VectorD4
+VectorD8
+VectorDC
+VectorE0
+VectorE4
+VectorE8
+VectorEC
+VectorF0
+VectorF4
+VectorF8
+VectorFC
+Vector100
+Vector104
+Vector108
+Vector10C
+Vector110
+Vector114
+Vector118
+Vector11C
+Vector120
+Vector124
+Vector128
+Vector12C
+Vector130
+Vector134
+Vector138
+Vector13C
+Vector140
+Vector144
+Vector148
+Vector14C
+Vector150
+Vector154
+Vector158
+Vector15C
+Vector160
+Vector164
+Vector168
+Vector16C
+Vector170
+Vector174
+Vector178
+Vector17C
+Vector180
+Vector184
+_unhandled_exception
+ b _unhandled_exception
+
+ END