../FreeRTOS/port/RVDS/ARM_CM0/port.c(167): error: expected '(' after 'asm'
__asm void prvPortStartFirstTask( void )
      ^
../FreeRTOS/port/RVDS/ARM_CM0/port.c(167): error: expected ';' after top-level asm block
__asm void prvPortStartFirstTask( void )
     ^
     ;
../FreeRTOS/port/RVDS/ARM_CM0/port.c(169): error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]
        extern pxCurrentTCB;
        ~~~~~~ ^
        int
../FreeRTOS/port/RVDS/ARM_CM0/port.c(171): error: use of undeclared identifier 'PRESERVE8'
        PRESERVE8
        ^
../FreeRTOS/port/RVDS/ARM_CM0/port.c(235): error: call to undeclared function '__dsb'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
        __dsb( portSY_FULL_READ_WRITE );
        ^
../FreeRTOS/port/RVDS/ARM_CM0/port.c(236): error: call to undeclared function '__isb'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
        __isb( portSY_FULL_READ_WRITE );
        ^
../FreeRTOS/port/RVDS/ARM_CM0/port.c(244): error: call to undeclared function '__dsb'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
        __dsb( portSY_FULL_READ_WRITE );
        ^
../FreeRTOS/port/RVDS/ARM_CM0/port.c(245): error: call to undeclared function '__isb'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
        __isb( portSY_FULL_READ_WRITE );
        ^
../FreeRTOS/port/RVDS/ARM_CM0/port.c(260): error: expected '(' after 'asm'
__asm uint32_t ulSetInterruptMaskFromISR( void )
      ^
../FreeRTOS/port/RVDS/ARM_CM0/port.c(260): error: expected ';' after top-level asm block
__asm uint32_t ulSetInterruptMaskFromISR( void )
     ^
     ;
../FreeRTOS/port/RVDS/ARM_CM0/port.c(262): error: use of undeclared identifier 'mrs'
        mrs r0, PRIMASK
        ^
../FreeRTOS/port/RVDS/ARM_CM0/port.c(268): error: expected '(' after 'asm'
__asm void vClearInterruptMaskFromISR( uint32_t ulMask )
      ^
../FreeRTOS/port/RVDS/ARM_CM0/port.c(268): error: expected ';' after top-level asm block
__asm void vClearInterruptMaskFromISR( uint32_t ulMask )
     ^
     ;
../FreeRTOS/port/RVDS/ARM_CM0/port.c(270): error: use of undeclared identifier 'msr'
        msr PRIMASK, r0
        ^
../FreeRTOS/port/RVDS/ARM_CM0/port.c(275): error: expected '(' after 'asm'
__asm void xPortPendSVHandler( void )
      ^
../FreeRTOS/port/RVDS/ARM_CM0/port.c(275): error: expected ';' after top-level asm block
__asm void xPortPendSVHandler( void )
     ^
     ;
../FreeRTOS/port/RVDS/ARM_CM0/port.c(277): error: unknown type name 'vTaskSwitchContext'
        extern vTaskSwitchContext
               ^
../FreeRTOS/port/RVDS/ARM_CM0/port.c(278): warning: duplicate 'extern' declaration specifier [-Wduplicate-decl-specifier]
        extern pxCurrentTCB
        ^~~~~~~
../FreeRTOS/port/RVDS/ARM_CM0/port.c(278): error: expected ';' at end of declaration
        extern pxCurrentTCB
                           ^
                           ;
1 warning and 18 errors generated.

原因是编译器的版本太高。下个5.06的版本。

或许多个编译器共存才是MDK的大法吧!-痞子衡-电子技术应用-AET-中国科技核心期刊-最丰富的电子设计资源平台

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐