 |
|
 |
MESC TOOL NEWS:
MESCT-MR30-000616D
Please take note of the following problem in using real-time OS MR30 for the M16C/60 and M16C/20 series of microcomputers:
-
Versions Concerned
| MR30 V.2.00 Release 1 -- MR30 V.3.20 Release 1 |
-
Problem
Issuing the prcv_msg system call does not allow the value of register R3 to be maintained.
-
Conditions
This problem occurs if the following two conditions are satisfied:
(1) A prcv_msg system call is issued from a source file described in assembly language. Note that this problem does not occur if this system call is issued from a source file described in C language.
(2) The message is 32 bits in length.
-
Workaround
Add an instruction for saving register R3 to the macro definition of the prcv_msg system call contained in the mr30.inc file. This file will be found in the lib30 subdirectory under the directory where MR30 has been installed.
[Macro Definition of prcv_msg System Call]
--------------------------------------------------------
prcv_msg .MACRO MBXID
.ASSERT 'prcv_msg' >> ..file@mrc
MOV.B MBXID,A0
MOV.W #TFN_PRCV_MSG,R0
.if FAR_MSG_MODEL
PUSH.W R3 <--- Added
INT #39
POP.W R3 <--- Added
.else
INT #33
.endif
.ENDM
--------------------------------------------------------
-
Schedule of Fixing Problem
We plan to fix this problem in our next release.
|
 |