This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS570LS1224: Routing SVC (Supervisor Call) from Bootloader to Application

Part Number: TMS570LS1224

Hello all,

I am working on a legacy Projekt with a Bootloader and Application. I had ported the Application to FreeRTOS wich runs fine so far when I run the Applcation right from the beginning of the Flash for simplifing debugging.

The context swtich is done by the supervisor call (svc 0).

Now when I try to run the porterd application on top of the bootloader I realize that the svc call gets stuck in the bootloader. When using a bootloader how do I route svc calls to the application?


Kind regards,

Jens

  • Hi Jens,

    Apologies for the delay in my response, here in TI-India we got consecutive holidays.

    Is it possible for you to share any simplest project for this issue to understand it better on my end? Or else at least more screenshots for pointing the issue.

    --
    Thanks & regards,
    Jagadish.

  • Hello Jagadish,

    thank you very much for your reply. I soved the problem by using the SSI interrupt instead of the supervisor call since as far as I know the vector table for Reset, Undefined, SVC, Prefetch, Data cant be relocated when changing from Bootloader to the Application, but the VIM gets configured appropriate by the Application startup code to handle peripheral interrupts.

    So I now use the SSI Interrupt to yield from the tasks or reschedule from the rti interrupt by calling

    systemREG1->SSISR1 = 0x7500; asm( " DSB " ); asm( " ISB " );

    and then in the ssiInterrupt() I do the context switch.

    Kind regards
    Jens Benner