Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Real time embedded FreeRTOS mailing list 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT Training




Loading

Valid (invalid?) Tick Handler for RL78 version of FreeRTOS ?

Posted by gerlad0 on November 17, 2016

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).


Valid (invalid?) Tick Handler for RL78 version of FreeRTOS ?

Posted by rtel on November 17, 2016

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

Valid (invalid?) Tick Handler for RL78 version of FreeRTOS ?

Posted by gerlad0 on November 18, 2016

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


[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]




Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2016 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOSTM distribution or available on this site are the exclusive property of Real Time Engineers Ltd.. See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd.

Latest News:

FreeRTOS V9.0.0 is now available for download.


Free TCP/IP and file system demos for the RTOS


Sponsored Links

⇓ Now With No Code Size Limit! ⇓
⇑ Free Download Without Registering ⇑


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Renesas Electronics Gold Alliance RTOS Partner.jpg

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

Atmel RTOS partner supporting ARM Cortex-M3 and AVR32 microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Xilinx Microblaze and Zynq partner

Silicon Labs low power RTOS partner

Altera RTOS partner for Nios II and Cortex-A9 SoC

Freescale Alliance RTOS Member supporting ARM and ColdFire microcontrollers

Infineon ARM Cortex-M microcontrollers

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

Cypress RTOS partner supporting ARM Cortex-M3

Fujitsu RTOS partner supporting ARM Cortex-M3 and FM3

Microsemi (previously Actel) RTOS partner supporting ARM Cortex-M3

Atollic Partner

IAR Partner

Keil ARM Partner

Embedded Artists