You are here

High-Quality Code Generation with the Keil MDK Compiler | Cypress Semiconductor

High-Quality Code Generation with the Keil MDK Compiler

Did you know you had a choice of ARM compiler in PSoC Creator? By default a new project uses the GNU ARM C Compiler Collection (GCC-ARM) but you can optionally switch to the Keil MDK compiler if you wish. MDK the Microcontroller Developers Kit is a complete software development environment containing the µVision IDE ( micro-vision ) and built-in debugger plus the optimizing C compiler from ARM Ltd.

PSoC Creator supports the export of whole projects into µVision, where you have access to their excellent software development tools, but you can also just configure your project to build with the MDK C compiler. This gets you access to their state-of-the-art code optimization techniques and memory-efficient microlib run-time library.

Changing compilers is really easy with PSoC Creator you simply pick the new toolchain in the Build Settings (under the Project menu), as shown in the picture, and rebuild the application. The startup and generated source code is all tested with both compilers and so there are no compilation problems in the PSoC code. So long as you have not used a lot of compiler-specific language extensions (like interrupt keywords or anonymous unions) in your application code you can complete a toolchain upgrade in no time at all.

selecting the MDK Compiler in Project -> Build Settings

We do not actually ship the Keil tool set with PSoC Creator you need to download and install it from keil.com. The evaluation version is free and allows you to create applications up to 32kB.

I use this compiler all the time and I highly recommend it. The code size optimization is superb and you might save enough flash space to add some cool new functions to your application that really impress the boss!

Comments

walt22's picture

Hi,
I tried this compiler. It builds a very compact code, but several strange error messages appeard (see Creator forum).
Switched back to good old GCC.
Walter

yfs's picture

I added some suggestions on the forum. I think you have to set the include paths up in the project for the new compiler.
-- Mark.

ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.