想要将rt-thread移植到microchip公司的atsamd20g18芯片上, 该芯片是cortex M0+架构,文档原文如下:

参考了同样是m0+架构的
STM32L系列芯片代码,在移植到PendSV_Handler函数时,报了以下错误,

大家有遇到过嘛,这个问题该怎么解决呢?
PendSV_Handler代码如下:
.globl PendSV_Handler
PendSV_Handler:
mrs r2, PRIMASK
cpsid I
ldr r0, =rt_thread_switch_interrupt_flag
ldr r1, [r0]
cmp r1, #0
beq pendsv_exit
mov r1, #0x00
str r1, [r0]
ldr r0, =rt_interrupt_from_thread
ldr r1, [r0]
cmp r1, #0
beq switch_to_thread
mrs r1, psp
sub r1, r1, #32
ldr r0, [r0]
str r1, [r0]
stmia r1!, {r4-r7}
mov r4, r8
mov r5, r9
mov r6, r10
mov r7, r11
stmia r1!, {r4-r7}
switch_to_thread:
ldr r1, =rt_interrupt_to_thread
ldr r1, [r1]
ldr r1, [r1]
ldmia r1!, {r4 - r7}
push {r4 - r7}
ldmia r1!, {r4 - r7}
mov r8, r4
mov r9, r5
mov r10, r6
mov r11, r7
pop {r4 - r7}
msr psp, r1
pendsv_exit:
msr PRIMASK, r2
movs r0, #0x4
r***s r0, r0, #0x0
bx r0