|
我是V5板用户,最近在多个地方看见Eric发的MDK AC6编译速度快,所以决定试一下。
工程是使用stm32cube产生的带Freertos 的工程,默认使用AC5正常编译,无警告。
选用AC6后,出现一堆错误,看起来主要是port.c的汇编产生的。
在论坛里坛友有分享了一篇“Migrate ARM compiler 5 to ARM Compiler 6”,在第10页提到inline assembler的问题,但不知道怎么改?
请问是否可以指导一下?
感谢感谢。
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM0/port.c(162): error: expected '(' after 'asm'
__asm void prvPortStartFirstTask( void )
^
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM0/port.c(162): error: expected ';' after top-level asm block
__asm void prvPortStartFirstTask( void )
^
;
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM0/port.c(166): error: use of undeclared identifier 'PRESERVE8'
PRESERVE8
^
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM0/port.c(255): error: expected '(' after 'asm'
__asm uint32_t ulSetInterruptMaskFromISR( void )
^
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM0/port.c(255): error: expected ';' after top-level asm block
__asm uint32_t ulSetInterruptMaskFromISR( void )
^
;
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM0/port.c(257): error: use of undeclared identifier 'mrs'
mrs r0, PRIMASK
^
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM0/port.c(263): error: expected '(' after 'asm'
__asm void vClearInterruptMaskFromISR( uint32_t ulMask )
^
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM0/port.c(263): error: expected ';' after top-level asm block
__asm void vClearInterruptMaskFromISR( uint32_t ulMask )
^
;
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM0/port.c(265): error: use of undeclared identifier 'msr'
msr PRIMASK, r0
^
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM0/port.c(270): error: expected '(' after 'asm'
__asm void xPortPendSVHandler( void )
^
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM0/port.c(270): error: expected ';' after top-level asm block
__asm void xPortPendSVHandler( void )
^
;
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM0/port.c(272): error: unknown type name 'vTaskSwitchContext'
extern vTaskSwitchContext
^
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM0/port.c(273): error: expected identifier or '('
extern pxCurrentTCB
^
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM0/port.c(285): error: use of undeclared identifier 'mov'
mov r4, r8 /* Store the high registers. */
^
14 errors generated.
|
|