This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

License for KEIL MDK is EXPENSIVE. Any way around??

I am starting my development work with Nordic Semiconductor nRF51822 Device and already purchased the Development kit. What i wanted to ask is do i need to purchase KEIL MDK 500 License to write my code/application? Because the Low energy soft devices themselves takes up space of 64KB -128 KB. Kindly suggest and explain, do i need to purchase SUPER EXPENSIVE license (£3,349.14 = $ 5412) of KEIL MDK500 to compile any application code with BLE soft-devices stack of Nordic Semiconductor? and is there any way around to escape the license cost?

  • Dear Guilherme Thanks for your fast reply. I'm looking for a platform for develop a ble small device application. I chose Nordic nrf 51 because it's new, updated, and have all that I need. But I completely unsatisfied about the software and the documentation. I'm a c++ programmer but new about Nordic programmer, so I think it will be easy for me try this device. I start follow all the docs on Nordic. I lost 2 days for compile hello world example. And after one week I discover that all the example are made with a software that i'll need to buy if my source'll be more than 32k... So it's not a problem,I call the software house because on the website there aren't price!!! And the first one developer licence is 4000 Euro! Are you crazy? I don't won't start to develop with this! Impossible! So I need to find another system for compile....or i'll change platform.... There are other ble chip.... Does any one use other?

    I try online mbed compiler.... Also here I try to follow examples and guide.... Nothing work?

    Can any one help me? Thanks Fabio

  • I use Crossworks, I've written about that many times before here. I'm on a Mac but Crossworks works on Windows too (not that I've tried it).

    You can certainly use Eclipse and gcc and there are loads of discussions here about getting that setup and running, lots of examples. That's free although there's an amount of learning and configuration you have to do and I found the debugging experience a bit fragile, because it relies on gdbserver which isn't the most stable of components. But it's free, and it works, and when you get it set up and learn it it's pretty usable, more usable than the crufty old Keil in my opinion. There's occasionally some pain when it comes time to upgrade things but that's rare.

    I ended up with Crossworks, which isn't free but is very reasonably priced for non-commercial use and not unreasonably priced if you want to go commercial. It's designed for embedded development as opposed to Eclipse which is designed for general development and can be configured to do embedded. It works natively with JLink (and some other debuggers) instead of using gdbserver which means the debugging experience is fast and complete and very stable. This was a key point for me. They support Nordic, which means they have the register maps and peripheral maps and configurations for softdevices. There's a learning curve, every IDE has a learning curve, but I'm now super-productive with Crossworks to the point the IDE gets out of the way and I can entirely concentrate on writing code. I personally never found Eclipse quite as frictionless and I wouldn't use Keil if you paid me.

    There's also a side benefit that Crossworks happens to work with other dev kits from (ahem) other manufacturers too, which has been rather useful as I tend to collect development boards at an unhealthy rate.

  • I started with Keil, but quickly migrated to GCC. I've written up on GCC setup for OS X and windows here:

    electronut.in/.../

  • Fabio,

    All BLE chips/SoC will have the same compiler licensing problem. Using Eclipse IDE with GCC compiler as suggested by "electronut" is the way to go if your application is over 32 kB. This is instead of using Keil or IAR compilers/IDEs.

    As far as having problems with the examples, I didn't have any problems as they work fine. Maybe you forgot to download the Soft Device (BLE stack) on the chip using the free nRFGo Studio software? You have to do that for the BLE examples (in s110 folder) to work.

  • Could you please share the detailed steps to compile with Eclipse and GCC?

Related