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.

FreeRTOS, vPortYieldProcessor vs vPortSWI

Other Parts Discussed in Thread: HALCOGEN, RM48L950

I'd like to use a FreeRTOS 8.0.0 port for my RM48L950, but the original FreeRTOS code differs much from the HalcoGen FreeRTOS (even if I compare HalCoGen FreeRTOS with FreeRTOS 7.4.0 from freertos.org).

So, some questions:

1) Looks like some functions in the HalCoGen code point to the special MPU support - is it true? And what about the original FreeRTOS code?

2)  What is the purpose of using vPortSWI Handler in HalCoGen result code insted of vPortYieldProcessor Hanlder in the original FreeRTOS code?

3) What are the other differences (basically or in details)? Can I use the code from freertos.org or it is not correct enough?

Thanks a lot for your help.

  • Hi Alexander,

    We have received your post.  But, we need to get one of our experts on our FREERTOS support to answer your questions.

    Thanks!

  • Hi Alexander

    Answers to your Questions above

    1) Yes, FreeRTOS provides a wrapper support for MPU through mpu_wrapper.h and for Hercules platform these functions are implemented through mpu_wrapper.c which is generated as part of HALCoGen.

    2) I would say vPortSWI is super set which contains calls to vPortYieldProcessor ( SWI 0 ). vPortSWI use can be understood better during the restricted task execution and to support some of application need in terms of raise previledge, Enable/Disable interrupts and flexibilty to add more SWi's if application needs.

    3) You can use the files from freeRTOS directly, no issues. Just that HALCoGen helps in easing some of the port effort that typical user will face.