Tool News
 
 
 

Tool News

Products Info
Downloads
Tools FAQs
RENESAS TOOL NEWS on October 19, 2007: 071019/tn1

A Note on Using the Real-Time OSes
for the SuperH MCU Families
--With Using the ivset_tfl Service Call--


Please take note of the following problem in using the real-time OSes for the SuperH MCU families:
  • With making the ivset_tfl service call


1. Products and Versions Concerned
   (1) All the versions of the real-time OS for the SH-4- and SH-4A-cored 
         MCUs, HI7750/4 V1.00r1 through V.2.02 Release 02
		 
   (2) All the versions of the real-time OS for the SH-4A- and SH4AL-DSP-
         cored MCUs, HI7300/PX V.1.00 Release 00 through V.1.02 Release 00
		 
   (3) All the versions of the real-time OS for the SH4AL-DSP-, SH-3-, and 
       SH3-DSP-cored MCU, HI7700/4 V1.00r1 through V.2.03 Release 00
	   
   (4) All the versions of the real-time OS for the SH2A-DUAL-cored MCUs,
         HI7200/MP V.1.00 Release 00 and V.1.00 Release 01
		 
   (5) All the versions of the real-time OS for the SH2-DSP-, SH-1-, SH-2-, 
         SH-2A-, and SH2A-FPU-cored MCUs, HI7000/4 V1.00r1 through V.2.02 
         Release 02

2. Problem
   If the program is running through the following steps, the ivset_tfl 
   service call issued in Step (4) may prevent task event flag specific to 
   the task in Step (1) from being set by the vset_tfl or ivset_tfl service 
   call in Step (2).

   (1) A task, here called A, is in WAITING state for task event flag. 
   (2) A program makes the vset_tfl or ivset_tfl service call to set any
       bits that task A is waiting for.
   (3) An interrupt (including a timer interrupt) is occurred while the 
       kernel is servicing the call in (2).
   (4) The handler (an interrupt-, cyclic-, alarm-, or overrun handler) 
       invoked by the interrupt in (3) issues the ivset_tfl service call to 
       task A to set any bits that task A is waiting for.

3. Workaround
   Use general event flag instead of task event flag as follows: 

   (1) Create an event flag as follows:
       - Attribute of event flag (T_CFLG.flgatr):       TA_WSGL|TA_CLR
       - Initial value of bit pattern (T_CFLG.iflgptn): 0
   (2) Set an event flag using set_flg or iset_flg in place of vset_tfl 
       or ivset_tfl.
   (3) Clear an event flag using clr_flg or iclr_flg in place of vclr_tfl 
       or ivclr_tfl.
   (4) Wait for an event flag using wai_flg, twai_flg, or pol_flg in place 
       of vwai_tfl, vtwai_tfl, or vpol_tfl with TWF_ORW for parameter
       'wfmode' (waiting mode).

4. Schedule of Fixing the Problem
   We plan to fix this problem in the next release of the products.



© 2008. Renesas Technology Corp., All rights reserved. Privacy | Legal