Tool News
 
 
 

Tool News

Products Info
Downloads
Tools FAQs
RENESAS TOOL NEWS on May 1, 2004: RSO-M3T-NC30WA-040501D

A Note on Using C-Compiler Package
M3T-NC30WA V.5.30 Release 1

Please take note of the following problem in using the M3T-NC30WA V.5.30 Release 1 C-compiler package for the M16C/60, M16C/30, M16C/Tiny, M16C/20, M16C/10, and R8C/Tiny series MCUs:
  • On linking the _init routine


  1. Description
    When the M3T-NC30WA is upgraded from V.5.20 Release 1 to V.5.30 Release 1, the _init routine is linked in some cases. On the other hand, the routine already linked in V.5.20 Release 1 may be lost in the upgrade.

    This reason is that the assemble conditions of the two versions for calling the _init routine contained in the ncrt0.a30 startup file of the versions are different from each other as follows:

    if __STANDARD_IO__ != 1 in V.5.20 Release 1
    if __STANDARD_IO__ == 1 in V.5.30 Release 1

  2. Conditions
    This problem occurs if any of the following conditions is satisfied as a compiling environment:
    (1)The M3T-NC30WA V.5.30 Release 1 has inherited a project created by the integrated development environment, High-performance Embedded Workshop or TM, or make environment in V.5.20 Release 1.
    (2)Though a new project has been created by the High-performance Embedded Workshop in V.5.30 Release 1, the startup file of V.5.20 Release 1 is used.
    (3)When batch files are used to generate the system, the startup file of V.5.30 Release 1 is assembled using batch files containing assemble options for V.5.20 Release 1.


  3. Solutions of the Problem
    First, change the expression "if __STANDARD_IO__ != 1" to the one "if __STANDARD_IO__ == 1."
    Then, make changes to the settings of your compiling environment as follows:

    (1) In the TM
    (a) When you don't need to link the _init routine:
    i) Select an option macro AFLAGS in the Option Browser dialog box, and click the Edit button to open the Options dialog box.
    ii) If the parameter "__STANDARD_IO__=1" of the -D assembler option appears in the Options dialog box, select -D and click the Parameters button.
    iii) You will see the Parameter Strings text box; then delete the __STANDARD_IO__=1 parameter in this text box.
    (b) When you need to link the _init routine:
    i) Select an option macro AFLAGS in the Option Browser dialog box, and click the Edit button to open the Options dialog box.
    ii) In the Options dialog box, select the -D assembler option and click the Parameters button.
    iii) You will see the Parameter Strings text box; then type the __STANDARD_IO__=1 parameter in this text box.
    (2) In the High-performance Embedded Workshop
    (a) When you don't need to link the _init routine:
    i) Click the Assembly tab on the Renesas M16C Standard Toolchain dialog box; then select "Source" and "Defines" in the Category and the Show entries for drop-down list boxes respectively.
    ii) If the check box in front of the "[-D__STANDARD_IO__=1] Enable initialization for standard &I/O library." string has been checked, uncheck it.
    (b) When you need to link the _init routine:
    i) Click the Assembly tab on the Renesas M16C Standard Toolchain dialog box; then select "Source" and "Defines" in the Category and Show entries for drop-down list boxes respectively.
    ii) Check the check box in front of the "[-D__STANDARD_IO__=1] Enable initialization for standard &I/O library." string.
    (3) With the TM or High-performance Embedded Workshop not used
    (a) When you don't need to link the _init routine, delete the switch of -D__STANDARD_IO__=1 added to the assembler option if the switch is used.
    (b) When you need to link the _init routine, add the switch of -D__STANDARD_IO__=1 to the assembler option.





© 2008. Renesas Technology Corp., All rights reserved. Privacy | Legal