diff --git a/miosix_np_2/nbproject/configurations.xml b/miosix_np_2/nbproject/configurations.xml
index 910a14cb8a4abe8335572b1015c33549ba929698..ead1f864c7cf621931156d303e05c0f75bc9551e 100644
--- a/miosix_np_2/nbproject/configurations.xml
+++ b/miosix_np_2/nbproject/configurations.xml
@@ -14,8 +14,6 @@
             </df>
             <df name="lpc2138_miosix_board">
               <df name="core">
-                <in>interrupts.cpp</in>
-                <in>interrupts.h</in>
                 <in>stage_1_boot.s</in>
               </df>
               <df name="drivers">
@@ -38,6 +36,13 @@
             </df>
           </df>
           <df name="common">
+            <df name="core">
+              <in>interrupts.h</in>
+              <in>interrupts_arm7.cpp</in>
+              <in>interrupts_arm7.h</in>
+              <in>interrupts_cortexMx.cpp</in>
+              <in>interrupts_cortexMx.h</in>
+            </df>
             <df name="drivers">
               <in>dcc.cpp</in>
               <in>dcc.h</in>
@@ -54,10 +59,6 @@
                 <in>system_stm32f10x.c</in>
                 <in>system_stm32f10x.h</in>
               </df>
-              <df name="core">
-                <in>interrupts.cpp</in>
-                <in>interrupts.h</in>
-              </df>
               <df name="drivers">
                 <in>serial.cpp</in>
                 <in>serial.h</in>
@@ -143,10 +144,6 @@
                 <in>system_stm32f2xx.c</in>
                 <in>system_stm32f2xx.h</in>
               </df>
-              <df name="core">
-                <in>interrupts.cpp</in>
-                <in>interrupts.h</in>
-              </df>
               <df name="interfaces-impl">
                 <in>arch_registers_impl.h</in>
                 <in>atomic_ops_impl.h</in>
@@ -211,10 +208,6 @@
                 <in>system_stm32l1xx.c</in>
                 <in>system_stm32l1xx.h</in>
               </df>
-              <df name="core">
-                <in>interrupts.cpp</in>
-                <in>interrupts.h</in>
-              </df>
               <df name="interfaces-impl">
                 <in>arch_registers_impl.h</in>
                 <in>atomic_ops_impl.h</in>
@@ -252,10 +245,6 @@
                 <in>system_stm32f4xx.c</in>
                 <in>system_stm32f4xx.h</in>
               </df>
-              <df name="core">
-                <in>interrupts.cpp</in>
-                <in>interrupts.h</in>
-              </df>
               <df name="interfaces-impl">
                 <in>arch_registers_impl.h</in>
                 <in>atomic_ops_impl.h</in>
@@ -508,16 +497,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/stage_1_boot.s"
             ex="false"
             tool="4"
@@ -628,16 +607,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32/common/drivers/serial.cpp"
             ex="false"
             tool="1"
@@ -863,16 +832,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32f2/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -1063,16 +1022,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32l1/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -1188,16 +1137,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM4_stm32f4/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -1612,16 +1551,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/stage_1_boot.s"
             ex="false"
             tool="4"
@@ -1732,16 +1661,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32/common/drivers/serial.cpp"
             ex="false"
             tool="1"
@@ -1967,16 +1886,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32f2/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -2167,16 +2076,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32l1/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -2292,16 +2191,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM4_stm32f4/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -2718,16 +2607,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/stage_1_boot.s"
             ex="false"
             tool="4"
@@ -2788,6 +2667,31 @@
             tool="3"
             flavor2="0">
       </item>
+      <item path="../miosix/arch/common/core/interrupts.h"
+            ex="false"
+            tool="3"
+            flavor2="0">
+      </item>
+      <item path="../miosix/arch/common/core/interrupts_arm7.cpp"
+            ex="false"
+            tool="1"
+            flavor2="0">
+      </item>
+      <item path="../miosix/arch/common/core/interrupts_arm7.h"
+            ex="false"
+            tool="3"
+            flavor2="0">
+      </item>
+      <item path="../miosix/arch/common/core/interrupts_cortexMx.cpp"
+            ex="false"
+            tool="1"
+            flavor2="0">
+      </item>
+      <item path="../miosix/arch/common/core/interrupts_cortexMx.h"
+            ex="false"
+            tool="3"
+            flavor2="0">
+      </item>
       <item path="../miosix/arch/common/drivers/dcc.cpp"
             ex="false"
             tool="1"
@@ -2838,16 +2742,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32/common/drivers/serial.cpp"
             ex="false"
             tool="1"
@@ -3073,16 +2967,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32f2/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -3273,16 +3157,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32l1/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -3398,16 +3272,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM4_stm32f4/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -3863,16 +3727,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/stage_1_boot.s"
             ex="false"
             tool="4"
@@ -3983,16 +3837,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32/common/drivers/serial.cpp"
             ex="false"
             tool="1"
@@ -4218,16 +4062,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32f2/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -4418,16 +4252,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32l1/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -4543,16 +4367,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM4_stm32f4/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -4969,16 +4783,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/stage_1_boot.s"
             ex="false"
             tool="4"
@@ -5089,16 +4893,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32/common/drivers/serial.cpp"
             ex="false"
             tool="1"
@@ -5324,16 +5118,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32f2/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -5524,16 +5308,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32l1/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -5649,16 +5423,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM4_stm32f4/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -6075,16 +5839,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/stage_1_boot.s"
             ex="false"
             tool="4"
@@ -6195,16 +5949,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32/common/drivers/serial.cpp"
             ex="false"
             tool="1"
@@ -6430,16 +6174,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32f2/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -6630,16 +6364,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32l1/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -6755,16 +6479,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM4_stm32f4/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -7181,16 +6895,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/stage_1_boot.s"
             ex="false"
             tool="4"
@@ -7301,16 +7005,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32/common/drivers/serial.cpp"
             ex="false"
             tool="1"
@@ -7536,16 +7230,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32f2/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -7736,16 +7420,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32l1/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -7861,16 +7535,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM4_stm32f4/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -8285,16 +7949,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/stage_1_boot.s"
             ex="false"
             tool="4"
@@ -8405,16 +8059,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32/common/drivers/serial.cpp"
             ex="false"
             tool="1"
@@ -8640,16 +8284,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32f2/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -8840,16 +8474,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32l1/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -8965,16 +8589,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM4_stm32f4/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -9389,16 +9003,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/stage_1_boot.s"
             ex="false"
             tool="4"
@@ -9509,16 +9113,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32/common/drivers/serial.cpp"
             ex="false"
             tool="1"
@@ -9744,16 +9338,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32f2/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -9944,16 +9528,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32l1/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -10069,16 +9643,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM4_stm32f4/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -10493,16 +10057,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/stage_1_boot.s"
             ex="false"
             tool="4"
@@ -10613,16 +10167,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32/common/drivers/serial.cpp"
             ex="false"
             tool="1"
@@ -10848,16 +10392,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32f2/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -11048,16 +10582,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32l1/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -11173,16 +10697,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM4_stm32f4/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -11597,16 +11111,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/stage_1_boot.s"
             ex="false"
             tool="4"
@@ -11717,16 +11221,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32/common/drivers/serial.cpp"
             ex="false"
             tool="1"
@@ -11952,16 +11446,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32f2/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -12152,16 +11636,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32l1/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -12277,16 +11751,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM4_stm32f4/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -12701,16 +12165,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/stage_1_boot.s"
             ex="false"
             tool="4"
@@ -12821,16 +12275,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32/common/drivers/serial.cpp"
             ex="false"
             tool="1"
@@ -13056,16 +12500,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32f2/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -13256,16 +12690,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32l1/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -13381,16 +12805,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM4_stm32f4/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -13805,16 +13219,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/stage_1_boot.s"
             ex="false"
             tool="4"
@@ -13925,16 +13329,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32/common/drivers/serial.cpp"
             ex="false"
             tool="1"
@@ -14160,16 +13554,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32f2/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -14360,16 +13744,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32l1/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -14485,16 +13859,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM4_stm32f4/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -14909,16 +14273,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/arm7_lpc2000/lpc2138_miosix_board/core/stage_1_boot.s"
             ex="false"
             tool="4"
@@ -15029,16 +14383,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32/common/drivers/serial.cpp"
             ex="false"
             tool="1"
@@ -15264,16 +14608,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32f2/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32f2/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -15464,16 +14798,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM3_stm32l1/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM3_stm32l1/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
@@ -15589,16 +14913,6 @@
             tool="3"
             flavor2="0">
       </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.cpp"
-            ex="false"
-            tool="1"
-            flavor2="0">
-      </item>
-      <item path="../miosix/arch/cortexM4_stm32f4/common/core/interrupts.h"
-            ex="false"
-            tool="3"
-            flavor2="0">
-      </item>
       <item path="../miosix/arch/cortexM4_stm32f4/common/interfaces-impl/arch_registers_impl.h"
             ex="false"
             tool="3"
diff --git a/miosix_np_2/nbproject/private/configurations.xml b/miosix_np_2/nbproject/private/configurations.xml
index a936bd2fa3a5942219521a6a3dbc31fe0a82d23a..c817e169ecc1f961f53673fa91ebf0140bc6848c 100644
--- a/miosix_np_2/nbproject/private/configurations.xml
+++ b/miosix_np_2/nbproject/private/configurations.xml
@@ -14,8 +14,6 @@
             </df>
             <df name="lpc2138_miosix_board">
               <df name="core">
-                <in>interrupts.cpp</in>
-                <in>interrupts.h</in>
                 <in>stage_1_boot.s</in>
               </df>
               <df name="drivers">
@@ -38,6 +36,13 @@
             </df>
           </df>
           <df name="common">
+            <df name="core">
+              <in>interrupts.h</in>
+              <in>interrupts_arm7.cpp</in>
+              <in>interrupts_arm7.h</in>
+              <in>interrupts_cortexMx.cpp</in>
+              <in>interrupts_cortexMx.h</in>
+            </df>
             <df name="drivers">
               <in>dcc.cpp</in>
               <in>dcc.h</in>
@@ -56,10 +61,6 @@
                 <in>system_stm32f10x.c</in>
                 <in>system_stm32f10x.h</in>
               </df>
-              <df name="core">
-                <in>interrupts.cpp</in>
-                <in>interrupts.h</in>
-              </df>
               <df name="drivers">
                 <in>serial.cpp</in>
                 <in>serial.h</in>
@@ -145,10 +146,6 @@
                 <in>system_stm32f2xx.c</in>
                 <in>system_stm32f2xx.h</in>
               </df>
-              <df name="core">
-                <in>interrupts.cpp</in>
-                <in>interrupts.h</in>
-              </df>
               <df name="interfaces-impl">
                 <in>arch_registers_impl.h</in>
                 <in>atomic_ops_impl.h</in>
@@ -228,10 +225,6 @@
                 <in>system_stm32l1xx.c</in>
                 <in>system_stm32l1xx.h</in>
               </df>
-              <df name="core">
-                <in>interrupts.cpp</in>
-                <in>interrupts.h</in>
-              </df>
               <df name="interfaces-impl">
                 <in>arch_registers_impl.h</in>
                 <in>atomic_ops_impl.h</in>
@@ -271,10 +264,6 @@
                 <in>system_stm32f4xx.c</in>
                 <in>system_stm32f4xx.h</in>
               </df>
-              <df name="core">
-                <in>interrupts.cpp</in>
-                <in>interrupts.h</in>
-              </df>
               <df name="interfaces-impl">
                 <in>arch_registers_impl.h</in>
                 <in>atomic_ops_impl.h</in>
diff --git a/miosix_np_2/nbproject/private/private.xml b/miosix_np_2/nbproject/private/private.xml
index fc1d89ef527a8c1d35a73972b2c992c0e32ddb50..5f28423463adcb99445f5b5ab80e4bc0122cddb1 100644
--- a/miosix_np_2/nbproject/private/private.xml
+++ b/miosix_np_2/nbproject/private/private.xml
@@ -10,12 +10,6 @@
     <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/1"/>
     <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
     <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
-        <group>
-            <file>file:/media/truecrypt1/Projects/ARM/miosix/miosix-kernel/miosix/kernel/process.h</file>
-            <file>file:/media/truecrypt1/Projects/ARM/miosix/miosix-kernel/miosix/kernel/kernel.h</file>
-            <file>file:/media/truecrypt1/Projects/ARM/miosix/miosix-kernel/miosix/kernel/process.cpp</file>
-            <file>file:/media/truecrypt1/Projects/ARM/miosix/miosix-kernel/miosix/kernel/kernel.cpp</file>
-            <file>file:/media/truecrypt1/Projects/ARM/miosix/miosix-kernel/main.cpp</file>
-        </group>
+        <group/>
     </open-files>
 </project-private>