summaryrefslogtreecommitdiff
path: root/entry.c
diff options
context:
space:
mode:
authorNIIBE Yutaka <gniibe@fsij.org>2013-05-22 16:43:58 +0900
committerNIIBE Yutaka <gniibe@fsij.org>2013-05-22 16:43:58 +0900
commitaa3fd9876abe2131d2ebda9a418ade6a4b89f72c (patch)
treedda218a68035e1651df62754aa576a3f7fcad330 /entry.c
parent545ba9a57a88875db23e7e3b9c24084471db5dfc (diff)
Implement interrupt as thread
Diffstat (limited to 'entry.c')
-rw-r--r--entry.c23
1 files changed, 19 insertions, 4 deletions
diff --git a/entry.c b/entry.c
index 45f0da6..0eceaca 100644
--- a/entry.c
+++ b/entry.c
@@ -314,6 +314,7 @@ extern uint8_t __main_stack_end__;
extern void svc (void);
extern void preempt (void);
extern void chx_timer_expired (void);
+extern void chx_handle_intr (void);
handler vector_table[] __attribute__ ((section(".startup.vectors"))) = {
(handler)&__main_stack_end__,
@@ -333,11 +334,25 @@ handler vector_table[] __attribute__ ((section(".startup.vectors"))) = {
preempt, /* PendSV */
chx_timer_expired, /* SysTick */
/* 0x40 */
- none, none, none, none, none, none, none, none,
+ chx_handle_intr /* WWDG */, chx_handle_intr /* PVD */,
+ chx_handle_intr /* TAMPER */, chx_handle_intr /* RTC */,
+ chx_handle_intr /* FLASH */, chx_handle_intr /* RCC */,
+ chx_handle_intr /* EXTI0 */, chx_handle_intr /* EXTI1 */,
/* 0x60 */
- none, none, none, none, none, none, none, none,
+ chx_handle_intr /* EXTI2 */, chx_handle_intr /* EXTI3 */,
+ chx_handle_intr /* EXTI4 */, chx_handle_intr /* DMA1 CH1 */,
+ chx_handle_intr /* DMA1 CH2 */, chx_handle_intr /* DMA1 CH3 */,
+ chx_handle_intr /* DMA1 CH4 */, chx_handle_intr /* DMA1 CH5 */,
/* 0x80 */
- none, none, none, none,
+ chx_handle_intr /* DMA1 CH6 */, chx_handle_intr /* DMA1 CH7 */,
+ chx_handle_intr /* ADC1_2 */, chx_handle_intr /* USB HP */,
/* 0x90 */
- none,
+ chx_handle_intr, /* USB LP */
+ /* ... and more. CAN, EXT9_5, TIMx, I2C, SPI, USART, EXT15_10 */
+ chx_handle_intr, chx_handle_intr, chx_handle_intr, chx_handle_intr,
+ chx_handle_intr, chx_handle_intr, chx_handle_intr, chx_handle_intr,
+ chx_handle_intr, chx_handle_intr, chx_handle_intr, chx_handle_intr,
+ chx_handle_intr, chx_handle_intr, chx_handle_intr, chx_handle_intr,
+ chx_handle_intr, chx_handle_intr, chx_handle_intr, chx_handle_intr,
+ chx_handle_intr, chx_handle_intr,
};