 |
|
 |
MESC TOOL NEWS:
MESCT-MR32R-990901D
Please take note of the following problems in using real-time OS MR32R for the M32R family of microcomputers.
- Problem in Using the "set_flg" and "iset_flg" System Calls
- 1.1 Versions concerned
- MR32R V.2.00 Release 1 -- V.3.00 Release 1
( Note that in MR32R V.3.10 Release 1 this problem has been fixed. )
- 1.2 Conditions
- If the following three conditions are satisfied, issuing a "set_flg" or "iset_flg" system call could not cancel waiting states of the tasks that meet the wait conditions:
- (1) For an event flag with an ID, more than one task exists which is waiting for the conditions for the event flag to be set.
- (2) A "set_flg" or "iset_flg" system call is issued for the event flag in (1), and an interrupt is requested during the processing of the system call.
- (3) While the interrupt in (2) is being serviced, an "irel_wai" system call is issued for the task that is waiting for the conditions for the event flag in (1) to be met.
- 1.3 Workaround
- Disable and enable any interrupt before and after the description of an "set_flg" or "iset_flg" system call, respectively.
[Example]
----------------------------------------------------------------
| void task1(void)
| {
| :
| :
| asm(" mvfc R0,PSW"); /*Interrupt disabled*/
| asm(" and3 R0,R0,#0xFFBF");
| asm(" mvtc R0,PSW");
|
| set_flg(ID_flg1,(UINT)0xff00ff00);
|
| asm(" mvfc R0,PSW"); /*Interrupt enabled*/
| asm(" or3 R0,R0,#0x0040");
| asm(" mvtc R0,PSW");
| :
| :
| }
|
----------------------------------------------------------------
- Problem in Using the "vras_fex" System Call
- 2.1 Version concerned
- MR32R V.3.00 Release 1
- 2.2 Description
- The "vras_fex" system call cannot be issued for the task where no exception handler is defined or the default exception handler only is defined.
- 2.3 Workaround
- Issue the "vras_fex" system call after defining any of the exception handlers except the default one by using the "def_exc" system call. (Note that in MR32R V.3.10 Release 1, the "vras_fex" system call can be issued for the tasks where no exception handler is defined or the default exception handler only is defined. If this call is issued for the task where no exception handler is not defined, the default exception handler is invoked.)
- Problem in Using the "ref_alm" System Call
- 3.1 Version concerned
- MR32R V.3.00 Release 1
- 3.2 Description
- If the "ref_alm" system call is issued for the alarm handler that has already been invoked, 0 is not stored in "lfttim.ltime" of the packet that indicates the status of the handler.
- 3.3 Workaround
- Please use MR32R V.3.10 Release 1 in which this problem has been fixed.
|
 |