element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Embedded and Microcontrollers
  • Technologies
  • More
Embedded and Microcontrollers
Embedded Forum ARM Keil MDK is free (sort-of)
  • Blog
  • Forum
  • Documents
  • Quiz
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Embedded and Microcontrollers to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 35 replies
  • Subscribers 466 subscribers
  • Views 15562 views
  • Users 0 members are here
  • mdkarm
  • keil
  • mdk
Related

ARM Keil MDK is free (sort-of)

shabaz
shabaz over 3 years ago

For ages, the Keil development environment/compiler which they call MDK (Microcontroller Development Kit) has been a chargeable product, extremely unaffordable for home use : (

It's really annoying when microcontroller manufacturers only supply sample code using Keil. It's not always easy to port the project files to Eclipse, often it's hard and a lot of work!

For curiosity I re-logged onto the Keil website today, and noticed there is now a Community Edition! The announcement was in March it seems.

There doesn't seem to be a code limit, which is great. 

I just now tried to build some sample code from Dialog Semiconductor (they have cheap BLE chips but 95% of the more useful example projects are with Keil, not Eclipse, hence the interest) and it worked and I was able to download to the target eval board, which has an integrated J-Link, so that works too. I'm still learning how to use Keil, it's new to me.

image

Keil has a pack system which is quite neat.. I've only installed the Dialog specific pack so far:

image

Anyway, I just thought I'd mentioned that the community edition was available, in case anyone else is interested in trying it too.

  • Sign in to reply
  • Cancel

Top Replies

  • scottiebabe
    scottiebabe over 3 years ago +2
    This is great news! That is one of my biggest complaints about the Pico, trying to setup the c development environment is way too complicated for a causal complier user.... I like one button installs,…
  • WestfW
    WestfW over 3 years ago in reply to scottiebabe +2
    > When you use the ardunio framework somewhere there is a trigger to have the rp2040 reset into bootloader mode (I'm not sure how its done) Arduino uses a hack where setting the usb/serial bitrate to…
  • Fred27
    Fred27 over 3 years ago +2
    I've only ever used Keil when exploring the Cortex M0 and M3 soft processors on Xilinx FPGAs. Keil was the only IDE supported and was way to expensive to consider beyond experimenting using the free trial…
  • shabaz
    shabaz over 3 years ago in reply to WestfW

    That was just a side discussion on IDEs in general for Pico. Personally I'm happy with just building for the Pico from the command line, and using Visual Code, as shown in the screenshot above. The combination is great from my perspective, and free.

    However, I did download the latest CLion to see if it's straightforward to configure that for Pico, and it worked well!

    (for anyone who hasn't tried it, CLion is as close to Android Studio as possible, it's by the same org called JetBrains. It's a fantastic code editor and really good for code navigation).

    It is a 1-click effort to build projects, so perhaps CLion is a good option for an all-in-one IDE for Pico projects.

    CLion is chargeable, but at a reasonable price £69+tax in the UK, and the license is permanent with upgrades for that year. 

    The screenshot below shows a successful build for one of the Pico examples. I'll write up the steps in a blog post, but it was actually trivial to get to this stage.

    image

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • scottiebabe
    scottiebabe over 3 years ago in reply to WestfW

    This is incredible! That is a very clever solution. The same functionality applies to the rp2040 when programmed with the arduino framework. 

    image

    Thank you so much for explaining the magic that makes the bootloader entry happen!

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • phoenixcomm
    phoenixcomm over 3 years ago in reply to shabaz

    try to use Gradle for your build scripts. And yes there is an eclipse plug-in for it. but you will have to install it. (automation tool)

    this is a good guide. Building Java Projects with Gradle  and here is a good book (free pdf) Gradle Goodness notebook

    The problem is that Kiel is using an "Open-Source CPU" and trying to re-invent the wheel. Eclipse/GCC works well. and for the most part Eclipse auto-builds the project for you. if you look at the Kiel download page, you will see libraries download and install them via Eclipse.

    The problem is that the Kiel stuff is NOT OPEN and does not play well with gcc. You cant expect the stuff, that was written and targeted for Windows to work out of the box with LINUX/Eclipse/gcc. ALL of the calls will be very different. ie just try to open a stream under windows.. good luck chuck.

    I hope my 2 cents (rant) helps makes this murky water a little clearer.

    /~Cris

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • shabaz
    shabaz over 3 years ago in reply to phoenixcomm

    Keil is only for Cortex-M microcontrollers (as far as I'm aware), it's not a general-purpose IDE for (say) Linux or Windows app development.

    Learning Gradle is definitely on my list of tasks to do at some point! : ) Currently I'm learning cmake. Not because I have any major interest in that above other systems, but when working with other people's projects I need to understand how things work as-is in the system that is being used, before considering another method.

    Same with Keil, if a project already supports it, it will be impossible to consider a different build system, without understanding how the Keil project is configured, so I cannot get away with avoiding it.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • shabaz
    shabaz over 3 years ago

    For working with the Pi Pico, I've written up a workflow that uses CLion here:

    /products/raspberry-pi/b/blog/posts/using-clion-for-easier-coding-with-pi-pico-and-c-c

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Fred27
    Fred27 over 3 years ago

    I've only ever used Keil when exploring the Cortex M0 and M3 soft processors on Xilinx FPGAs. Keil was the only IDE supported and was way to expensive to consider beyond experimenting using the free trial.

    I'm still finding Visual Studio Code hard to beat for it's flexibility. Within just the last month I've used it for developing in:

    • Python for scripting Unreal Engine
    • Lua and C++ for a custom desktop product
    • Rust on the desktop
    • Embedded Rust (on the micro:bit)
    • Embedded C++ on the Pico
    • As my go-to text editor for YAML, TOML, markdown, etc.
    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • shabaz
    shabaz over 3 years ago in reply to Fred27

    VS Code is indeed brilliant : )  All the text editor software firms must be wondering where their sales went : )

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • GorgonMeducer
    GorgonMeducer over 3 years ago in reply to scottiebabe

    I have created a Pico-Template which is an MDK project. So you can use MDK for all Pico development, such as coding, compiling (using Arm Compiler 6), debugging etc.

    For debugging, you don't need an extra Pico working as a debugger adapter, and the pico template retargets printf to MDK debug (printf) view window. A software reset button has been added to the project.

    Enjoy~

    github.com/.../Pico_Template

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • scottiebabe
    scottiebabe over 3 years ago in reply to GorgonMeducer

    This is amazing! Thank you so much for sharing your hard work setting up a pico a template. I am downloading the 856 MB MDK as I type this Slight smile.

    I will try it out and let you know how it goes. Thanks again for sharing your project!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • scottiebabe
    scottiebabe over 3 years ago in reply to GorgonMeducer

    I was able to compile your template project and generate a uf2 image. However I can't seem to get Keil to see the pico when flashed with pico-debug.

    image

    Not sure...

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
<>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube