LoginSignup
4
2

More than 5 years have passed since last update.

mbed .binの中身は?

Posted at

オンラインコンパイラでコンパイルした結果の.binファイル、普段からmbedドライブにコピーしていますが中身は何なのか気になったので調べました。

オフラインコンパイラのBuild Output

オフラインコンパイラのBuild Outputを見ると、fromelfコマンドで.axfファイルから.binファイルを生成していることがわかります。

BuildOutput
*** Using Compiler 'V5.06 update 1 (build 61)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'mbed NXP LPC1768'
compiling main.cpp...
linking...
Program Size: Code=16116 RO-data=1536 RW-data=52 ZI-data=592  
After Build - User command #1: fromelf --bin -o build\mbed_blinky_LPC1768.bin build\mbed_blinky.axf
".\build\mbed_blinky.axf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed:  00:00:01

教えて!Google先生!

".elf .bin"でググると、ELF イメージからプレーンバイナリ形式への変換というページが見つかりました。

各ロード領域に対して 1 つのプレーンバイナリ形式の出力ファイルを生成するには

"プレーンバイナリ形式"。
はて、プレーンバイナリ形式って何だろう?
アドレス0番地からのバイナリデータなのだろうか?

確認

デバッガにSimulatorを選択し、Debug Sessionを開始します。
20160122A.PNG

Memory Windowを表示して、Address=0に。ウィンドウをフローティングにして、幅を16バイトで折り返すよう調整します。
20160122C.PNG

.binファイルの中身と、Memory Windowの値を比較します。
20160122D.PNG

一致しました!

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2