arm-v7m systick:call irq_attach_thread.

Signed-off-by: yangguangcai <yangguangcai@xiaomi.com>
diff --git a/arch/arm/src/armv7-m/Kconfig b/arch/arm/src/armv7-m/Kconfig
index 5e96e1e..97022b2 100644
--- a/arch/arm/src/armv7-m/Kconfig
+++ b/arch/arm/src/armv7-m/Kconfig
@@ -153,3 +153,21 @@
 	depends on TIMER
 	---help---
 		Enable SysTick timer driver.
+
+config ARMV7M_SYSTICK_IRQ_THREAD
+	bool "attach irq by irq_attach_thread"
+	default n
+	depends on ARMV7M_SYSTICK
+
+if ARMV7M_SYSTICK_IRQ_THREAD
+
+config ARMV7M_SYSTICK_IRQ_THREAD_PRIORITY
+	int "SYSTICK IRQ THREAD PRIORITY"
+	default 255
+	range 0 255
+
+config ARMV7M_SYSTICK_IRQ_THREAD_STACK_SIZE
+	int "SYSTICK IRQ THREAD STACK SIZE"
+	default DEFAULT_TASK_STACKSIZE
+
+endif # ARMV7M_SYSTICK_IRQ_THREAD
diff --git a/arch/arm/src/armv7-m/arm_systick.c b/arch/arm/src/armv7-m/arm_systick.c
index b7c706b..2b2f466 100644
--- a/arch/arm/src/armv7-m/arm_systick.c
+++ b/arch/arm/src/armv7-m/arm_systick.c
@@ -294,7 +294,14 @@
       putreg32(NVIC_SYSTICK_CTRL_TICKINT, NVIC_SYSTICK_CTRL);
     }
 
+#ifdef CONFIG_ARMV7M_SYSTICK_IRQ_THREAD
+  irq_attach_thread(NVIC_IRQ_SYSTICK, NULL,
+                    systick_interrupt, lower,
+                    CONFIG_ARMV7M_SYSTICK_IRQ_THREAD_PRIORITY,
+                    CONFIG_ARMV7M_SYSTICK_IRQ_THREAD_STACK_SIZE);
+#else
   irq_attach(NVIC_IRQ_SYSTICK, systick_interrupt, lower);
+#endif
   up_enable_irq(NVIC_IRQ_SYSTICK);
 
   /* Register the timer driver if need */