 |
|
 |
MAEC TOOL NEWS:
MAECT-MR30-010801D
Please take note of the following problems in using real-time OS MR30 for the M16C/60 and M16C/20 series MCUs:
- On using the iwup_tsk system call
- On using the -fansi option in the nc30 compiler
- Problem on Using the iwup_tsk System Call
- 1.1 Versions Concerned
- MR30 V.1.00 Release 1 -- V.3.30 Release 1
- 1.2 Description
- When issuance of an iwup_tsk system call invokes a task that is in the waiting state, MR30 may not return error code E_OK even if the code is to be returned.
- 1.2.1 Conditions
- This problem occurs if the following two conditions are satisfied:
- (1) The task to be invoked by the iwup_tsk system call is in the waiting state generated by the slp_tsk or tslp_tsk system call.
- (2) Other tasks exist which have the same priority as the above task and remain in the READY or RUN state.
- 1.2.2 Example
- In the source program shown below, error code E_OK is returned when the task whose ID number is 1 is invoked. So the error function is not performed. However, when the above conditions are met, E_OK is not returned even though the task with an ID number of 1 is invoked, which results in the error function being performed.
-----------------------------------------------------------------
if( iwup_tsk( 1 ) != E_OK ){
error( Q_OVR );
}
-----------------------------------------------------------------
- 1.3 Workaround
- Describe the evaluation of the conditional expression using E_QOVR, not E_OK, as shown below.
----------------------------------------------------------------------
if( iwup_tsk( 1 ) == E_QOVR ){
error( Q_OVR );
}
----------------------------------------------------------------------
- 1.4 Schedule of Fixing the Problem
- We plan to fix this problem in our next release.
MR30 Precaution MAECT-MR30-010801D
- Problem on Using the -fansi Option in the nc30 Compiler
- 2.1 Versions Concerned
- MR30 V.1.00 Release 1 -- V.3.30 Release 1
- 2.2 Description
- In the nc30 Compiler, compiling source programs with the -fansi option being selected causes syntax errors.
- 2.3 Workaround
- Please modify include file mr30.h stored in the INC30 directory under the one where MR30 has been installed as follows:
Modified
Line No. 17: _asm(" C_inc .EQU 1 \n\
Line No. 361: _asm("__MR_IntEntry .MACRO \n\
Original
Line No. 17: asm(" C_inc .EQU 1 \n\
Line No. 361: asm("__MR_IntEntry .MACRO \n\
- 2.4 Schedule of Fixing the Problem
- We plan to fix this problem in our next release.
|
 |