title: ARM Development on Linux
body: <p>I have purchased a Tiva C series LaunchPad TM4C123G Evaluation Kit from Texas Instruments. This kit contains a small PCB with an ARM Cortex M4F microcontroller. Now I want to start writing software for this microcontroller. I am used to program AVR 8-bit microcontrollers using AVR Studio on Windows. I heard that it shoud be easy to program ARM-based microcontrollers on Linux, and since Linux is my main platform, I would like a simple IDE that will work more or less like I am used to from AVR.</p>
  
  <p>For several days I have been searching for a good IDE and tools that will do the job. To my surprise, only a few will run on Linux, and none is open source or freeware. Can this really be true? I do not want to spend several hundred dollars just to try out some programming for the Cortex M4F. Nor do I want to learn one IDE now and then another later when I found out it is not good enough or too expensive. I am used to Linux and the open source way of doing things and I am very shocked that nobody seem to be doing any serious embedded ARM programming with open source tools on Linux. Please correct me if I am wrong.</p>
  
  <p>I have no plans running Linux on the Cortex M4F - I just want to program it like a normal microcontroller.</p>
  
  <p>Texas Instruments recommends one of the following tool chains on the back cover of the evaluation kit:</p>
  
  <ul>
  <li>Code Composer Studio IDE: full functional board locked</li>
  <li>Keil: 32KB address limited</li>
  <li>IAR: 32KB address limited</li>
  <li>Mentor Embedded Sourcery CodeBench: 30-day full functional</li>
  </ul>
  
  <p>I have also been recommended Red Studio from code_red.</p>
  
  <p>Neither is open source or free and all have limitations. It seems to me that only Code Composer Studio and Red Studio is Linux compatible.</p>
  
  <p>I stumbled upon yet another product, Rowley CrossWorks, which is also Linux compatible but still very commercial and expensive.</p>
  
  <p>Is it really true that there is no open source alternative? Most of the products seem to use Eclipse and GCC, which one should be able to do without these commercial packages, right? I just can't find any tutorial or guide explaining how to do set this up for embedded ARM programming. Also I need to know how to program the device after compiling.</p>
  
  <p>I really want to get started soon. Any advice and ideas are very appreciated :-)</p>