2

私は最近ArduinoUnoを購入しました。これは、基本的にatMega328 avrプロセッサーであり、I/Oやコンピューターへの接続などのすべての詳細が自動的に処理されます。

Arduino IDEとavr-gccコレクションを使用してコードを正常に記述できましたが、純粋なアセンブリコードを記述したいのですが、ドキュメントがほとんどないため、行き止まりになっています。つまり、「純粋な」アセンブリ、インラインcアセンブリなしなどを記述したいと思います。そのための手順と、可能であれば、サンプルプログラム(gcc-avrのアセンブリ出力はそれほど役に立ちませんでした。理解できないとすべて)。
特に:

  • どのようにavr-asにそのコードを例えば割り込みベクトルに入れるように指示することができますか?
  • どのようなディレクティブが利用できますか?
  • .dataセクションと.bssセクションはどこにありますか?

適切な例を教えていただければ幸いです。

4

3 に答える 3

3

私が見つけた最高のドキュメントはavr-gccアセンブラチュートリアルです。これはそれを説明しています:

  • avr-libcを使用して割り込みベクトルを使用できます。外部ライブラリなしでそれを行うために、Brett Haleが提案したように、ソースを参照できます。

  • それはavr固有のディレクティブに言及しています。

簡単な例もあります。

于 2012-05-10T12:05:58.647 に答える
2

avr-libcライブラリを確認することをお勧めします。名前に誤解を与えないでください。そのほとんどは、リンカースクリプト、低レベルのHWアクセスなどを備えた、高度に最適化されたAVRアセンブラーです。

于 2012-05-10T10:38:58.917 に答える
0

http://www.cs.nmsu.edu/~jcook/arduino/index.phpのArduinoWiki は、まさにそれを行う方法を提供します。アセンブリコード(.sファイル)を使用できるようにするには、ArduinoIDEを変更して再構築する必要があります。

于 2013-01-12T00:33:12.923 に答える