© 2016 Renesas System Design Co., Ltd. All rights reserved.
Project Conversion
between CS+ and
e
2
studio,
Notes and Tips
July 5, 2016
Software Business Division
Renesas System Design Co., Ltd.
Contents
Purpose of This Document Page 03
How to Convert Projects Page 04
Restrictions Page 10
Known Problems Page 28
© 2016 Renesas System Design Co., Ltd. All rights reserved.
Purpose of This Document
Existing projects can be converted between e2 studio and CS+ through the project import and export functions
although there are some restrictions due to the differences in project management policies between the tools. This document describes each restriction on functions that should be noted during project conversion.
Note: The tool name "CubeSuite+" was changed to "CS+" from V3.00.00 released on Oct. 1, 2014. The descriptions in this document apply to both CS+ and CubeSuite+ unless otherwise noted.
© 2016 Renesas System Design Co., Ltd. All rights reserved.
What is Project Conversion?
The format for saving project files differs between e2 studio and CS+. Therefore, a project created in either of
these tools cannot be used in the other tool. To solve this problem, each tool now supports a new function for outputting project files in a Renesas common format. Using Renesas common project files enables bidirectional project conversion. Renesas common project file Original project file Original project file Page 5
Project Conversion Procedures
CS+
→ e
2studio
(Reading CS+ projects into e2 studio) CS+ automatically generates "Renesas common project files (*.rcpe)". Use these files to convert a project. 1. Select [Import...] from the [File] menu in e2 studio and specify the “Renesas common project files
(*.rcpe)” output by CS+.
2. The imported projects can be used in e2 studio.
e
2studio
→ CS+
(Reading e2 studio projects into CS+) e2 studio does not automatically generate "Renesas common project files (*.rcpc)". Common project files
should be output first, and then the project can be converted.
1. Select [Export...] from the [File] menu in e2 studio and output “Renesas common project files (*.rcpc)”.
2. Select [Open Project...] from the [Project] menu in CS+ and specify the “Renesas common project files (*.rcpc)” output by e2 studio.
© 2016 Renesas System Design Co., Ltd. All rights reserved.
Project Conversion Combinations
Converting to the Same Toolchain
Page 7
RX Family
RX family C/C++ compiler CC-RX V1.00.00 and later versions are supported.
RL78 Family
RL78 family C/C++ compiler CC-RL V1.00.00 and later versions are supported.
Other Families Not supported.
Output of Renesas Common Project Reading of Renesas Common Project
CubeSuite+ V2.00.00 to V2.02.01
CS+ V3.00 and later versions
e2studio V.3.0.0 and later versions
e2studio V.3.0.0 and later versions
CubeSuite+ V2.00.00 to V2.02.01CS+ V3.00 and later versions
Output of Renesas Common Project Reading of Renesas Common Project
CS+ V3.00 and later versions
e2studio V.4.0.0 and later versionsProject Conversion Combinations
Converting to a Different Toolchain
RX Family
Conversion of a project created through a toolchain other than the RX family C/C++ compiler to a project using the RX family C/C++ compiler
− Not supported.
RL78 Family
RL78 family C compiler CA78K0R→ RL78 family C compiler CC-RL (Only conversion from a CS+ project to an e2 studio project is supported.)
* Note that source files are not converted. For source file conversion, refer to the following website.
https://www.renesas.com/ja-jp/products/software-tools/tools/compiler-assembler/compiler-package-for-rl78-family-convert.html
Other Families
Conversion to a project using a different toolchain
Output of Renesas Common Project Reading of Renesas Common Project
© 2016 Renesas System Design Co., Ltd. All rights reserved.
Restrictions
This section shows the code or settings that cause differences in operation from that in the original build environment as a result of project conversion, and describes a workaround for the problem that may occur due to each difference.
The descriptions also include preventive actions that should be taken before conversion; please be sure to read through this section before project conversion.
Under “Reason” on each page, the reason for the corresponding restriction and tips for avoiding problems are provided; please also read this information.
Restriction on Object Output (1)
Restriction
Workaround
A build error may occur. Do not convert a project when a folder name or a file name for the project has been changed.
Reason
CS+ outputs all object files to a single folder (folder names and file names can be changed).
e2 studio creates a folder under the output folder while retaining the hierarchical structure of the source files
and outputs the object files to the created folder (folder names and file names cannot be changed).
Restriction
e
2studio
→ CS+
CS+
→ e
2studio
The folder names and file names for the object files
(.obj) output by the compiler or assembler cannot be
ported to the target tool.
Applied
Applied
Applied/Not applied:
• Applied: This restriction is applied to the conversion in the direction of the arrow.
• Not applied: This restriction is not applied to the conversion in the direction of the arrow.
© 2016 Renesas System Design Co., Ltd. All rights reserved.
Restriction on Object Output (2)
Page 11
Restriction
Workaround
A build error may occur. Do not convert a project when a folder name or a file name for the project has been changed.
Reason
e2 studio manages file names as products (folder names cannot be changed). CS+ manages folder names
and file names as linker options (folder names and file names can be changed).
The above restriction applies due to the difference in specifications between the tools.
Restriction
e
2studio
→ CS+
CS+
→ e
2studio
The folder names and file names for the object files
(such as .abs) output by the linker cannot be ported to
the target tool.
Restriction on File Structure Conversion (1)
Restriction
Workaround
To CS+ (V3.0 and later versions), the physical structure of the folders in e2 studio can be ported as categories. To e2 studio, the categories in CS+ are not ported; the physical folders are displayed as the hierarchical
structure of the project.
Reason
CS+ has a conceptual hierarchical structure called categories. e2 studio has a physical structure of folders
and a conceptual hierarchical structure called links.
Restriction
e
2studio
→ CS+
CS+
→ e
2studio
The structure of the folders cannot be ported to the
target tool.
© 2016 Renesas System Design Co., Ltd. All rights reserved.
Restriction on File Structure Conversion (2)
Page 13
Restriction
Workaround
After conversion, check that the correct files are specified as the target of the build process.
Reason
e2 studio displays in the project window the files stored in the project folder. Only the specified files are to be
built. CS+ displays in the project window only the target files of the build process.
The above restriction applies due to the difference in specifications between the tools.
Restriction
e
2studio
→ CS+
CS+
→ e
2studio
The files that are not source files but stored in the
project folder are ported to the target tool regardless of
whether they are used in the project.
Restriction on File Names (1)
Restriction
Workaround
When multiple source files are registered in the same name, change the file names.
Reason
CS+ outputs all object files to a single folder and does not allow multiple source files to be registered in the same name. e2 studio outputs object files while retaining the hierarchical structure of the source files and
allows multiple source files to be registered in the same name.
Restriction
e
2studio
→ CS+
CS+
→ e
2studio
When multiple source files are registered in the same
name in a project, the project is ported to the target
tool but a build error may occur.
© 2016 Renesas System Design Co., Ltd. All rights reserved.
Restriction on File Names (2)
Page 15
Restriction
Workaround
Do not use characters #, $, and % in folder names or file names.
Reason
The characters indicating build variables in e2 studio and those indicating placeholders in CS+ have special
meaning and must not be used in folder names or file names.
Restriction
e
2studio
→ CS+
CS+
→ e
2studio
When a file name or a folder name uses a prohibited
character, the project may not be ported correctly.
Restriction on Linkage (1)
Restriction
Workaround
Specify library files and object files in the option setting panel.
Reason
e2 studio does not automatically link the library files and object files registered in a project. They should be
explicitly specified in the option setting panel. CS+ automatically links the library files and object files registered in a project. In addition, it also links the files specified in the option setting panel.
The above restriction applies due to the difference in specifications between the tools.
Restriction
e
2studio
→ CS+
CS+
→ e
2studio
The library files and object files registered in a project
are not ported as the files to be linked.
© 2016 Renesas System Design Co., Ltd. All rights reserved.
Restriction on Linkage (2)
Page 17
Restriction
Reason
In e2 studio, the order of standard library linkage can be changed through the function for customizing the
linkage order. CS+ always links the standard libraries at the beginning.
The above restriction applies due to the difference in specifications between the tools.
Restriction
e
2studio
→ CS+
CS+
→ e
2studio
The standard libraries are linked in the order
prescribed in the specifications of each tool.
Restriction on Project Conversion
Restriction
Workaround
Convert one project at a time.
Reason
e2 studio can export only one project at a time. CS+ can export the main project and subprojects together. The above restriction applies due to the difference in specifications between the tools.
Restriction
e
2studio
→ CS+
CS+
→ e
2studio
© 2016 Renesas System Design Co., Ltd. All rights reserved.
Restriction on Commands that Can be Added
to be Executed during Build Process (1)
Page 19
Restriction
Reason
e2 studio allows commands to be added before or after the build process, but does not allow commands
before and after each phase in the build process. CS+ allows commands to be added before or after the build process, and also before or after each phase in the build process.
The above restriction applies due to the difference in specifications between the tools.
Restriction
e
2studio
→ CS+
CS+
→ e
2studio
Added commands to be executed before or after each
processing phase (such as the compiler phase or
assembler phase) in the build process cannot be
ported to the target tool.
Restriction on Commands that Can be Added
to be Executed during Build Process (2)
Restriction
Workaround
When commands are written in multiple lines, write them in a single BAT file and add the file to the build process.
Reason
e2 studio does not allow commands written in multiple lines. CS+ allows commands in multiple lines. The above restriction applies due to the difference in specifications between the tools.
Restriction
e
2studio
→ CS+
CS+
→ e
2studio
Commands written in multiple lines cannot be ported to
the target tool.
© 2016 Renesas System Design Co., Ltd. All rights reserved.
Restriction on Commands that Can be Added
to be Executed during Build Process (3)
Page 21
Restriction
Reason
e2 studio does not support the build control function through Python commands. In CS+, commands that can
be executed on the Python console can be added as commands to be executed during the build process.
The above restriction applies due to the difference in specifications between the tools.
Restriction
e
2studio
→ CS+
CS+
→ e
2studio
Commands that can be executed on the Python
console cannot be ported to the target tool.
Restriction on Debugger Settings
Restriction
Workaround
After importing a project, add debugger settings.
Reason
Debugger settings are not included in the target of project conversion.
Restriction
e
2studio
→ CS+
CS+
→ e
2studio
© 2016 Renesas System Design Co., Ltd. All rights reserved.
Restriction on Conversion Log
Page 23
Restriction
Workaround
Open the option setting panel to check that the options are correctly ported.
Reason
e2 studio does not output a log file after conversion. CS+ outputs a log file after conversion. The above restriction applies due to the difference in specifications between the tools.
Restriction
e
2studio
→ CS+
CS+
→ e
2studio
Restrictions on Placeholders (1)
CS+ → e
2
studio
1/2
For project conversion from CS+ to e2 studio, placeholders are converted as shown in the following table.
CS+
Meaning
e
2studio
%FilePath% Absolute path to the file Converted to ${FilePath}. This placeholder is not used in the target tool and it is assumed to be empty. Modify it to the correct path.
%FileRelativePath% Relative path from the project to the file Converted to ${FileRelativePath}. This placeholder is not used in the target tool and it is assumed to be empty. Modify it to the correct path.
%FileDir% Absolute path to the folder including the
file
Converted to ${FileDir}. This placeholder is not used in the target tool and it is assumed to be empty. Modify it to the correct path.
%FileName% File name (not including the path) ${ProjDirPath}/$(basename $(notdir $<)) %FileLeaf% File name without file extension (not
including the path)
Converted to ${FileLeaf}. This placeholder is not used in the target tool and it is assumed to be empty. Modify it to the correct path.
%FileExt% File extension Converted to ${FileExt}. This placeholder is not used in the target tool and it is assumed to be empty. Modify it to the correct path.
%MainProjectDir% Absolute path to the folder for the main
project ${ProjDirPath}
%MainProjectName% Main project name Converted to ${ProjDirPath}/${ProjName}. Modify it to ${ProjName}. %ProjectDir% Absolute path to the folder for the project ${ProjDirPath}
© 2016 Renesas System Design Co., Ltd. All rights reserved.
Restrictions on Placeholders (1)
CS+ → e
2
studio
2/2
Page 25
For project conversion from CS+ to e2 studio, placeholders are converted as shown in the following table.
CS+
Meaning
e
2studio
%ConfigDir% Absolute path to the folder for the
configuration ${CONFIGDIR}
%MicomToolPath% Absolute path to the folder where CS+
is installed
Converted to ${MicomToolPath}. This placeholder is not used in the target tool and it is assumed to be empty. Modify it to the correct path.
%TempDir% Absolute path to the temporary folder ${TEMP} %WinDir% Absolute path to the Windows system
folder ${windir}
%ActiveProjectDir% Absolute path to the folder for the active
project
Converted to ${%ActiveProjectDir%}. This placeholder is not used in the target tool and it is assumed to be empty. Modify it to the correct path.
%ActiveProjectName% Active project name Converted to ${ActiveProjectName}. This placeholder is not used in the target tool and it is assumed to be empty. Modify it to the correct path.
%MainProjectMicomName% Name of the target microcontroller for
the main project
Converted to ${MainProjectMicomName}. This placeholder is not used in the target tool and it is assumed to be empty. Modify it to the correct path. %ProjectMicomName% Name of the target microcontroller for
the project
Converted to ${ProjectMicomName}. This placeholder is not used in the target tool and it is assumed to be empty. Modify it to the correct path.
%ActiveProjectMicomName% Name of the target microcontroller for
the active project
Converted to ${ActiveProjectMicomName}. This placeholder is not used in the target tool and it is assumed to be empty. Modify it to the correct path.
Restrictions on Placeholders (2)
e
2
studio → CS+
1/2
For project conversion from e2studio to CS+, placeholders are converted as shown in the following table.
e
2studio
Meaning
CS+
${workspace_loc} Absolute path to the workspace folder %ProjectDir%/../ ${workspace_loc:/<path>} Absolute path to the workspace folder
¥<path>
%ProjectDir%/../<path>
${workspace_loc:/${ProjName}/<path>} Absolute path to the project folder ¥<path> %ProjectDir%/../%ProjectName%<path>
${WorkspaceDirPath} Absolute path to the workspace folder Ported as ${WorkspaceDirPath} without change. Modify it to %ProjectDir%/../.
${ProjDirPath} Absolute path to the project folder %ProjectDir%
${ProjName} Project name %ProjectName%
${CONFIGDIR} Absolute path to the configuration folder %CondifDir%
${ConfigName} Configuration name %BuildModeName%
${selected_resource_loc} Absolute path to the selected resource folder %FullFile%
${selected_resource_name} Selected resource name %FileName%
${selected_resource_path} Relative path from the workspace folder to the selected resource folder
Ported as ${selected_resource_path} without change. Modify it to the correct path.
© 2016 Renesas System Design Co., Ltd. All rights reserved.
Restrictions on Placeholders (2)
e
2
studio → CS+
2/2
Page 27
For project conversion from e2studio to CS+, placeholders are converted as shown in the following table.
e
2studio
Meaning
CS+
${TEMP} Absolute path to the temporary folder %TempDir%
${TMP} Absolute path to the temporary folder Not output. Add the correct path. ${windir} Absolute path to the Windows system folder %WinDir%
${TCINSTALL} Absolute path to the folder where the toolchain is installed
Known Problems
This section shows the settings that are not correctly ported to the target tool after project conversion, and describes corrective actions to be taken in the converted projects.
The problems shown in this section regarding the settings that cannot be ported will be corrected in future revision or version updates.
© 2016 Renesas System Design Co., Ltd. All rights reserved.
Problem Regarding Toolchain Version Conversion
Page 29
Known Problem
Workaround
Check the message, and ignore it when the message is not correct.
Problem
e
2studio
→ CS+
CS+
→ e
2studio
If the file path for a toolchain is modified, a message
appears indicating that the toolchain has been
changed even when the toolchain version has not
been changed.
Problem Regarding Option Conversion (1)
Known Problem
Workaround
The options specified for each file may be replaced with the options specified for the entire project. Check that the following options are correctly specified after conversion.
Compiler options: -goptimize, -speed, -size, -optimize, -outcode, -map, -misra2004, -misra2012, -check_language_extension, -ignore_files_misra
Problem
e
2studio
→ CS+
CS+
→ e
2studio
The options specified for each single file may not be
correctly ported.
© 2016 Renesas System Design Co., Ltd. All rights reserved.
Problem Regarding Option Conversion (2)
Page 31
Known Problem
Workaround
The file is specified as a binary file input option after conversion; specify it again as a relocatable file input option.
Problem
e
2studio
→ CS+
CS+
→ e
2studio
When a relocatable file is specified as an input file for
the linker, it is handled as a binary file.
Problem Regarding Option Conversion (3)
Known Problem
Workaround
After conversion, specify again the options for optimizing the access to external variables.
*1: This problem was corrected in e2 studio V.5.1.0; this problem does not occur when e2 studio V.5.1.0 and
later versions are used.
Problem
e
2studio
→ CS+
CS+
→ e
2studio
The options for optimizing the access to external
variables (-map compiler option and -map linker
option) cannot be ported correctly.
© 2016 Renesas System Design Co., Ltd. All rights reserved.
Problem Regarding Option Conversion (4)
Page 33
Known Problem
Workaround
After conversion, specify again the option for optimization considering the type of data indicated by a pointer.
Problem
e
2studio
→ CS+
CS+
→ e
2studio
The option for optimization considering the type of data
indicated by a pointer (-alias compiler option) cannot
be ported correctly.
Problem Regarding Option Conversion (5)
Known Problem
Workaround
After conversion, specify again the option for disabling the prelinker.
Problem
e
2studio
→ CS+
CS+
→ e
2studio
The option for disabling the prelinker (-noprelink linker
option) cannot be ported correctly.
© 2016 Renesas System Design Co., Ltd. All rights reserved.
Corrected Restrictions and Problems
This section shows the restrictions and problems that were found and reported in older versions but are
corrected in new versions. Please read this section to check which product versions are not affected by each restriction or problem before project conversion.
Restriction on Option Conversion
Restriction
Workaround
This restriction does not apply when e2 studio V.5.1.0 or a later version is used. Reason
e2 studio allows toolchain options to be specified collectively to all source files in a folder in addition to the
toolchain options for the entire project and for each source file. CS+ does not allow options to be specified at the folder level.
The above restriction applies due to the difference in specifications between the tools.
Restriction
e
2studio
→ CS+
CS+
→ e
2studio
The options specified at the folder level cannot be
ported.
Applied
Not applied
© 2016 Renesas System Design Co., Ltd. All rights reserved.
Restriction on Linkage Order
Page 37
Restriction
Workaround
This restriction does not apply when e2 studio V.3.0.0 or a later version is used. Reason
e2 studio supports the function for specifying the order of linkage from V.3.0.0.