Skip to main content

An Interview with Ivan Rajkovic of MikroElektronika

I recently had a chance to review the mikroC Pro for ARM IDE as part of MikroElektronika’s 10 year anniversary celebrating the release of their first IDE.  As part of that review, I was able to interview Ivan Rajkovic, Manager of Software Development about their mikroC Pro for ARM.  I was impressed with the very genuine responses to my questions. 

an-interview-with-ivan-rajkovic-of-mikroelektronika-1_8254947bd89a39ef4b0f9b22c839bb78304c37a6.jpg

At the end of the review, I found the microC Pro for ARM IDE to be a very nice toolchain.  It is geared towards simplifying many complex tasks.  For someone trying to quickly create a prototype of their project, I would highly recommend taking a look at what they have to offer. 

For those not familiar with MikroElektronika, they produce an IDE with support for various languages and microcontrollers from a large selection of vendors.  To help out, they also offer a wide range of development boards.  They have a mantra of making things easy.  The IDE and development boards are further supported by the user community called Libstock.  For more on my impressions of their ARM targeted compiler, read my review here.

I hope that you enjoy the interview… 

1.       I notice that you have chosen to support the ST Micro STM32 and TI Tiva/Stellaris ARM Cortex M parts, what were the factors in choosing these Cortex M product lines, and are you looking to expand to other vendors’ offerings?  I also noticed that the STM32F401 series chip is not yet supported, is there a specific reason why?

We had and continue to have good cooperation with TI and ST Micro so it is something that happened naturally, and yes our plan for the future includes adding new vendors. Our ultimate goal is to support all major vendors.

With regards to the STM32401, it will be in our next release.  It is a new part family.  

an-interview-with-ivan-rajkovic-of-mikroelektronika-2_c936c812b31a1092f1f03e32c3a4146413452bb4.jpg

STM32F4 Discovery Sheild

2.       In my initial searches, I do not see any references to CMSIS (ARM sponsored hardware/software libraries), are any of these libraries included, or have all the libraries found in microC such as the DSP functions developed from scratch?

There are CMSIS compatible libraries such as DSP, while other libraries are MikroElektronika compatible, meaning you can switch between different architectures in MikroElektronika compilers with as little code change as possible.

3.       How does mikroC compiled code size compare to other ARM Cortex M compilers such as GCC and others?  What are the caveats in these in these comparisons? 

Typically mikroC generates code that is about 10-30% larger. As always it's difficult to compare code optimization between compilers, because the performance varies depending on the code you test them with.  Compiler A can perform better with a certain code than compiler B, but then do worse when you try with different code.

Yet, we have put a significant effort in making a great programming environment. Ease of usage was our main focus. Improving code optimization by a few increments would probably be of small value for most common usage scenarios. That being said, we have code optimization on our road map and we expect great improvements in that field soon.

(Writers Note: I was particularly impressed with this answer to this question in that it was honest, yet also recognizes the need to improve, and a plan to do it.  I have heard that there is a rather large update on its way, and that possibly some of these improvements will make it into this update.  For those that are wanting to get their product to market fast, often code optimization is not the first concern, but being able to actually prototype quickly and not need expert level talent to do so.)

4.       Where does MikroElectronika see itself compared against its competition, specifically in the ARM Cortex M space?

We think that the value/price ratio of our compilers is better than the competition for the paid offering, though for free alternatives such as the GNU compiler, MikroElektronika can't compete price-wise, but our compilers offer other features that offset this like free support, free upgrades, ease-of-use, a fast learning curve, a lot of examples, and a community supported with our platforms such as Libstock, and our forum. 

title

 5.       What features are you most proud about and what do you feel are some features of mikroC really set your product apart from the competition?

We are proud of the fact that the eco-system of MikroElektronika compilers keeps growing and becoming more versatile. Our compilers are more than just the software, our support, and Libstock, the coder's community are part of the total offering. We constantly listen to our users and their suggestions.

6.       As you complete 10 years of compiler development, where do you see your compilers going in the next 5 years?  How does IoT fit into this picture?

We have the same aim as when we started developing them - our compilers must be easy to use and work with, and they must not be annoying. 

IoT and many more projects are bringing the world of embedded programing to more and more people and hopefully we will be there for all those newcomers. 

 

DesignSpark Electrical Logolinkedin