最近のコンパイラが生成する出力ファイルはELFというフォーマットが主流かと思います。私が大学生の時はa.outが結構使われていて、ちょうどELFに移行する感じだった気がします。
そのためELFファイルを作成したあとに、インテルフォーマットやモトローラフォーマットに変換するというのが組み込みソフト開発の流れになっています。
ELFファイルはExecutable and Linking Formatから取った名前です。
歴史的に見るとUNIXのSystem V Release4(SVR4)で出てきたようです。詳しくはWIKIPEDIAなどで確認してみてください。
基本的には3つのパートで構成されているようで、ELFヘッダ、プログラムヘッダ、セクションヘッダで分かれているようです。
次回以降、すこしこのあたりを調べてみようと思います。