diff --git a/ARM.CMSIS.pdsc b/ARM.CMSIS.pdsc
index e560721..f03301b 100644
--- a/ARM.CMSIS.pdsc
+++ b/ARM.CMSIS.pdsc
@@ -11,17 +11,20 @@
     <release version="5.7.0-dev0">
       Active development...
       CMSIS-Core(M): 5.4.0 (see revision history for details)
-       - Enhanced MVE support for Armv8.1-MML
+         - Enhanced MVE support for Armv8.1-MML
       CMSIS-RTOS2:
         - RTX 5.5.2 (see revision history for details)
-	  CMSIS-Pack: 
-	    - added custom attribute to components that require custom implementation
+      CMSIS-Pack: 
+        - added custom attribute to components that require custom implementation
+      Devices:
+        - ARMv81MML startup code recognizing __MVE_USED macro
+        - Refactored vector table references for all Cortex-M devices
     </release>
     <release version="5.6.0" date="2019-07-10">
       CMSIS-Core(M): 5.3.0 (see revision history for details)
-       - Added provisions for compiler-independent C startup code.
+        - Added provisions for compiler-independent C startup code.
       CMSIS-Core(A): 1.1.4 (see revision history for details)
-       - Fixed __FPU_Enable.
+        - Fixed __FPU_Enable.
       CMSIS-DSP: 1.7.0 (see revision history for details)
         - New Neon versions of f32 functions
         - Python wrapper
@@ -38,9 +41,9 @@
       CMSIS-Driver: 2.7.1
         - WiFi Interface API 1.0.0
       Devices:
-       - Generalized C startup code for all Cortex-M familiy devices.
-       - Updated Cortex-A default memory regions and MMU configurations
-       - Moved Cortex-A memory and system config files to avoid include path issues
+        - Generalized C startup code for all Cortex-M familiy devices.
+        - Updated Cortex-A default memory regions and MMU configurations
+        - Moved Cortex-A memory and system config files to avoid include path issues
     </release>
     <release version="5.5.1" date="2019-03-20">
       The following folders are deprecated
@@ -2428,20 +2431,20 @@
 
     <!-- CMSIS-Startup components -->
     <!-- Cortex-M0 -->
-    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.1" condition="ARMCM0 CMSIS">
+    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.2" condition="ARMCM0 CMSIS">
       <description>System and Startup for Generic Arm Cortex-M0 device</description>
       <files>
         <!-- include folder / device header file -->
         <file category="header"  name="Device/ARM/ARMCM0/Include/ARMCM0.h"/>
         <!-- startup / system file -->
-        <file category="sourceC"      name="Device/ARM/ARMCM0/Source/startup_ARMCM0.c"     version="2.0.1" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM0/Source/startup_ARMCM0.c"     version="2.0.2" attr="config"/>
         <file category="linkerScript" name="Device/ARM/ARMCM0/Source/ARM/ARMCM0_ac5.sct"   version="1.0.0" attr="config" condition="ARMCC5"/>
         <file category="linkerScript" name="Device/ARM/ARMCM0/Source/ARM/ARMCM0_ac6.sct"   version="1.0.0" attr="config" condition="ARMCC6"/>
         <file category="linkerScript" name="Device/ARM/ARMCM0/Source/GCC/gcc_arm.ld"       version="2.0.0" attr="config" condition="GCC"/>
         <file category="sourceC"      name="Device/ARM/ARMCM0/Source/system_ARMCM0.c"      version="1.0.0" attr="config"/>
       </files>
     </component>
-    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.1" condition="ARMCM0 CMSIS">
+    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.2" condition="ARMCM0 CMSIS">
       <description>DEPRECATED: System and Startup for Generic Arm Cortex-M0 device</description>
       <files>
         <!-- include folder / device header file -->
@@ -2456,20 +2459,20 @@
     </component>
 
     <!-- Cortex-M0+ -->
-    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.1" condition="ARMCM0+ CMSIS">
+    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.2" condition="ARMCM0+ CMSIS">
       <description>System and Startup for Generic Arm Cortex-M0+ device</description>
       <files>
         <!-- include folder / device header file -->
         <file category="header"  name="Device/ARM/ARMCM0plus/Include/ARMCM0plus.h"/>
         <!-- startup / system file -->
-        <file category="sourceC"      name="Device/ARM/ARMCM0plus/Source/startup_ARMCM0plus.c"     version="2.0.1" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM0plus/Source/startup_ARMCM0plus.c"     version="2.0.2" attr="config"/>
         <file category="linkerScript" name="Device/ARM/ARMCM0plus/Source/ARM/ARMCM0plus_ac5.sct"   version="1.0.0" attr="config" condition="ARMCC5"/>
         <file category="linkerScript" name="Device/ARM/ARMCM0plus/Source/ARM/ARMCM0plus_ac6.sct"   version="1.0.0" attr="config" condition="ARMCC6"/>
         <file category="linkerScript" name="Device/ARM/ARMCM0plus/Source/GCC/gcc_arm.ld"           version="2.0.0" attr="config" condition="GCC"/>
         <file category="sourceC"      name="Device/ARM/ARMCM0plus/Source/system_ARMCM0plus.c"      version="1.0.0" attr="config"/>
       </files>
     </component>
-    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.1" condition="ARMCM0+ CMSIS">
+    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.2" condition="ARMCM0+ CMSIS">
       <description>DEPRECATED: System and Startup for Generic Arm Cortex-M0+ device</description>
       <files>
         <!-- include folder / device header file -->
@@ -2484,20 +2487,20 @@
     </component>
 
     <!-- Cortex-M1 -->
-    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.1" condition="ARMCM1 CMSIS">
+    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.2" condition="ARMCM1 CMSIS">
       <description>System and Startup for Generic Arm Cortex-M1 device</description>
       <files>
         <!-- include folder / device header file -->
         <file category="header"  name="Device/ARM/ARMCM1/Include/ARMCM1.h"/>
         <!-- startup / system file -->
-        <file category="sourceC"      name="Device/ARM/ARMCM1/Source/startup_ARMCM1.c"     version="2.0.1" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM1/Source/startup_ARMCM1.c"     version="2.0.2" attr="config"/>
         <file category="linkerScript" name="Device/ARM/ARMCM1/Source/ARM/ARMCM1_ac5.sct"   version="1.0.0" attr="config" condition="ARMCC5"/>
         <file category="linkerScript" name="Device/ARM/ARMCM1/Source/ARM/ARMCM1_ac6.sct"   version="1.0.0" attr="config" condition="ARMCC6"/>
         <file category="linkerScript" name="Device/ARM/ARMCM1/Source/GCC/gcc_arm.ld"       version="2.0.0" attr="config" condition="GCC"/>
         <file category="sourceC"      name="Device/ARM/ARMCM1/Source/system_ARMCM1.c"      version="1.0.0" attr="config"/>
       </files>
     </component>
-    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.1" condition="ARMCM1 CMSIS">
+    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.2" condition="ARMCM1 CMSIS">
       <description>DEPRECATED: System and Startup for Generic Arm Cortex-M1 device</description>
       <files>
         <!-- include folder / device header file -->
@@ -2512,20 +2515,20 @@
     </component>
 
     <!-- Cortex-M3 -->
-    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.1" condition="ARMCM3 CMSIS">
+    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.2" condition="ARMCM3 CMSIS">
       <description>System and Startup for Generic Arm Cortex-M3 device</description>
       <files>
         <!-- include folder / device header file -->
         <file category="header"  name="Device/ARM/ARMCM3/Include/ARMCM3.h"/>
         <!-- startup / system file -->
-        <file category="sourceC"      name="Device/ARM/ARMCM3/Source/startup_ARMCM3.c"     version="2.0.1" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM3/Source/startup_ARMCM3.c"     version="2.0.2" attr="config"/>
         <file category="linkerScript" name="Device/ARM/ARMCM3/Source/ARM/ARMCM3_ac5.sct"   version="1.0.0" attr="config" condition="ARMCC5"/>
         <file category="linkerScript" name="Device/ARM/ARMCM3/Source/ARM/ARMCM3_ac6.sct"   version="1.0.0" attr="config" condition="ARMCC6"/>
         <file category="linkerScript" name="Device/ARM/ARMCM3/Source/GCC/gcc_arm.ld"       version="2.0.0" attr="config" condition="GCC"/>
-        <file category="sourceC"      name="Device/ARM/ARMCM3/Source/system_ARMCM3.c"      version="1.0.0" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM3/Source/system_ARMCM3.c"      version="1.0.1" attr="config"/>
       </files>
     </component>
-    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.1" condition="ARMCM3 CMSIS">
+    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.2" condition="ARMCM3 CMSIS">
       <description>DEPRECATED: System and Startup for Generic Arm Cortex-M3 device</description>
       <files>
         <!-- include folder / device header file -->
@@ -2535,25 +2538,25 @@
         <file category="sourceAsm"    name="Device/ARM/ARMCM3/Source/GCC/startup_ARMCM3.S" version="2.0.1" attr="config" condition="GCC"/>
         <file category="linkerScript" name="Device/ARM/ARMCM3/Source/GCC/gcc_arm.ld"       version="2.0.0" attr="config" condition="GCC"/>
         <file category="sourceAsm"    name="Device/ARM/ARMCM3/Source/IAR/startup_ARMCM3.s" version="1.0.0" attr="config" condition="IAR"/>
-        <file category="sourceC"      name="Device/ARM/ARMCM3/Source/system_ARMCM3.c"      version="1.0.0" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM3/Source/system_ARMCM3.c"      version="1.0.1" attr="config"/>
       </files>
     </component>
 
     <!-- Cortex-M4 -->
-    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.1" condition="ARMCM4 CMSIS">
+    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.2" condition="ARMCM4 CMSIS">
       <description>System and Startup for Generic Arm Cortex-M4 device</description>
       <files>
         <!-- include folder / device header file -->
         <file category="include" name="Device/ARM/ARMCM4/Include/"/>
         <!-- startup / system file -->
-        <file category="sourceC"      name="Device/ARM/ARMCM4/Source/startup_ARMCM4.c"     version="2.0.1" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM4/Source/startup_ARMCM4.c"     version="2.0.2" attr="config"/>
         <file category="linkerScript" name="Device/ARM/ARMCM4/Source/ARM/ARMCM4_ac5.sct"   version="1.0.0" attr="config" condition="ARMCC5"/>
         <file category="linkerScript" name="Device/ARM/ARMCM4/Source/ARM/ARMCM4_ac6.sct"   version="1.0.0" attr="config" condition="ARMCC6"/>
         <file category="linkerScript" name="Device/ARM/ARMCM4/Source/GCC/gcc_arm.ld"       version="2.0.0" attr="config" condition="GCC"/>
-       <file category="sourceC"       name="Device/ARM/ARMCM4/Source/system_ARMCM4.c"      version="1.0.0" attr="config"/>
+       <file category="sourceC"       name="Device/ARM/ARMCM4/Source/system_ARMCM4.c"      version="1.0.1" attr="config"/>
       </files>
     </component>
-    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.1" condition="ARMCM4 CMSIS">
+    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.2" condition="ARMCM4 CMSIS">
       <description>DEPRECATED: System and Startup for Generic Arm Cortex-M4 device</description>
       <files>
         <!-- include folder / device header file -->
@@ -2563,25 +2566,25 @@
         <file category="sourceAsm"    name="Device/ARM/ARMCM4/Source/GCC/startup_ARMCM4.S" version="2.0.1" attr="config" condition="GCC"/>
         <file category="linkerScript" name="Device/ARM/ARMCM4/Source/GCC/gcc_arm.ld"       version="2.0.0" attr="config" condition="GCC"/>
         <file category="sourceAsm"    name="Device/ARM/ARMCM4/Source/IAR/startup_ARMCM4.s" version="1.0.0" attr="config" condition="IAR"/>
-        <file category="sourceC"      name="Device/ARM/ARMCM4/Source/system_ARMCM4.c"      version="1.0.0" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM4/Source/system_ARMCM4.c"      version="1.0.1" attr="config"/>
       </files>
     </component>
 
     <!-- Cortex-M7 -->
-    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.1" condition="ARMCM7 CMSIS">
+    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.2" condition="ARMCM7 CMSIS">
       <description>System and Startup for Generic Arm Cortex-M7 device</description>
       <files>
         <!-- include folder / device header file -->
         <file category="include"  name="Device/ARM/ARMCM7/Include/"/>
         <!-- startup / system file -->
-        <file category="sourceC"      name="Device/ARM/ARMCM7/Source/startup_ARMCM7.c"     version="2.0.1" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM7/Source/startup_ARMCM7.c"     version="2.0.2" attr="config"/>
         <file category="linkerScript" name="Device/ARM/ARMCM7/Source/ARM/ARMCM7_ac5.sct"   version="1.0.0" attr="config" condition="ARMCC5"/>
         <file category="linkerScript" name="Device/ARM/ARMCM7/Source/ARM/ARMCM7_ac6.sct"   version="1.0.0" attr="config" condition="ARMCC6"/>
         <file category="linkerScript" name="Device/ARM/ARMCM7/Source/GCC/gcc_arm.ld"       version="2.0.0" attr="config" condition="GCC"/>
-        <file category="sourceC"      name="Device/ARM/ARMCM7/Source/system_ARMCM7.c"      version="1.0.0" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM7/Source/system_ARMCM7.c"      version="1.0.1" attr="config"/>
       </files>
     </component>
-    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.1" condition="ARMCM7 CMSIS">
+    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.2" condition="ARMCM7 CMSIS">
       <description>DEPRECATED: System and Startup for Generic Arm Cortex-M7 device</description>
       <files>
         <!-- include folder / device header file -->
@@ -2591,26 +2594,26 @@
         <file category="sourceAsm"    name="Device/ARM/ARMCM7/Source/GCC/startup_ARMCM7.S" version="2.0.1" attr="config" condition="GCC"/>
         <file category="linkerScript" name="Device/ARM/ARMCM7/Source/GCC/gcc_arm.ld"       version="2.0.0" attr="config" condition="GCC"/>
         <file category="sourceAsm"    name="Device/ARM/ARMCM7/Source/IAR/startup_ARMCM7.s" version="1.0.0" attr="config" condition="IAR"/>
-        <file category="sourceC"      name="Device/ARM/ARMCM7/Source/system_ARMCM7.c"      version="1.0.0" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM7/Source/system_ARMCM7.c"      version="1.0.1" attr="config"/>
       </files>
     </component>
 
     <!-- Cortex-M23 -->
-    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.1" condition="ARMCM23 CMSIS">
+    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.2" condition="ARMCM23 CMSIS">
       <description>System and Startup for Generic Arm Cortex-M23 device</description>
       <files>
         <!-- include folder / device header file -->
         <file category="include"  name="Device/ARM/ARMCM23/Include/"/>
         <!-- startup / system file -->
-        <file category="sourceC"      name="Device/ARM/ARMCM23/Source/startup_ARMCM23.c"    version="2.0.1" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM23/Source/startup_ARMCM23.c"    version="2.0.2" attr="config"/>
         <file category="linkerScript" name="Device/ARM/ARMCM23/Source/ARM/ARMCM23_ac6.sct"  version="1.0.0" attr="config" condition="ARMCC6"/>
         <file category="linkerScript" name="Device/ARM/ARMCM23/Source/GCC/gcc_arm.ld"       version="2.0.0" attr="config" condition="GCC"/>
-        <file category="sourceC"      name="Device/ARM/ARMCM23/Source/system_ARMCM23.c"     version="1.0.0" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM23/Source/system_ARMCM23.c"     version="1.0.1" attr="config"/>
         <!-- SAU configuration -->
         <file category="header"       name="Device/ARM/ARMCM23/Include/Template/partition_ARMCM23.h" version="1.0.0" attr="config" condition="ARMv8-M TZ Device"/>
       </files>
     </component>
-    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.1.1" condition="ARMCM23 CMSIS">
+    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.1.2" condition="ARMCM23 CMSIS">
       <description>DEPRECATED: System and Startup for Generic Arm Cortex-M23 device</description>
       <files>
         <!-- include folder / device header file -->
@@ -2620,28 +2623,28 @@
         <file category="sourceAsm"    name="Device/ARM/ARMCM23/Source/GCC/startup_ARMCM23.S" version="2.0.1" attr="config" condition="GCC"/>
         <file category="linkerScript" name="Device/ARM/ARMCM23/Source/GCC/gcc_arm.ld"        version="2.0.0" attr="config" condition="GCC"/>
         <file category="sourceAsm"    name="Device/ARM/ARMCM23/Source/IAR/startup_ARMCM23.s" version="1.0.0" attr="config" condition="IAR"/>
-        <file category="sourceC"      name="Device/ARM/ARMCM23/Source/system_ARMCM23.c"      version="1.0.0" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM23/Source/system_ARMCM23.c"      version="1.0.1" attr="config"/>
         <!-- SAU configuration -->
         <file category="header"       name="Device/ARM/ARMCM23/Include/Template/partition_ARMCM23.h" version="1.0.0" attr="config" condition="ARMv8-M TZ Device"/>
       </files>
     </component>
 
     <!-- Cortex-M33 -->
-    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.1" condition="ARMCM33 CMSIS">
+    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.2" condition="ARMCM33 CMSIS">
       <description>System and Startup for Generic Arm Cortex-M33 device</description>
       <files>
         <!-- include folder / device header file -->
         <file category="include"  name="Device/ARM/ARMCM33/Include/"/>
         <!-- startup / system file -->
-        <file category="sourceC"      name="Device/ARM/ARMCM33/Source/startup_ARMCM33.c"             version="2.0.1" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM33/Source/startup_ARMCM33.c"             version="2.0.2" attr="config"/>
         <file category="linkerScript" name="Device/ARM/ARMCM33/Source/ARM/ARMCM33_ac6.sct"           version="1.0.0" attr="config" condition="ARMCC6"/>
         <file category="linkerScript" name="Device/ARM/ARMCM33/Source/GCC/gcc_arm.ld"                version="2.0.0" attr="config" condition="GCC"/>
-        <file category="sourceC"      name="Device/ARM/ARMCM33/Source/system_ARMCM33.c"              version="1.0.0" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM33/Source/system_ARMCM33.c"              version="1.0.1" attr="config"/>
         <!-- SAU configuration -->
         <file category="header"       name="Device/ARM/ARMCM33/Include/Template/partition_ARMCM33.h" version="1.1.1" attr="config" condition="ARMv8-M TZ Device"/>
       </files>
     </component>
-    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.1" condition="ARMCM33 CMSIS">
+    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.2" condition="ARMCM33 CMSIS">
       <description>DEPRECATED: System and Startup for Generic Arm Cortex-M33 device</description>
       <files>
         <!-- include folder / device header file -->
@@ -2651,28 +2654,28 @@
         <file category="sourceAsm"    name="Device/ARM/ARMCM33/Source/GCC/startup_ARMCM33.S"         version="2.0.1" attr="config" condition="GCC"/>
         <file category="linkerScript" name="Device/ARM/ARMCM33/Source/GCC/gcc_arm.ld"                version="2.0.0" attr="config" condition="GCC"/>
         <file category="sourceAsm"    name="Device/ARM/ARMCM33/Source/IAR/startup_ARMCM33.s"         version="1.0.0" attr="config" condition="IAR"/>
-        <file category="sourceC"      name="Device/ARM/ARMCM33/Source/system_ARMCM33.c"              version="1.0.0" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM33/Source/system_ARMCM33.c"              version="1.0.1" attr="config"/>
         <!-- SAU configuration -->
         <file category="header"       name="Device/ARM/ARMCM33/Include/Template/partition_ARMCM33.h" version="1.1.1" attr="config" condition="ARMv8-M TZ Device"/>
       </files>
     </component>
 
     <!-- Cortex-M35P -->
-    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.1" condition="ARMCM35P CMSIS">
+    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.2" condition="ARMCM35P CMSIS">
       <description>System and Startup for Generic Arm Cortex-M35P device</description>
       <files>
         <!-- include folder / device header file -->
         <file category="include"  name="Device/ARM/ARMCM35P/Include/"/>
         <!-- startup / system file -->
-        <file category="sourceC"      name="Device/ARM/ARMCM35P/Source/startup_ARMCM35P.c"             version="2.0.1" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM35P/Source/startup_ARMCM35P.c"             version="2.0.2" attr="config"/>
         <file category="linkerScript" name="Device/ARM/ARMCM35P/Source/ARM/ARMCM35P_ac6.sct"           version="1.0.0" attr="config" condition="ARMCC6"/>
         <file category="linkerScript" name="Device/ARM/ARMCM35P/Source/GCC/gcc_arm.ld"                 version="2.0.0" attr="config" condition="GCC"/>
-        <file category="sourceC"      name="Device/ARM/ARMCM35P/Source/system_ARMCM35P.c"              version="1.0.0" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM35P/Source/system_ARMCM35P.c"              version="1.0.1" attr="config"/>
         <!-- SAU configuration -->
         <file category="header"       name="Device/ARM/ARMCM35P/Include/Template/partition_ARMCM35P.h" version="1.0.0" attr="config" condition="ARMv8-M TZ Device"/>
       </files>
     </component>
-    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.1.1" condition="ARMCM35P CMSIS">
+    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.1.2" condition="ARMCM35P CMSIS">
       <description>DEPRECATED: System and Startup for Generic Arm Cortex-M35P device</description>
       <files>
         <!-- include folder / device header file -->
@@ -2682,27 +2685,27 @@
         <file category="sourceAsm"    name="Device/ARM/ARMCM35P/Source/GCC/startup_ARMCM35P.S"         version="1.0.1" attr="config" condition="GCC"/>
         <file category="linkerScript" name="Device/ARM/ARMCM35P/Source/GCC/gcc_arm.ld"                 version="2.0.0" attr="config" condition="GCC"/>
         <file category="sourceAsm"    name="Device/ARM/ARMCM35P/Source/IAR/startup_ARMCM35P.s"         version="2.0.0" attr="config" condition="IAR"/>
-        <file category="sourceC"      name="Device/ARM/ARMCM35P/Source/system_ARMCM35P.c"              version="1.0.0" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMCM35P/Source/system_ARMCM35P.c"              version="1.0.1" attr="config"/>
         <!-- SAU configuration -->
         <file category="header"       name="Device/ARM/ARMCM35P/Include/Template/partition_ARMCM35P.h" version="1.0.0" attr="config" condition="ARMv8-M TZ Device"/>
       </files>
     </component>
 
     <!-- Cortex-SC000 -->
-    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.1" condition="ARMSC000 CMSIS">
+    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.2" condition="ARMSC000 CMSIS">
       <description>System and Startup for Generic Arm SC000 device</description>
       <files>
         <!-- include folder / device header file -->
         <file category="header"  name="Device/ARM/ARMSC000/Include/ARMSC000.h"/>
         <!-- startup / system file -->
-        <file category="sourceC"      name="Device/ARM/ARMSC000/Source/startup_ARMSC000.c"     version="2.0.1" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMSC000/Source/startup_ARMSC000.c"     version="2.0.2" attr="config"/>
         <file category="linkerScript" name="Device/ARM/ARMSC000/Source/ARM/ARMSC000_ac5.sct"   version="1.0.0" attr="config" condition="ARMCC5"/>
         <file category="linkerScript" name="Device/ARM/ARMSC000/Source/ARM/ARMSC000_ac6.sct"   version="1.0.0" attr="config" condition="ARMCC6"/>
         <file category="linkerScript" name="Device/ARM/ARMSC000/Source/GCC/gcc_arm.ld"         version="2.0.0" attr="config" condition="GCC"/>
         <file category="sourceC"      name="Device/ARM/ARMSC000/Source/system_ARMSC000.c"      version="1.0.0" attr="config"/>
       </files>
     </component>
-    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.1" condition="ARMSC000 CMSIS">
+    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.2" condition="ARMSC000 CMSIS">
       <description>DEPRECATED: System and Startup for Generic Arm SC000 device</description>
       <files>
         <!-- include folder / device header file -->
@@ -2717,20 +2720,20 @@
     </component>
 
     <!-- Cortex-SC300 -->
-    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.1" condition="ARMSC300 CMSIS">
+    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.2" condition="ARMSC300 CMSIS">
       <description>System and Startup for Generic Arm SC300 device</description>
       <files>
         <!-- include folder / device header file -->
         <file category="header"  name="Device/ARM/ARMSC300/Include/ARMSC300.h"/>
         <!-- startup / system file -->
-        <file category="sourceC"      name="Device/ARM/ARMSC300/Source/startup_ARMSC300.c"     version="2.0.1" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMSC300/Source/startup_ARMSC300.c"     version="2.0.2" attr="config"/>
         <file category="linkerScript" name="Device/ARM/ARMSC300/Source/ARM/ARMSC300_ac5.sct"   version="1.0.0" attr="config" condition="ARMCC5"/>
         <file category="linkerScript" name="Device/ARM/ARMSC300/Source/ARM/ARMSC300_ac6.sct"   version="1.0.0" attr="config" condition="ARMCC6"/>
         <file category="linkerScript" name="Device/ARM/ARMSC300/Source/GCC/gcc_arm.ld"         version="2.0.0" attr="config" condition="GCC"/>
-        <file category="sourceC"      name="Device/ARM/ARMSC300/Source/system_ARMSC300.c"      version="1.0.0" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMSC300/Source/system_ARMSC300.c"      version="1.0.1" attr="config"/>
       </files>
     </component>
-    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.1" condition="ARMSC300 CMSIS">
+    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.2" condition="ARMSC300 CMSIS">
       <description>DEPRECATED: System and Startup for Generic Arm SC300 device</description>
       <files>
         <!-- include folder / device header file -->
@@ -2740,26 +2743,26 @@
         <file category="sourceAsm"    name="Device/ARM/ARMSC300/Source/GCC/startup_ARMSC300.S" version="2.0.1" attr="config" condition="GCC"/>
         <file category="linkerScript" name="Device/ARM/ARMSC300/Source/GCC/gcc_arm.ld"         version="2.0.0" attr="config" condition="GCC"/>
         <file category="sourceAsm"    name="Device/ARM/ARMSC300/Source/IAR/startup_ARMSC300.s" version="1.0.0" attr="config" condition="IAR"/>
-        <file category="sourceC"      name="Device/ARM/ARMSC300/Source/system_ARMSC300.c"      version="1.0.0" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMSC300/Source/system_ARMSC300.c"      version="1.0.1" attr="config"/>
       </files>
     </component>
 
     <!-- ARMv8MBL -->
-    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.1" condition="ARMv8MBL CMSIS">
+    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.2" condition="ARMv8MBL CMSIS">
       <description>System and Startup for Generic Armv8-M Baseline device</description>
       <files>
         <!-- include folder / device header file -->
         <file category="include"  name="Device/ARM/ARMv8MBL/Include/"/>
         <!-- startup / system file -->
-        <file category="sourceC"      name="Device/ARM/ARMv8MBL/Source/startup_ARMv8MBL.c"            version="2.0.1" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMv8MBL/Source/startup_ARMv8MBL.c"            version="2.0.2" attr="config"/>
         <file category="linkerScript" name="Device/ARM/ARMv8MBL/Source/ARM/ARMv8MBL_ac6.sct"          version="1.0.0" attr="config" condition="ARMCC6"/>
         <file category="linkerScript" name="Device/ARM/ARMv8MBL/Source/GCC/gcc_arm.ld"                version="2.0.0" attr="config" condition="GCC"/>
-        <file category="sourceC"      name="Device/ARM/ARMv8MBL/Source/system_ARMv8MBL.c"             version="1.0.0" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMv8MBL/Source/system_ARMv8MBL.c"             version="1.0.1" attr="config"/>
         <!-- SAU configuration -->
         <file category="header"       name="Device/ARM/ARMv8MBL/Include/Template/partition_ARMv8MBL.h" version="1.0.0" attr="config" condition="ARMv8-M TZ Device"/>
       </files>
     </component>
-    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.1.1" condition="ARMv8MBL CMSIS">
+    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.1.2" condition="ARMv8MBL CMSIS">
       <description>DEPRECATED: System and Startup for Generic Armv8-M Baseline device</description>
       <files>
         <!-- include folder / device header file -->
@@ -2768,28 +2771,28 @@
         <file category="sourceAsm"    name="Device/ARM/ARMv8MBL/Source/ARM/startup_ARMv8MBL.s" version="1.0.1" attr="config" condition="ARMCC"/>
         <file category="sourceAsm"    name="Device/ARM/ARMv8MBL/Source/GCC/startup_ARMv8MBL.S" version="2.0.1" attr="config" condition="GCC"/>
         <file category="linkerScript" name="Device/ARM/ARMv8MBL/Source/GCC/gcc_arm.ld"         version="2.0.0" attr="config" condition="GCC"/>
-        <file category="sourceC"      name="Device/ARM/ARMv8MBL/Source/system_ARMv8MBL.c"      version="1.0.0" attr="config" condition="ARMCC GCC"/>
+        <file category="sourceC"      name="Device/ARM/ARMv8MBL/Source/system_ARMv8MBL.c"      version="1.0.1" attr="config" condition="ARMCC GCC"/>
         <!-- SAU configuration -->
         <file category="header"       name="Device/ARM/ARMv8MBL/Include/Template/partition_ARMv8MBL.h" version="1.0.0" attr="config"/>
       </files>
     </component>
 
     <!-- ARMv8MML -->
-    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.1" condition="ARMv8MML CMSIS">
+    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cversion="2.0.2" condition="ARMv8MML CMSIS">
       <description>System and Startup for Generic Armv8-M Mainline device</description>
       <files>
         <!-- include folder / device header file -->
         <file category="include"      name="Device/ARM/ARMv8MML/Include/"/>
         <!-- startup / system file -->
-        <file category="sourceC"      name="Device/ARM/ARMv8MML/Source/startup_ARMv8MML.c"             version="2.0.1" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMv8MML/Source/startup_ARMv8MML.c"             version="2.0.2" attr="config"/>
         <file category="linkerScript" name="Device/ARM/ARMv8MML/Source/ARM/ARMv8MML_ac6.sct"           version="1.0.0" attr="config" condition="ARMCC6"/>
         <file category="linkerScript" name="Device/ARM/ARMv8MML/Source/GCC/gcc_arm.ld"                 version="2.0.0" attr="config" condition="GCC"/>
-        <file category="sourceC"      name="Device/ARM/ARMv8MML/Source/system_ARMv8MML.c"              version="1.0.0" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMv8MML/Source/system_ARMv8MML.c"              version="1.0.1" attr="config"/>
         <!-- SAU configuration -->
         <file category="header"       name="Device/ARM/ARMv8MML/Include/Template/partition_ARMv8MML.h" version="1.1.1" attr="config" condition="ARMv8-M TZ Device"/>
       </files>
     </component>
-    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.1" condition="ARMv8MML CMSIS">
+    <component Cclass="Device" Cgroup="Startup"                      Cversion="1.2.2" condition="ARMv8MML CMSIS">
       <description>DEPRECATED: System and Startup for Generic Armv8-M Mainline device</description>
       <files>
         <!-- include folder / device header file -->
@@ -2798,7 +2801,7 @@
         <file category="sourceAsm"    name="Device/ARM/ARMv8MML/Source/ARM/startup_ARMv8MML.s"         version="1.0.1" attr="config" condition="ARMCC"/>
         <file category="sourceAsm"    name="Device/ARM/ARMv8MML/Source/GCC/startup_ARMv8MML.S"         version="2.0.1" attr="config" condition="GCC"/>
         <file category="linkerScript" name="Device/ARM/ARMv8MML/Source/GCC/gcc_arm.ld"                 version="2.0.0" attr="config" condition="GCC"/>
-        <file category="sourceC"      name="Device/ARM/ARMv8MML/Source/system_ARMv8MML.c"              version="1.0.0" attr="config" condition="ARMCC GCC"/>
+        <file category="sourceC"      name="Device/ARM/ARMv8MML/Source/system_ARMv8MML.c"              version="1.0.1" attr="config" condition="ARMCC GCC"/>
         <!-- SAU configuration -->
         <file category="header"       name="Device/ARM/ARMv8MML/Include/Template/partition_ARMv8MML.h" version="1.1.1" attr="config" condition="ARMv8-M TZ Device"/>
       </files>
@@ -2811,10 +2814,10 @@
         <!-- include folder / device header file -->
         <file category="include"      name="Device/ARM/ARMv81MML/Include/"/>
         <!-- startup / system file -->
-        <file category="sourceC"      name="Device/ARM/ARMv81MML/Source/startup_ARMv81MML.c"             version="2.0.1" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMv81MML/Source/startup_ARMv81MML.c"             version="2.0.2" attr="config"/>
         <file category="linkerScript" name="Device/ARM/ARMv81MML/Source/ARM/ARMv81MML_ac6.sct"           version="1.0.0" attr="config" condition="ARMCC6"/>
         <file category="linkerScript" name="Device/ARM/ARMv81MML/Source/GCC/gcc_arm.ld"                  version="2.0.0" attr="config" condition="GCC"/>
-        <file category="sourceC"      name="Device/ARM/ARMv81MML/Source/system_ARMv81MML.c"              version="1.1.0" attr="config"/>
+        <file category="sourceC"      name="Device/ARM/ARMv81MML/Source/system_ARMv81MML.c"              version="1.2.0" attr="config"/>
         <!-- SAU configuration -->
         <file category="header"       name="Device/ARM/ARMv81MML/Include/Template/partition_ARMv81MML.h" version="1.0.0" attr="config" condition="ARMv8-M TZ Device"/>
       </files>
@@ -2981,7 +2984,7 @@
         <!--file category="library" condition="ARMv8MML_DP_NOFPU_LE_GCC"       name="CMSIS/DSP/Lib/GCC/libarm_ARMv8MMLlfdp_math.a"  src="CMSIS/DSP/Source/GCC"/-->
         <!--file category="library" condition="ARMv8MML_DSP_DP_LE_GCC"         name="CMSIS/DSP/Lib/GCC/libarm_ARMv8MMLldfdp_math.a" src="CMSIS/DSP/Source/GCC"/-->
 
-	<!-- IAR -->
+  <!-- IAR -->
         <file category="library" condition="CM0_LE_IAR"                     name="CMSIS/DSP/Lib/IAR/iar_cortexM0l_math.a"     src="CMSIS/DSP/Source/IAR"/>
         <file category="library" condition="CM0_BE_IAR"                     name="CMSIS/DSP/Lib/IAR/iar_cortexM0b_math.a"     src="CMSIS/DSP/Source/IAR"/>
         <file category="library" condition="CM1_LE_IAR"                     name="CMSIS/DSP/Lib/IAR/iar_cortexM0l_math.a"     src="CMSIS/DSP/Source/IAR"/>
diff --git a/Device/ARM/ARMCM0/Include/system_ARMCM0.h b/Device/ARM/ARMCM0/Include/system_ARMCM0.h
index 767b227..b6ccb31 100644
--- a/Device/ARM/ARMCM0/Include/system_ARMCM0.h
+++ b/Device/ARM/ARMCM0/Include/system_ARMCM0.h
@@ -2,11 +2,11 @@
  * @file     system_ARMCM0.h
  * @brief    CMSIS Device System Header File for
  *           ARMCM0 Device
- * @version  V5.3.1
- * @date     09. July 2018
+ * @version  V5.3.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -30,15 +30,15 @@
 extern "C" {
 #endif
 
-/*----------------------------------------------------------------------------
-  Exception / Interrupt Handler Function Prototype
- *----------------------------------------------------------------------------*/
-typedef void( *VECTOR_TABLE_Type )( void );
+/**
+  \brief Exception / Interrupt Handler Function Prototype
+*/
+typedef void(*VECTOR_TABLE_Type)(void);
 
-extern const VECTOR_TABLE_Type __VECTOR_TABLE[48];
-
-extern uint32_t SystemCoreClock;     /*!< System Clock Frequency (Core Clock) */
-
+/**
+  \brief System Clock Frequency (Core Clock)
+*/
+extern uint32_t SystemCoreClock;
 
 /**
   \brief Setup the microcontroller system.
diff --git a/Device/ARM/ARMCM0/Source/startup_ARMCM0.c b/Device/ARM/ARMCM0/Source/startup_ARMCM0.c
index 5b2c008..f527fa1 100644
--- a/Device/ARM/ARMCM0/Source/startup_ARMCM0.c
+++ b/Device/ARM/ARMCM0/Source/startup_ARMCM0.c
@@ -1,8 +1,8 @@
 /******************************************************************************
  * @file     startup_ARMCM0.c
  * @brief    CMSIS-Core(M) Device Startup File for a Cortex-M0 Device
- * @version  V2.0.1
- * @date     23. July 2019
+ * @version  V2.0.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
  * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
@@ -68,7 +68,8 @@
 #pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 
-const VECTOR_TABLE_Type __VECTOR_TABLE[48] __VECTOR_TABLE_ATTRIBUTE = {
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[48];
+       const VECTOR_TABLE_Type __VECTOR_TABLE[48] __VECTOR_TABLE_ATTRIBUTE = {
   (VECTOR_TABLE_Type)(&__INITIAL_SP),       /*     Initial Stack Pointer */
   Reset_Handler,                            /*     Reset Handler */
   NMI_Handler,                              /* -14 NMI Handler */
diff --git a/Device/ARM/ARMCM0plus/Include/system_ARMCM0plus.h b/Device/ARM/ARMCM0plus/Include/system_ARMCM0plus.h
index 1510ccd..a2e3fcd 100644
--- a/Device/ARM/ARMCM0plus/Include/system_ARMCM0plus.h
+++ b/Device/ARM/ARMCM0plus/Include/system_ARMCM0plus.h
@@ -2,11 +2,11 @@
  * @file     system_ARMCM0plus.h
  * @brief    CMSIS Device System Header File for
  *           ARMCM0 Device
- * @version  V5.3.1
- * @date     09. July 2018
+ * @version  V5.3.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -30,15 +30,15 @@
 extern "C" {
 #endif
 
-/*----------------------------------------------------------------------------
-  Exception / Interrupt Handler Function Prototype
- *----------------------------------------------------------------------------*/
-typedef void( *VECTOR_TABLE_Type )( void );
+/**
+  \brief Exception / Interrupt Handler Function Prototype
+*/
+typedef void(*VECTOR_TABLE_Type)(void);
 
-extern const VECTOR_TABLE_Type __VECTOR_TABLE[48];
-
-extern uint32_t SystemCoreClock;     /*!< System Clock Frequency (Core Clock) */
-
+/**
+  \brief System Clock Frequency (Core Clock)
+*/
+extern uint32_t SystemCoreClock;
 
 /**
   \brief Setup the microcontroller system.
diff --git a/Device/ARM/ARMCM0plus/Source/startup_ARMCM0plus.c b/Device/ARM/ARMCM0plus/Source/startup_ARMCM0plus.c
index aa65e6f..eb63481 100644
--- a/Device/ARM/ARMCM0plus/Source/startup_ARMCM0plus.c
+++ b/Device/ARM/ARMCM0plus/Source/startup_ARMCM0plus.c
@@ -1,8 +1,8 @@
 /******************************************************************************
  * @file     startup_ARMCM0plus.c
  * @brief    CMSIS-Core(M) Device Startup File for a Cortex-M0+ Device
- * @version  V2.0.1
- * @date     23. July 2019
+ * @version  V2.0.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
  * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
@@ -74,7 +74,8 @@
 #pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 
-const VECTOR_TABLE_Type __VECTOR_TABLE[48] __VECTOR_TABLE_ATTRIBUTE = {
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[48];
+       const VECTOR_TABLE_Type __VECTOR_TABLE[48] __VECTOR_TABLE_ATTRIBUTE = {
   (VECTOR_TABLE_Type)(&__INITIAL_SP),       /*     Initial Stack Pointer */
   Reset_Handler,                            /*     Reset Handler */
   NMI_Handler,                              /* -14 NMI Handler */
diff --git a/Device/ARM/ARMCM1/Include/system_ARMCM1.h b/Device/ARM/ARMCM1/Include/system_ARMCM1.h
index 78bb291..0b1c03b 100644
--- a/Device/ARM/ARMCM1/Include/system_ARMCM1.h
+++ b/Device/ARM/ARMCM1/Include/system_ARMCM1.h
@@ -2,11 +2,11 @@
  * @file     system_ARMCM1.h
  * @brief    CMSIS Device System Header File for
  *           ARMCM1 Device
- * @version  V5.3.1
- * @date     20. July 2018
+ * @version  V5.3.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -30,15 +30,15 @@
 extern "C" {
 #endif
 
-/*----------------------------------------------------------------------------
-  Exception / Interrupt Handler Function Prototype
- *----------------------------------------------------------------------------*/
-typedef void( *VECTOR_TABLE_Type )( void );
+/**
+  \brief Exception / Interrupt Handler Function Prototype
+*/
+typedef void(*VECTOR_TABLE_Type)(void);
 
-extern const VECTOR_TABLE_Type __VECTOR_TABLE[48];
-
-extern uint32_t SystemCoreClock;     /*!< System Clock Frequency (Core Clock) */
-
+/**
+  \brief System Clock Frequency (Core Clock)
+*/
+extern uint32_t SystemCoreClock;
 
 /**
   \brief Setup the microcontroller system.
diff --git a/Device/ARM/ARMCM1/Source/startup_ARMCM1.c b/Device/ARM/ARMCM1/Source/startup_ARMCM1.c
index 4939078..08f2867 100644
--- a/Device/ARM/ARMCM1/Source/startup_ARMCM1.c
+++ b/Device/ARM/ARMCM1/Source/startup_ARMCM1.c
@@ -1,8 +1,8 @@
 /******************************************************************************
  * @file     startup_ARMCM1.c
  * @brief    CMSIS-Core(M) Device Startup File for a Cortex-M1 Device
- * @version  V2.0.1
- * @date     23. July 2019
+ * @version  V2.0.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
  * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
@@ -68,7 +68,8 @@
 #pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 
-const VECTOR_TABLE_Type __VECTOR_TABLE[48] __VECTOR_TABLE_ATTRIBUTE = {
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[48];
+       const VECTOR_TABLE_Type __VECTOR_TABLE[48] __VECTOR_TABLE_ATTRIBUTE = {
   (VECTOR_TABLE_Type)(&__INITIAL_SP),       /*     Initial Stack Pointer */
   Reset_Handler,                            /*     Reset Handler */
   NMI_Handler,                              /* -14 NMI Handler */
diff --git a/Device/ARM/ARMCM23/Include/system_ARMCM23.h b/Device/ARM/ARMCM23/Include/system_ARMCM23.h
index e19ec75..695f272 100644
--- a/Device/ARM/ARMCM23/Include/system_ARMCM23.h
+++ b/Device/ARM/ARMCM23/Include/system_ARMCM23.h
@@ -2,11 +2,11 @@
  * @file     system_ARMCM23.h
  * @brief    CMSIS Device System Header File for
  *           ARMCM23 Device
- * @version  V5.3.1
- * @date     09. July 2018
+ * @version  V5.3.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -30,15 +30,15 @@
 extern "C" {
 #endif
 
-/*----------------------------------------------------------------------------
-  Exception / Interrupt Handler Function Prototype
- *----------------------------------------------------------------------------*/
-typedef void( *VECTOR_TABLE_Type )( void );
+/**
+  \brief Exception / Interrupt Handler Function Prototype
+*/
+typedef void(*VECTOR_TABLE_Type)(void);
 
-extern const VECTOR_TABLE_Type __VECTOR_TABLE[240];
-
-extern uint32_t SystemCoreClock;     /*!< System Clock Frequency (Core Clock) */
-
+/**
+  \brief System Clock Frequency (Core Clock)
+*/
+extern uint32_t SystemCoreClock;
 
 /**
   \brief Setup the microcontroller system.
diff --git a/Device/ARM/ARMCM23/Source/startup_ARMCM23.c b/Device/ARM/ARMCM23/Source/startup_ARMCM23.c
index e82d4fc..e43f9fb 100644
--- a/Device/ARM/ARMCM23/Source/startup_ARMCM23.c
+++ b/Device/ARM/ARMCM23/Source/startup_ARMCM23.c
@@ -1,8 +1,8 @@
 /******************************************************************************
  * @file     startup_ARMCM23.c
  * @brief    CMSIS-Core(M) Device Startup File for a Cortex-M23 Device
- * @version  V2.0.1
- * @date     23. July 2019
+ * @version  V2.0.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
  * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
@@ -75,7 +75,8 @@
 #pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 
-const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = {
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[240];
+       const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = {
   (VECTOR_TABLE_Type)(&__INITIAL_SP),       /*     Initial Stack Pointer */
   Reset_Handler,                            /*     Reset Handler */
   NMI_Handler,                              /* -14 NMI Handler */
diff --git a/Device/ARM/ARMCM23/Source/system_ARMCM23.c b/Device/ARM/ARMCM23/Source/system_ARMCM23.c
index 35e008a..3381c1f 100644
--- a/Device/ARM/ARMCM23/Source/system_ARMCM23.c
+++ b/Device/ARM/ARMCM23/Source/system_ARMCM23.c
@@ -2,11 +2,11 @@
  * @file     system_ARMCM23.c
  * @brief    CMSIS Device System Source File for
  *           ARMCM23 Device
- * @version  V5.3.1
- * @date     09. July 2018
+ * @version  V1.0.1
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -42,6 +42,11 @@
 
 #define  SYSTEM_CLOCK    (XTAL / 2U)
 
+/*----------------------------------------------------------------------------
+  Exception / Interrupt Vector table
+ *----------------------------------------------------------------------------*/
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[240];
+
 
 /*----------------------------------------------------------------------------
   System Core Clock Variable
@@ -64,7 +69,7 @@
 {
 
 #if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U)
-  SCB->VTOR = (uint32_t) &(__VECTOR_TABLE);
+  SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]);
 #endif
 
 #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
diff --git a/Device/ARM/ARMCM3/Include/ARMCM3.h b/Device/ARM/ARMCM3/Include/ARMCM3.h
index c71f72b..44c0c23 100644
--- a/Device/ARM/ARMCM3/Include/ARMCM3.h
+++ b/Device/ARM/ARMCM3/Include/ARMCM3.h
@@ -56,7 +56,7 @@
   Interrupt6_IRQn               =   6,
   Interrupt7_IRQn               =   7,
   Interrupt8_IRQn               =   8,
-  Interrupt9_IRQn               =   9,
+  Interrupt9_IRQn               =   9
   /* Interrupts 10 .. 224 are left out */
 } IRQn_Type;
 
diff --git a/Device/ARM/ARMCM3/Include/system_ARMCM3.h b/Device/ARM/ARMCM3/Include/system_ARMCM3.h
index 7aa49d2..5d12377 100644
--- a/Device/ARM/ARMCM3/Include/system_ARMCM3.h
+++ b/Device/ARM/ARMCM3/Include/system_ARMCM3.h
@@ -2,11 +2,11 @@
  * @file     system_ARMCM3.h
  * @brief    CMSIS Device System Header File for
  *           ARMCM3 Device
- * @version  V5.3.1
- * @date     09. July 2018
+ * @version  V5.3.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -30,14 +30,15 @@
 extern "C" {
 #endif
 
-/*----------------------------------------------------------------------------
-  Exception / Interrupt Handler Function Prototype
- *----------------------------------------------------------------------------*/
+/**
+  \brief Exception / Interrupt Handler Function Prototype
+*/
 typedef void(*VECTOR_TABLE_Type)(void);
-extern const VECTOR_TABLE_Type __VECTOR_TABLE[240];
 
-extern uint32_t SystemCoreClock;     /*!< System Clock Frequency (Core Clock) */
-
+/**
+  \brief System Clock Frequency (Core Clock)
+*/
+extern uint32_t SystemCoreClock;
 
 /**
   \brief Setup the microcontroller system.
diff --git a/Device/ARM/ARMCM3/Source/startup_ARMCM3.c b/Device/ARM/ARMCM3/Source/startup_ARMCM3.c
index 9cf112d..0392a89 100644
--- a/Device/ARM/ARMCM3/Source/startup_ARMCM3.c
+++ b/Device/ARM/ARMCM3/Source/startup_ARMCM3.c
@@ -1,8 +1,8 @@
 /******************************************************************************
  * @file     startup_ARMCM3.c
  * @brief    CMSIS-Core(M) Device Startup File for a Cortex-M3 Device
- * @version  V2.0.1
- * @date     23. July 2019
+ * @version  V2.0.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
  * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
@@ -72,7 +72,8 @@
 #pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 
-const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = {
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[240];
+       const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = {
   (VECTOR_TABLE_Type)(&__INITIAL_SP),       /*     Initial Stack Pointer */
   Reset_Handler,                            /*     Reset Handler */
   NMI_Handler,                              /* -14 NMI Handler */
diff --git a/Device/ARM/ARMCM3/Source/system_ARMCM3.c b/Device/ARM/ARMCM3/Source/system_ARMCM3.c
index 2e8e98b..3c5eda7 100644
--- a/Device/ARM/ARMCM3/Source/system_ARMCM3.c
+++ b/Device/ARM/ARMCM3/Source/system_ARMCM3.c
@@ -2,11 +2,11 @@
  * @file     system_ARMCM3.c
  * @brief    CMSIS Device System Source File for
  *           ARMCM3 Device
- * @version  V5.3.1
- * @date     09. July 2018
+ * @version  V1.0.1
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -32,6 +32,10 @@
 
 #define  SYSTEM_CLOCK    (XTAL / 2U)
 
+/*----------------------------------------------------------------------------
+  Exception / Interrupt Vector table
+ *----------------------------------------------------------------------------*/
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[240];
 
 /*----------------------------------------------------------------------------
   System Core Clock Variable
@@ -54,7 +58,7 @@
 {
 
 #if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U)
-  SCB->VTOR = (uint32_t) &(__VECTOR_TABLE);
+  SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]);
 #endif
 
   SystemCoreClock = SYSTEM_CLOCK;
diff --git a/Device/ARM/ARMCM33/Include/system_ARMCM33.h b/Device/ARM/ARMCM33/Include/system_ARMCM33.h
index 9bab632..f912310 100644
--- a/Device/ARM/ARMCM33/Include/system_ARMCM33.h
+++ b/Device/ARM/ARMCM33/Include/system_ARMCM33.h
@@ -2,11 +2,11 @@
  * @file     system_ARMCM33.h
  * @brief    CMSIS Device System Header File for
  *           ARMCM33 Device
- * @version  V5.3.1
- * @date     09. July 2018
+ * @version  V5.3.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -30,15 +30,15 @@
 extern "C" {
 #endif
 
-/*----------------------------------------------------------------------------
-  Exception / Interrupt Handler Function Prototype
- *----------------------------------------------------------------------------*/
-typedef void( *VECTOR_TABLE_Type )( void );
+/**
+  \brief Exception / Interrupt Handler Function Prototype
+*/
+typedef void(*VECTOR_TABLE_Type)(void);
 
-extern const VECTOR_TABLE_Type __VECTOR_TABLE[496];
-
-extern uint32_t SystemCoreClock;     /*!< System Clock Frequency (Core Clock) */
-
+/**
+  \brief System Clock Frequency (Core Clock)
+*/
+extern uint32_t SystemCoreClock;
 
 /**
   \brief Setup the microcontroller system.
diff --git a/Device/ARM/ARMCM33/Source/startup_ARMCM33.c b/Device/ARM/ARMCM33/Source/startup_ARMCM33.c
index 56363fd..b090ccc 100644
--- a/Device/ARM/ARMCM33/Source/startup_ARMCM33.c
+++ b/Device/ARM/ARMCM33/Source/startup_ARMCM33.c
@@ -1,8 +1,8 @@
 /******************************************************************************
  * @file     startup_ARMCM33.c
  * @brief    CMSIS Core Device Startup File for Cortex-M33 Device
- * @version  V2.0.1
- * @date     23. July 2019
+ * @version  V2.0.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
  * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
@@ -84,7 +84,8 @@
 #pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 
-const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = {
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[496];
+       const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = {
   (VECTOR_TABLE_Type)(&__INITIAL_SP),       /*     Initial Stack Pointer */
   Reset_Handler,                            /*     Reset Handler */
   NMI_Handler,                              /* -14 NMI Handler */
diff --git a/Device/ARM/ARMCM33/Source/system_ARMCM33.c b/Device/ARM/ARMCM33/Source/system_ARMCM33.c
index 70183d7..919b8bd 100644
--- a/Device/ARM/ARMCM33/Source/system_ARMCM33.c
+++ b/Device/ARM/ARMCM33/Source/system_ARMCM33.c
@@ -2,11 +2,11 @@
  * @file     system_ARMCM33.c
  * @brief    CMSIS Device System Source File for
  *           ARMCM33 Device
- * @version  V5.3.1
- * @date     09. July 2018
+ * @version  V1.0.1
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -50,6 +50,11 @@
 
 #define  SYSTEM_CLOCK    (XTAL / 2U)
 
+/*----------------------------------------------------------------------------
+  Exception / Interrupt Vector table
+ *----------------------------------------------------------------------------*/
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[496];
+
 
 /*----------------------------------------------------------------------------
   System Core Clock Variable
@@ -72,7 +77,7 @@
 {
 
 #if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U)
-  SCB->VTOR = (uint32_t) &(__VECTOR_TABLE);
+  SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]);
 #endif
 
 #if defined (__FPU_USED) && (__FPU_USED == 1U)
diff --git a/Device/ARM/ARMCM35P/Include/system_ARMCM35P.h b/Device/ARM/ARMCM35P/Include/system_ARMCM35P.h
index 357f4bc..904bf98 100644
--- a/Device/ARM/ARMCM35P/Include/system_ARMCM35P.h
+++ b/Device/ARM/ARMCM35P/Include/system_ARMCM35P.h
@@ -2,11 +2,11 @@
  * @file     system_ARMCM35P.h
  * @brief    CMSIS Device System Header File for
  *           ARMCM35P Device
- * @version  V1.0.0
- * @date     03. September 2018
+ * @version  V1.0.1
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -30,15 +30,15 @@
 extern "C" {
 #endif
 
-/*----------------------------------------------------------------------------
-  Exception / Interrupt Handler Function Prototype
- *----------------------------------------------------------------------------*/
-typedef void( *VECTOR_TABLE_Type )( void );
+/**
+  \brief Exception / Interrupt Handler Function Prototype
+*/
+typedef void(*VECTOR_TABLE_Type)(void);
 
-extern const VECTOR_TABLE_Type __VECTOR_TABLE[496];
-
-extern uint32_t SystemCoreClock;     /*!< System Clock Frequency (Core Clock) */
-
+/**
+  \brief System Clock Frequency (Core Clock)
+*/
+extern uint32_t SystemCoreClock;
 
 /**
   \brief Setup the microcontroller system.
diff --git a/Device/ARM/ARMCM35P/Source/startup_ARMCM35P.c b/Device/ARM/ARMCM35P/Source/startup_ARMCM35P.c
index 6a01863..b26af3f 100644
--- a/Device/ARM/ARMCM35P/Source/startup_ARMCM35P.c
+++ b/Device/ARM/ARMCM35P/Source/startup_ARMCM35P.c
@@ -1,8 +1,8 @@
 /******************************************************************************
  * @file     startup_ARMCM35P.c
  * @brief    CMSIS Core Device Startup File for Cortex-M35P Device
- * @version  V2.0.1
- * @date     23. July 2019
+ * @version  V2.0.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
  * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
@@ -84,7 +84,8 @@
 #pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 
-const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = {
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[496];
+       const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = {
   (VECTOR_TABLE_Type)(&__INITIAL_SP),       /*     Initial Stack Pointer */
   Reset_Handler,                            /*     Reset Handler */
   NMI_Handler,                              /* -14 NMI Handler */
diff --git a/Device/ARM/ARMCM35P/Source/system_ARMCM35P.c b/Device/ARM/ARMCM35P/Source/system_ARMCM35P.c
index 81b3a5b..2ccc84b 100644
--- a/Device/ARM/ARMCM35P/Source/system_ARMCM35P.c
+++ b/Device/ARM/ARMCM35P/Source/system_ARMCM35P.c
@@ -2,8 +2,8 @@
  * @file     system_ARMCM35P.c
  * @brief    CMSIS Device System Source File for
  *           ARMCM35P Device
- * @version  V1.0.0
- * @date     03. September 2018
+ * @version  V1.0.1
+ * @date     15. November 2019
  ******************************************************************************/
 /*
  * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
@@ -50,6 +50,11 @@
 
 #define  SYSTEM_CLOCK    (XTAL / 2U)
 
+/*----------------------------------------------------------------------------
+  Exception / Interrupt Vector table
+ *----------------------------------------------------------------------------*/
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[496];
+
 
 /*----------------------------------------------------------------------------
   System Core Clock Variable
@@ -72,7 +77,7 @@
 {
 
 #if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U)
-  SCB->VTOR = (uint32_t) &(__VECTOR_TABLE);
+  SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]);
 #endif
 
 #if defined (__FPU_USED) && (__FPU_USED == 1U)
diff --git a/Device/ARM/ARMCM4/Include/system_ARMCM4.h b/Device/ARM/ARMCM4/Include/system_ARMCM4.h
index fba7787..1080bac 100644
--- a/Device/ARM/ARMCM4/Include/system_ARMCM4.h
+++ b/Device/ARM/ARMCM4/Include/system_ARMCM4.h
@@ -2,11 +2,11 @@
  * @file     system_ARMCM4.h
  * @brief    CMSIS Device System Header File for
  *           ARMCM4 Device
- * @version  V5.3.1
- * @date     09. July 2018
+ * @version  V5.3.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -30,15 +30,15 @@
 extern "C" {
 #endif
 
-/*----------------------------------------------------------------------------
-  Exception / Interrupt Handler Function Prototype
- *----------------------------------------------------------------------------*/
-typedef void( *VECTOR_TABLE_Type )( void );
+/**
+  \brief Exception / Interrupt Handler Function Prototype
+*/
+typedef void(*VECTOR_TABLE_Type)(void);
 
-extern const VECTOR_TABLE_Type __VECTOR_TABLE[240];
-
-extern uint32_t SystemCoreClock;     /*!< System Clock Frequency (Core Clock) */
-
+/**
+  \brief System Clock Frequency (Core Clock)
+*/
+extern uint32_t SystemCoreClock;
 
 /**
   \brief Setup the microcontroller system.
diff --git a/Device/ARM/ARMCM4/Source/startup_ARMCM4.c b/Device/ARM/ARMCM4/Source/startup_ARMCM4.c
index a119ac0..90eee9d 100644
--- a/Device/ARM/ARMCM4/Source/startup_ARMCM4.c
+++ b/Device/ARM/ARMCM4/Source/startup_ARMCM4.c
@@ -1,8 +1,8 @@
 /******************************************************************************
  * @file     startup_ARMCM4.c
  * @brief    CMSIS-Core(M) Device Startup File for a Cortex-M4 Device
- * @version  V2.0.1
- * @date     23. July 2019
+ * @version  V2.0.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
  * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
@@ -78,7 +78,8 @@
 #pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 
-const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = {
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[240];
+       const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = {
   (VECTOR_TABLE_Type)(&__INITIAL_SP),       /*     Initial Stack Pointer */
   Reset_Handler,                            /*     Reset Handler */
   NMI_Handler,                              /* -14 NMI Handler */
diff --git a/Device/ARM/ARMCM4/Source/system_ARMCM4.c b/Device/ARM/ARMCM4/Source/system_ARMCM4.c
index e8026e1..9d983d2 100644
--- a/Device/ARM/ARMCM4/Source/system_ARMCM4.c
+++ b/Device/ARM/ARMCM4/Source/system_ARMCM4.c
@@ -2,11 +2,11 @@
  * @file     system_ARMCM4.c
  * @brief    CMSIS Device System Source File for
  *           ARMCM4 Device
- * @version  V5.3.1
- * @date     09. July 2018
+ * @version  V1.0.1
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -38,6 +38,11 @@
 
 #define  SYSTEM_CLOCK    (XTAL / 2U)
 
+/*----------------------------------------------------------------------------
+  Exception / Interrupt Vector table
+ *----------------------------------------------------------------------------*/
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[240];
+
 
 /*----------------------------------------------------------------------------
   System Core Clock Variable
@@ -60,7 +65,7 @@
 {
 
 #if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U)
-  SCB->VTOR = (uint32_t) &(__VECTOR_TABLE);
+  SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]);
 #endif
 
 #if defined (__FPU_USED) && (__FPU_USED == 1U)
diff --git a/Device/ARM/ARMCM7/Include/system_ARMCM7.h b/Device/ARM/ARMCM7/Include/system_ARMCM7.h
index 357aed3..f5763de 100644
--- a/Device/ARM/ARMCM7/Include/system_ARMCM7.h
+++ b/Device/ARM/ARMCM7/Include/system_ARMCM7.h
@@ -2,11 +2,11 @@
  * @file     system_ARMCM7.h
  * @brief    CMSIS Device System Header File for
  *           ARMCM7 Device
- * @version  V5.3.1
- * @date     09. July 2018
+ * @version  V5.3.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -30,15 +30,15 @@
 extern "C" {
 #endif
 
-/*----------------------------------------------------------------------------
-  Exception / Interrupt Handler Function Prototype
- *----------------------------------------------------------------------------*/
-typedef void( *VECTOR_TABLE_Type )( void );
+/**
+  \brief Exception / Interrupt Handler Function Prototype
+*/
+typedef void(*VECTOR_TABLE_Type)(void);
 
-extern const VECTOR_TABLE_Type __VECTOR_TABLE[240];
-
-extern uint32_t SystemCoreClock;     /*!< System Clock Frequency (Core Clock) */
-
+/**
+  \brief System Clock Frequency (Core Clock)
+*/
+extern uint32_t SystemCoreClock;
 
 /**
   \brief Setup the microcontroller system.
diff --git a/Device/ARM/ARMCM7/Source/startup_ARMCM7.c b/Device/ARM/ARMCM7/Source/startup_ARMCM7.c
index 789972a..7858499 100644
--- a/Device/ARM/ARMCM7/Source/startup_ARMCM7.c
+++ b/Device/ARM/ARMCM7/Source/startup_ARMCM7.c
@@ -1,8 +1,8 @@
 /******************************************************************************
  * @file     startup_ARMCM7.c
  * @brief    CMSIS-Core(M) Device Startup File for a Cortex-M7 Device
- * @version  V2.0.1
- * @date     23. July 2019
+ * @version  V2.0.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
  * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
@@ -80,7 +80,8 @@
 #pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 
-const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = {
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[240];
+       const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = {
   (VECTOR_TABLE_Type)(&__INITIAL_SP),       /*     Initial Stack Pointer */
   Reset_Handler,                            /*     Reset Handler */
   NMI_Handler,                              /* -14 NMI Handler */
diff --git a/Device/ARM/ARMCM7/Source/system_ARMCM7.c b/Device/ARM/ARMCM7/Source/system_ARMCM7.c
index f4edd3a..75f9c18 100644
--- a/Device/ARM/ARMCM7/Source/system_ARMCM7.c
+++ b/Device/ARM/ARMCM7/Source/system_ARMCM7.c
@@ -2,11 +2,11 @@
  * @file     system_ARMCM7.c
  * @brief    CMSIS Device System Source File for
  *           ARMCM7 Device
- * @version  V5.3.1
- * @date     09. July 2018
+ * @version  V1.0.1
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -40,6 +40,11 @@
 
 #define  SYSTEM_CLOCK    (XTAL / 2U)
 
+/*----------------------------------------------------------------------------
+  Exception / Interrupt Vector table
+ *----------------------------------------------------------------------------*/
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[240];
+
 
 /*----------------------------------------------------------------------------
   System Core Clock Variable
@@ -62,7 +67,7 @@
 {
 
 #if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U)
-  SCB->VTOR = (uint32_t) &(__VECTOR_TABLE);
+  SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]);
 #endif
 
 #if defined (__FPU_USED) && (__FPU_USED == 1U)
diff --git a/Device/ARM/ARMSC000/Include/system_ARMSC000.h b/Device/ARM/ARMSC000/Include/system_ARMSC000.h
index b3e19a6..774b47c 100644
--- a/Device/ARM/ARMSC000/Include/system_ARMSC000.h
+++ b/Device/ARM/ARMSC000/Include/system_ARMSC000.h
@@ -2,11 +2,11 @@
  * @file     system_ARMSC000.h
  * @brief    CMSIS Device System Header File for
  *           ARMSC000 Device
- * @version  V5.3.1
- * @date     09. July 2018
+ * @version  V5.3.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -30,15 +30,15 @@
 extern "C" {
 #endif
 
-/*----------------------------------------------------------------------------
-  Exception / Interrupt Handler Function Prototype
- *----------------------------------------------------------------------------*/
-typedef void( *VECTOR_TABLE_Type )( void );
+/**
+  \brief Exception / Interrupt Handler Function Prototype
+*/
+typedef void(*VECTOR_TABLE_Type)(void);
 
-extern const VECTOR_TABLE_Type __VECTOR_TABLE[48];
-
-extern uint32_t SystemCoreClock;     /*!< System Clock Frequency (Core Clock) */
-
+/**
+  \brief System Clock Frequency (Core Clock)
+*/
+extern uint32_t SystemCoreClock;
 
 /**
   \brief Setup the microcontroller system.
diff --git a/Device/ARM/ARMSC000/Source/startup_ARMSC000.c b/Device/ARM/ARMSC000/Source/startup_ARMSC000.c
index 1ddec98..8415ef1 100644
--- a/Device/ARM/ARMSC000/Source/startup_ARMSC000.c
+++ b/Device/ARM/ARMSC000/Source/startup_ARMSC000.c
@@ -1,8 +1,8 @@
 /******************************************************************************
  * @file     startup_ARMSC000.c
  * @brief    CMSIS-Core(M) Device Startup File for a SC000 Device
- * @version  V2.0.1
- * @date     23. July 2019
+ * @version  V2.0.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
  * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
@@ -68,7 +68,8 @@
 #pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 
-const VECTOR_TABLE_Type __VECTOR_TABLE[48] __VECTOR_TABLE_ATTRIBUTE = {
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[48];
+       const VECTOR_TABLE_Type __VECTOR_TABLE[48] __VECTOR_TABLE_ATTRIBUTE = {
   (VECTOR_TABLE_Type)(&__INITIAL_SP),       /*     Initial Stack Pointer */
   Reset_Handler,                            /*     Reset Handler */
   NMI_Handler,                              /* -14 NMI Handler */
diff --git a/Device/ARM/ARMSC300/Include/system_ARMSC300.h b/Device/ARM/ARMSC300/Include/system_ARMSC300.h
index 3689dd3..623e31e 100644
--- a/Device/ARM/ARMSC300/Include/system_ARMSC300.h
+++ b/Device/ARM/ARMSC300/Include/system_ARMSC300.h
@@ -2,11 +2,11 @@
  * @file     system_ARMSC300.h
  * @brief    CMSIS Device System Header File for
  *           ARMSC300 Device
- * @version  V5.3.1
- * @date     09. July 2018
+ * @version  V5.3.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -30,14 +30,15 @@
 extern "C" {
 #endif
 
-/*----------------------------------------------------------------------------
-  Exception / Interrupt Handler Function Prototype
- *----------------------------------------------------------------------------*/
-typedef void( *VECTOR_TABLE_Type )( void );
+/**
+  \brief Exception / Interrupt Handler Function Prototype
+*/
+typedef void(*VECTOR_TABLE_Type)(void);
 
-extern const VECTOR_TABLE_Type __VECTOR_TABLE[240];
-
-extern uint32_t SystemCoreClock;     /*!< System Clock Frequency (Core Clock) */
+/**
+  \brief System Clock Frequency (Core Clock)
+*/
+extern uint32_t SystemCoreClock;
 
 
 /**
diff --git a/Device/ARM/ARMSC300/Source/startup_ARMSC300.c b/Device/ARM/ARMSC300/Source/startup_ARMSC300.c
index d08a244..8e45497 100644
--- a/Device/ARM/ARMSC300/Source/startup_ARMSC300.c
+++ b/Device/ARM/ARMSC300/Source/startup_ARMSC300.c
@@ -1,8 +1,8 @@
 /******************************************************************************
  * @file     startup_ARMSC300.c
  * @brief    CMSIS-Core(M) Device Startup File for a SC300 Device
- * @version  V2.0.1
- * @date     23. July 2019
+ * @version  V2.0.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
  * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
@@ -72,7 +72,8 @@
 #pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 
-const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = {
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[240];
+       const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = {
   (VECTOR_TABLE_Type)(&__INITIAL_SP),       /*     Initial Stack Pointer */
   Reset_Handler,                            /*     Reset Handler */
   NMI_Handler,                              /* -14 NMI Handler */
diff --git a/Device/ARM/ARMSC300/Source/system_ARMSC300.c b/Device/ARM/ARMSC300/Source/system_ARMSC300.c
index b16a1a2..cbf95db 100644
--- a/Device/ARM/ARMSC300/Source/system_ARMSC300.c
+++ b/Device/ARM/ARMSC300/Source/system_ARMSC300.c
@@ -2,11 +2,11 @@
  * @file     system_ARMSC300.c
  * @brief    CMSIS Device System Source File for
  *           ARMSC300 Device
- * @version  V5.3.1
- * @date     09. July 2018
+ * @version  V1.0.1
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -32,6 +32,11 @@
 
 #define  SYSTEM_CLOCK    (XTAL / 2U)
 
+/*----------------------------------------------------------------------------
+  Exception / Interrupt Vector table
+ *----------------------------------------------------------------------------*/
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[240];
+
 
 /*----------------------------------------------------------------------------
   System Core Clock Variable
@@ -54,7 +59,7 @@
 {
 
 #if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U)
-  SCB->VTOR = (uint32_t) &(__VECTOR_TABLE);
+  SCB->VTOR = (uint32_t) &(__VECTOR_TABLE[0]);
 #endif
 
 #ifdef UNALIGNED_SUPPORT_DISABLE
diff --git a/Device/ARM/ARMv81MML/Include/system_ARMv81MML.h b/Device/ARM/ARMv81MML/Include/system_ARMv81MML.h
index 808ba79..237f1b4 100644
--- a/Device/ARM/ARMv81MML/Include/system_ARMv81MML.h
+++ b/Device/ARM/ARMv81MML/Include/system_ARMv81MML.h
@@ -2,8 +2,8 @@
  * @file     system_ARMv81MML.h
  * @brief    CMSIS Device System Header File for
  *           Armv8.1-M Mainline Device Series
- * @version  V1.0.0
- * @date     25. February 2019
+ * @version  V1.0.1
+ * @date     15. Novemer 2019
  ******************************************************************************/
 /*
  * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
@@ -30,14 +30,15 @@
 extern "C" {
 #endif
 
-/*----------------------------------------------------------------------------
-  Exception / Interrupt Handler Function Prototype
- *----------------------------------------------------------------------------*/
-typedef void( *VECTOR_TABLE_Type )( void );
+/**
+  \brief Exception / Interrupt Handler Function Prototype
+*/
+typedef void(*VECTOR_TABLE_Type)(void);
 
-extern const VECTOR_TABLE_Type __VECTOR_TABLE[496];
-
-extern uint32_t SystemCoreClock;     /*!< System Clock Frequency (Core Clock) */
+/**
+  \brief System Clock Frequency (Core Clock)
+*/
+extern uint32_t SystemCoreClock;
 
 
 /**
diff --git a/Device/ARM/ARMv81MML/Source/startup_ARMv81MML.c b/Device/ARM/ARMv81MML/Source/startup_ARMv81MML.c
index af488b7..a34c64c 100644
--- a/Device/ARM/ARMv81MML/Source/startup_ARMv81MML.c
+++ b/Device/ARM/ARMv81MML/Source/startup_ARMv81MML.c
@@ -1,8 +1,8 @@
 /******************************************************************************
  * @file     startup_ARMv81MML.c
  * @brief    CMSIS Core Device Startup File for ARMv81MML Device
- * @version  V2.0.1
- * @date     23. July 2019
+ * @version  V2.0.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
  * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
@@ -78,7 +78,8 @@
 #pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 
-const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = {
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[496];
+       const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = {
   (VECTOR_TABLE_Type)(&__INITIAL_SP),       /*     Initial Stack Pointer */
   Reset_Handler,                            /*     Reset Handler */
   NMI_Handler,                              /* -14 NMI Handler */
diff --git a/Device/ARM/ARMv81MML/Source/system_ARMv81MML.c b/Device/ARM/ARMv81MML/Source/system_ARMv81MML.c
index 903c481..d15ddce 100644
--- a/Device/ARM/ARMv81MML/Source/system_ARMv81MML.c
+++ b/Device/ARM/ARMv81MML/Source/system_ARMv81MML.c
@@ -3,7 +3,7 @@
  * @brief    CMSIS Device System Source File for
  *           Armv8.1-M Mainline Device Series
  * @version  V1.2.0
- * @date     23. July 2019
+ * @date     15. November 2019
  ******************************************************************************/
 /*
  * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
@@ -42,6 +42,12 @@
 
 
 /*----------------------------------------------------------------------------
+  Exception / Interrupt Vector table
+ *----------------------------------------------------------------------------*/
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[496];
+
+
+/*----------------------------------------------------------------------------
   System Core Clock Variable
  *----------------------------------------------------------------------------*/
 uint32_t SystemCoreClock = SYSTEM_CLOCK;
@@ -62,7 +68,7 @@
 {
 
 #if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U)
-  SCB->VTOR = (uint32_t)(&__VECTOR_TABLE);
+  SCB->VTOR = (uint32_t)(&__VECTOR_TABLE[0]);
 #endif
 
 #if (defined (__FPU_USED) && (__FPU_USED == 1U)) || \
diff --git a/Device/ARM/ARMv8MBL/Include/system_ARMv8MBL.h b/Device/ARM/ARMv8MBL/Include/system_ARMv8MBL.h
index 5fa521a..efae0bc 100644
--- a/Device/ARM/ARMv8MBL/Include/system_ARMv8MBL.h
+++ b/Device/ARM/ARMv8MBL/Include/system_ARMv8MBL.h
@@ -2,11 +2,11 @@
  * @file     system_ARMv8MBL.h
  * @brief    CMSIS Device System Header File for
  *           ARMv8MBL Device
- * @version  V5.3.1
- * @date     09. July 2018
+ * @version  V5.3.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -30,14 +30,15 @@
 extern "C" {
 #endif
 
-/*----------------------------------------------------------------------------
-  Exception / Interrupt Handler Function Prototype
- *----------------------------------------------------------------------------*/
-typedef void( *VECTOR_TABLE_Type )( void );
+/**
+  \brief Exception / Interrupt Handler Function Prototype
+*/
+typedef void(*VECTOR_TABLE_Type)(void);
 
-extern const VECTOR_TABLE_Type __VECTOR_TABLE[240];
-
-extern uint32_t SystemCoreClock;     /*!< System Clock Frequency (Core Clock) */
+/**
+  \brief System Clock Frequency (Core Clock)
+*/
+extern uint32_t SystemCoreClock;
 
 
 /**
diff --git a/Device/ARM/ARMv8MBL/Source/startup_ARMv8MBL.c b/Device/ARM/ARMv8MBL/Source/startup_ARMv8MBL.c
index 3aa3d7f..3ac9134 100644
--- a/Device/ARM/ARMv8MBL/Source/startup_ARMv8MBL.c
+++ b/Device/ARM/ARMv8MBL/Source/startup_ARMv8MBL.c
@@ -1,8 +1,8 @@
 /******************************************************************************
  * @file     startup_ARMCM4.c
  * @brief    CMSIS-Core(M) Device Startup File for a Cortex-M23 Device
- * @version  V2.0.1
- * @date     23. July 2019
+ * @version  V2.0.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
  * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
@@ -69,7 +69,8 @@
 #pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 
-const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = {
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[240];
+       const VECTOR_TABLE_Type __VECTOR_TABLE[240] __VECTOR_TABLE_ATTRIBUTE = {
   (VECTOR_TABLE_Type)(&__INITIAL_SP),       /*     Initial Stack Pointer */
   Reset_Handler,                            /*     Reset Handler */
   NMI_Handler,                              /* -14 NMI Handler */
diff --git a/Device/ARM/ARMv8MBL/Source/system_ARMv8MBL.c b/Device/ARM/ARMv8MBL/Source/system_ARMv8MBL.c
index eaf0599..6bab139 100644
--- a/Device/ARM/ARMv8MBL/Source/system_ARMv8MBL.c
+++ b/Device/ARM/ARMv8MBL/Source/system_ARMv8MBL.c
@@ -2,11 +2,11 @@
  * @file     system_ARMv8MBL.c
  * @brief    CMSIS Device System Source File for
  *           ARMv8MBL Device
- * @version  V5.3.1
- * @date     09. July 2018
+ * @version  V1.0.1
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -36,6 +36,11 @@
 
 #define  SYSTEM_CLOCK    (XTAL / 2U)
 
+/*----------------------------------------------------------------------------
+  Exception / Interrupt Vector table
+ *----------------------------------------------------------------------------*/
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[240];
+
 
 /*----------------------------------------------------------------------------
   System Core Clock Variable
@@ -58,7 +63,7 @@
 {
 
 #if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U)
-  SCB->VTOR = (uint32_t) &(__Vectors);
+  SCB->VTOR = (uint32_t) &(__Vectors[0]);
 #endif
 
 #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
diff --git a/Device/ARM/ARMv8MML/Include/system_ARMv8MML.h b/Device/ARM/ARMv8MML/Include/system_ARMv8MML.h
index 0340007..f23ef7a 100644
--- a/Device/ARM/ARMv8MML/Include/system_ARMv8MML.h
+++ b/Device/ARM/ARMv8MML/Include/system_ARMv8MML.h
@@ -2,11 +2,11 @@
  * @file     system_ARMv8MML.h
  * @brief    CMSIS Device System Header File for
  *           ARMv8MML Device
- * @version  V5.3.1
- * @date     09. July 2018
+ * @version  V5.3.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -30,14 +30,15 @@
 extern "C" {
 #endif
 
-/*----------------------------------------------------------------------------
-  Exception / Interrupt Handler Function Prototype
- *----------------------------------------------------------------------------*/
-typedef void( *VECTOR_TABLE_Type )( void );
+/**
+  \brief Exception / Interrupt Handler Function Prototype
+*/
+typedef void(*VECTOR_TABLE_Type)(void);
 
-extern const VECTOR_TABLE_Type __VECTOR_TABLE[496];
-
-extern uint32_t SystemCoreClock;     /*!< System Clock Frequency (Core Clock) */
+/**
+  \brief System Clock Frequency (Core Clock)
+*/
+extern uint32_t SystemCoreClock;
 
 
 /**
diff --git a/Device/ARM/ARMv8MML/Source/startup_ARMv8MML.c b/Device/ARM/ARMv8MML/Source/startup_ARMv8MML.c
index 89c9f5a..2040f50 100644
--- a/Device/ARM/ARMv8MML/Source/startup_ARMv8MML.c
+++ b/Device/ARM/ARMv8MML/Source/startup_ARMv8MML.c
@@ -1,8 +1,8 @@
 /******************************************************************************
  * @file     startup_ARMv8MML.c
  * @brief    CMSIS Core Device Startup File for ARMv8MML Device
- * @version  V2.0.1
- * @date     23. July 2019
+ * @version  V2.0.2
+ * @date     15. November 2019
  ******************************************************************************/
 /*
  * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
@@ -88,7 +88,8 @@
 #pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 
-const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = {
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[496];
+       const VECTOR_TABLE_Type __VECTOR_TABLE[496] __VECTOR_TABLE_ATTRIBUTE = {
   (VECTOR_TABLE_Type)(&__INITIAL_SP),       /*     Initial Stack Pointer */
   Reset_Handler,                            /*     Reset Handler */
   NMI_Handler,                              /* -14 NMI Handler */
diff --git a/Device/ARM/ARMv8MML/Source/system_ARMv8MML.c b/Device/ARM/ARMv8MML/Source/system_ARMv8MML.c
index 1ba389e..c623277 100644
--- a/Device/ARM/ARMv8MML/Source/system_ARMv8MML.c
+++ b/Device/ARM/ARMv8MML/Source/system_ARMv8MML.c
@@ -2,11 +2,11 @@
  * @file     system_ARMv8MML.c
  * @brief    CMSIS Device System Source File for
  *           ARMv8MML Device
- * @version  V5.3.1
- * @date     09. July 2018
+ * @version  V1.0.1
+ * @date     15. November 2019
  ******************************************************************************/
 /*
- * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -52,6 +52,12 @@
 
 
 /*----------------------------------------------------------------------------
+  Exception / Interrupt Vector table
+ *----------------------------------------------------------------------------*/
+extern const VECTOR_TABLE_Type __VECTOR_TABLE[496];
+
+
+/*----------------------------------------------------------------------------
   System Core Clock Variable
  *----------------------------------------------------------------------------*/
 uint32_t SystemCoreClock = SYSTEM_CLOCK;  /* System Core Clock Frequency */
@@ -72,7 +78,7 @@
 {
 
 #if defined (__VTOR_PRESENT) && (__VTOR_PRESENT == 1U)
-  SCB->VTOR = (uint32_t) &(__Vectors);
+  SCB->VTOR = (uint32_t) &(__Vectors[0]);
 #endif
 
 #if defined (__FPU_USED) && (__FPU_USED == 1U)
