title: arm gcc toolchain as arm-elf or arm-none-eabi, what is the difference?
body: <p>When you build a gcc toolchain there is the possibility to build it as  arm-elf or as arm-none-eabi, but what is the difference? </p>
  
  <p>I use the eabi today, but that is just since everyone else seem to do that... but since that is a really bad argument, it would be really nice to understand the difference.</p>
  
  <p>Note: This toolchain will crosscompile code for Cortex-M3 based mcu:s like the stm32.</p>
  
  <p>Thanks</p>
  
  <hr>
  
  <p><strong>Some links</strong>:</p>
  
  <p>EABI:</p>
  
  <ul>
  <li><a href="http://en.wikipedia.org/wiki/Application_binary_interface" rel="noreferrer">http://en.wikipedia.org/wiki/Application_binary_interface</a></li>
  <li><a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.subset.swdev.abi/index.html" rel="noreferrer">http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.subset.swdev.abi/index.html</a></li>
  </ul>
  
  <p>ELF: </p>
  
  <ul>
  <li><a href="http://en.wikipedia.org/wiki/Executable_and_Linkable_Format" rel="noreferrer">http://en.wikipedia.org/wiki/Executable_and_Linkable_Format</a></li>
  </ul>