title: how to use arm-none-eabi-gcc compile STM32 program
body: <p>I have used arm-none-eabi-gcc(from launchpad) with Eclipse as my STM32 development tool for about several months(on ubuntu). It's a great IDE better than keil MDK I think. But now I wanna cast off the comfortable IDE and learn how the program is compiled. I want to know how the program is compiled in command line step by step. But it's not an easy way. I think that generating object file is almost the same to the normal program. The difficulty may be link. I have little knowledge about link and linker script. How to place interrupt vector into correct memory address. What are the necessary files in ARM CMSIS. What about newlib? Must I use it. What is "-spaecs" command line option. Too many questions for me. Do you have any information or reference about this. Thanks in advance.</p>
  
  <p>By the way, it's strange that I run </p>
  
  <blockquote>
    <p>make all</p>
  </blockquote>
  
  <p>get</p>
  
  <blockquote>
    <p>../system/src/newlib/_cxx.cpp:13:19: fatal error: cstdlib: No such file or directory</p>
  </blockquote>
  
  <p>but there is no error when it is built in Eclipse</p>