質問

すればよいのでしょうかを見ることができ、アセンブリ言語の私のArduinoスケッチ.たいのですが実現。

更新: 私は、ArduinoソフトウェアをWindowsマシン。

役に立ちましたか?

解決

この利用 avr-objdump.elf ファイルを作成した。例えば、mac OS Xこれならできる:

$ cd ~/arduino-0015/examples/Digital/Blink/applet
$ avr-objdump -d Blink.elf

(パス窓が異なることは明らかであり.) この生分解にコードの一部を見て思ったこと。

0000013a <main>:
 13a:   0e 94 3e 01     call    0x27c <init>
 13e:   0e 94 97 00     call    0x12e <setup>
 142:   0e 94 80 00     call    0x100 <loop>
 146:   fd cf           rjmp    .-6             ; 0x142 <main+0x8>

他のヒント

ご利用の場合はLinuxできるようになりま このチュートリアルでどのようにコンパイルのためのArduinoのIDE.

だいすることができる組み立て上場による走行gcc-sフラグ。

以下の(hacky)ステップを組み立て語りのArduinoスケッチ及び関連ライブラリの窓:

  1. ダウンロード(および名称変更) Arduino Windowsのコマンドラインのバッチファイル のディレクトリからのスケッチの .pde ファイル)
  2. 設定に必要な環境変数として指定された上記のリンクページ
  3. 追加 -Sabuild_gcc_opts 変数 abuild.bat (158)
  4. abuild -r -c <pde_filename>
  5. されるものと考えられ、以下の警告やエラーがするので無視して構いません:

    ... warning: #warning "This file has been moved to <util/delay.h>."

    .\obj\<pde_filename>.cpp.o: file format not recognized: treating as linker script

    .\obj\<pde_filename>.cpp.o:1: syntax error

のアセンブリ言語りの .o ファイルの作成 obj ディレクトリです。例えば、上場のためのスケッチそのものが obj\<pde_filename>.cpp.o

の-S(s)フラグは、cコードです。としても知られてい混場:

linux:(.arduino/preferences.txt:delete_target_folder=false)

$ cd /tmp/buildxxxx.tmp
$ avr-objdump -dS Blink.cpp.elf

int main(void)
{
    init();
 2f4:   8a df           rcall   .-236       ; 0x20a <init>
...
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top