generated from Embedded_Projects/CH32V307_Template
Fixed stack unbalance.
This commit is contained in:
parent
6cb6382aeb
commit
7a78a24a2a
|
@ -69,8 +69,12 @@ __IRQ_WEAK void NMI_Handler(void) {
|
|||
__IRQ_NAKED void SysTick_Handler(void) {
|
||||
/* Use naked function to generate a short call, without causing stack unbalance. */
|
||||
asm volatile(
|
||||
"li t0, 0xE000F004\n" /* Clear SysTick->SR */
|
||||
"sw zero, 0(t0)\n"
|
||||
"addi sp, sp, -4\n" /* Push */
|
||||
"sw t0, 4(sp)\n" /* Save t0 on stack */
|
||||
"li t0, 0xE000F004\n" /* SysTick->SR */
|
||||
"sw zero, 0(t0)\n" /* Write 0 to clear */
|
||||
"lw t0, 4(sp)\n" /* Restore t0 from stack */
|
||||
"addi sp, sp, 4\n" /* Pop */
|
||||
"j freertos_risc_v_mtimer_interrupt_handler"
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue