By Delyth Harris- Business Development
CodeWarrior for Kinetis – What Are Your Options?
CodeWarrior Developer Studio for Microcontrollers has been a popular choice of IDE for embedded software developers using Kinetis MCUs for many years. Its appeal has been largely because of its Eclipse-based development environment, and GNU compiler as well as providing industry-standard plugins and methodology. It has also been developed to connect seamlessly with the advanced hardware features of Kinetis processors and support additional development tools and middleware for Kinetis embedded solutions. A particular favorite of CodeWarrior developers is Processor Expert, a rapid application design tool integrated into the CodeWarrior tool suite. And let's not forget the fact that CodeWarrior comes with commercial support, a must for developers working in a commercial environment where time to market and product life cycle management is critical to profitability.
In early 2015, Freescale (now NXP) announced that CodeWarrior for MCUs will remain with the v10.6 feature-set moving forward and will only undergo critical issue support and maintenance in the future. This, coupled with the fact that CodeWarrior is also based on an older version of Eclipse and the underlying GNU tools, leads some developers who are still using CodeWarrior's C/C++ IDE to the inevitable question – where next?
Let's take a look at the options available to CodeWarrior users and consider their pros and cons:
1. Migrate to Kinetis Design Studio (KDS) IDE.
Pros: No license fee; GNU compatible; Eclipse-based; designed for use with all Kinetis devices; works with NXP tools and plug-ins such as Processor Expert.
Cons: No commercial support; no support for advanced import and project conversion; lack of debugging features such as trace; no support for C++ exceptions; no additional code optimizations.
2. Migrate to a proprietary non-Eclipse IDE and/or toolchain
Pros: Commercial support; access to other proprietary tools which may provide additional value; some code optimization.
Cons: License fee; code needs to be manually imported into a new IDE, and source code may need rewriting as part of migration from CodeWarrior; some commonly used development tools such as Processor Expert are not easily integrated or supported; C++ exceptions may not be supported; staff need to learn new tools; no guarantee that latest standards are supported.
3. Migrate to another IDE based on GNU and Eclipse.
These tools fall into three camps:
3a. Open-source tools using vanilla GNU and Eclipse
Pros: Free of charge; easier migration as moving from one GNU and Eclipse environment; support for latest C standards.
Cons: DIY solution; no commercial support; poor integration with NXP tools such as Processor Expert; no code benefit over open source tools such as KDS; possibly no support for C++ exceptions “out of the box”.
3b. Commercial products using vanilla GNU and Eclipse
Pros: Easier migration as moving from one GNU and Eclipse environment to another requires less code change; commercial support; likely to support latest C standards.
Cons: License fee; poor integration with NXP tools such as Processor Expert; no code or feature benefit over free of charge open source tools; no support for C++ exceptions; old versions of Eclipse and GNU tools.
3c. Commercial GNU and Eclipse IDE tool providing patented code optimization: SOMNIUM DRT NXP Edition
Pros: Easy migration using CodeWarrior project import wizard requiring minimal or no code changes; industry leading code optimization resulting in smaller, faster code which uses less energy; commercial support; support latest C and C++ standards; uses latest version of GNU tools and Eclipse (Mars); ease of use enhancements; trace support; fault diagnosis tool; C++ exceptions supported.
Cons: Fee based, one-off perpetual license fee.
Migration Option Feature Comparison:
|Feature||Kinetis Design Studio||Proprietary Non-Eclipse IDE||GNU & Eclipse Based IDEs|
|Open Source 'Vanilla'||Commercial 'Vanilla'||SOMNIUM DRT|
|CodeWarrior Auto Import||x||x||x||x||✓|
|No rewriting code||?||x||?||?||✓|
|NXP enablement e.g. Processor Expert||✓||?||?||?||✓|
|C++ Exception Support||x||?||x||x||✓|
|Advanced Code Optimization||x||?||x||x||✓|
About SOMNIUM® DRT NXP Edition:
DRT is the only product on the market offering automatic import and conversion of CodeWarrior for Kinetis projects, and is produced by SOMNIUM Technologies – who built the original Kinetis Design Studio IDE for NXP/Freescale.
Kinetis Design Studio (KDS) IDE is NXP’s software development platform that supports Kinetis MCUs and effectively replaces the CodeWarrior for MCUs (Kinetis devices only) development software. SOMNIUM DRT is a natural upgrade for users seeking enhanced facilities and commercial support, above and beyond what is begotten from KDS.
DRT builds code up to 30% smaller than other GNU based tools, with up to 50% energy savings and no source changes required. Its advanced IDE helps migrate existing projects and provides best in class debugging facilities.
As an NXP Proven Partner, SOMNIUM are also part of NXP's New Product Introduction (NPI) process, so DRT always supports the latest Kinetis devices, and will be updated to also support NXP LPC devices.
Further information on SOMNIUM DRT NXP Edition can also be found here.