FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [November 2016 Threads]
The Tick Handler for the RL78 Demo version of FreeRTOS doesn't appear to be correct i..e why would it be calling the vTaskSwitchContext() function for each tick (see the first call below)?? Secondly since vTaskSwitch function is declared as type 'void' it won't be returning a function value however the code below is testing for a zero value return (cmpw ax, #0x00).
Or am I misssing something rather fundamental?? I appreciate all the insight that you can provide!!!!
This is installed as the interval timer interrupt handler.
RSEG CODE:CODE
vPortTickISR:
portSAVECONTEXT ; Save the context of the current task.
call _vTaskSwitchContext ; Call the timer tick function.
cmpw ax, #0x00
skz
call _vTaskSwitchContext ; Call the scheduler to select the next task.
portRESTORECONTEXT ; Restore the context of the next task to run.
reti
void vTaskSwitchContext( void )
My environment is as follows:
IAR EW for RL78 Version 2.21.2
IAR EW Version 7.4.1.4269
FreeRTOS Version 8.2.3
RTSDemo - YRPBRL78G13 (YRPBRL78G13 is #defined).
Where did you get that code from? When I look in the FreeRTOS
distribution for the IAR RL78 port I find the following code:
; FreeRTOS tick handler. This is installed as the interval timer interrupt
; handler.
RSEG CODE:CODE
vPortTickISR:
portSAVE_CONTEX ; Save the context of the current task.
call xTaskIncrementTick ; Call the timer tick function.
cmpw ax, #0x00
skz
call vTaskSwitchContext ; Call the scheduler to select the next task.
portRESTORE_CONTEXT ; Restore the context of the next task to run.
reti
Thanks for the prompt response!!
It appears that I accidentally changed the function name, xTaskIncrementTic, with an Edit operation.
Sorry to bother you , I should have compared with the original source before posting the original topic
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.