 |
|
 |
MESC TOOL NEWS:
MESCT-NC308WA-990916D
NC308WA V.1.00 Release 1
Precaution
|
Please take note of the following problem in using C compiler NC308WA (with assembler and integrated develop environment) for the M16C/80 series of microcomputers.
- Versions Concerned
NC308WA V.1.00 Release 1
- Problem
When a normal interrupt handling function declared with #pragma INTERRUPT (without switch /F) is described in the source file where the substance of a fast interrupt handling function declared with #pragma INTERRUPT /F has already been described, control incorrectly returns from the normal interrupt handling. This is due to the fact that the "freit" code (performing the return from a fast interrupt) is generated at the ending procedure of the normal interrupt handling function in which the "reit" code (performing the return from a normal interrupt) should be generated.
- Conditions
This problem occurs if the following four conditions are satisfied:
- (1) The #pragma INTERRUPT /F directive (a fast interrupt handling function) is used (including the combined use of a /E or /B switch).
- (2) The #pragma INTERRUPT directive (a normal interrupt handling function with a /E, /B, or no switch) is used at the same time.
- (3) The fast and normal interrupt handling functions in (1) and (2) above are described inside the same source file.
- (4) The normal interrupt handling function is described after the fast interrupt handling function. (The order of declarations of #pragma INTERRUPT directives, however, has no effect on this problem.)
- Workaround
This problem will be circumvented by either of the following ways:
- Describe a normal (without the /F switch) and a fast interrupt handling function (with the /F switch) into an independent source file each.
- Describe a normal interrupt handling function before a fast one.
|
 |