 |
|
 |
MESC TOOL NEWS:
MESCT-NC77WA-981201D
NC77WA, NC77, NC79WA, NC79 Precautions
|
Please take note of the following problems in using compilers NC77WA and NC77 for the 77XX series and NC79WA and NC79 for the 7900 series of microcomputers.
On #pragma ROM Directive
- Versions Concerned
| Product Name | Versions |
| NC77WA, NC77 | V.4.00 Release 1 to V.5.00 Release 1 |
| NC79WA, NC79 | V.2.00 Release 1 to V.3.00 Release 1 |
- Problem
The "-ffar_ROM_data" option fails to work only on the variables defined by the #pragma ROM directive; i.e., these variables cannot be located in the far section.
- Conditions
This problem occurs if the following two conditions are satisfied:
- A variable is defined by the #pragma ROM directive.
- The "-ffar_ROM_data" option is used.
- Example
[C Source File]
-----------------------------------------------------------------------
#pragma ROM data;
int data = 0;
-----------------------------------------------------------------------
[Compilation]
-----------------------------------------------------------------------
nc77 -c -ffar_ROM_data sample.c
-----------------------------------------------------------------------
- Workaround
Declare variables to be of type "const"; they have not to be defined by the #pragma ROM directive.
[C Source File]
-----------------------------------------------------------------------
const int data = 0;
-----------------------------------------------------------------------
- Notes
- This problem occurs only in the variables defined by the #pragma ROM directive.
- When the "-fall_far" option is used which maps both RAM and ROM in the far section, the variables mentioned above are correctly located in the far section.
On #pragma SECTION Directive
- Versions Concerned
| Product Name | Versions |
| NC77WA, NC77 | V.4.00 Release 1 to V.5.00 Release 1 |
| NC79WA, NC79 | V.2.00 Release 1 to V.3.00 Release 1 |
- Problem
Interrupt sections cannot be renamed by using the function of the #pragma SECTION directive; i.e., their names remain unchanged with the message "Invalid #pragma SECTION, unknown section base name" displayed.
- Condition
This problem occurs if an interrupt section is renamed by using the function of the #pragma SECTION directive.
- Example
[C Source File]
-----------------------------------------------------------------------
#pragma SECTION interrupt warikomi
-----------------------------------------------------------------------
- Workaround
Don't rename interrupt sections by using the function of the #pragma SECTION directive.
|
 |