25 lines
423 B
C
25 lines
423 B
C
#include <stdint.h>
|
|
|
|
#include "include/utils.h"
|
|
|
|
|
|
extern void trap_entry();
|
|
|
|
extern void timer0_irq_handler() __attribute__((weak));
|
|
|
|
|
|
void trap_handler(uint32_t mcause)
|
|
{
|
|
// we have only timer0 interrupt here
|
|
timer0_irq_handler();
|
|
}
|
|
|
|
void _init()
|
|
{
|
|
// 设置中断入口函数
|
|
write_csr(mtvec, &trap_entry);
|
|
// 使能CPU全局中断
|
|
// MIE = 1, MPIE = 1, MPP = 11
|
|
write_csr(mstatus, 0x1888);
|
|
}
|