[Solved] Segger Studio: "__asm" Keyword generates error messages

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [Solved] Segger Studio: "__asm" Keyword generates error messages

    Hallo,

    I've tried to compile a project for a STM32F1 eval board, using a FreeRTOS sample. In the according files there are C-Funtions with inline assember code.
    Unfortunately the _asm keyword causes the trouble:


    __asm void vPortSVCHandler ( void )
    {
    PRESERVE8

    ldr r3, =pxCurrentTCB /* Restore the context. */
    ldr r1, [r3] /* Use pxCurrentTCBConst to get the pxCurrentTCB address. */
    .........
    orr r14, #0xd
    bx r14
    }

    [img]data:image/png;base64,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[/img]

    May be some other user had the same problem and can give a hint.

    Thanks a lot.
    Best Regards
    Ralph
  • I have solved the problem. Use CubeMx generate the TureStudio project with the same configuration of the your keil project. Then replace your the port.c and portmacro.h files with the TureStudio generated files in your keil project.
    Because SES use gcc compiler and TureStudio also use gcc, so the ported file can be used in SES.