Cで乱数を発生させる場合、特に精度を求めなければ、普通はrand() (<stdlib.h>)を使うことになります。が、もっと簡単なのでいい、という場合もあります。探してたら見つかったのでメモです。
これ:PICを使い乱数を発生させてLEDをランダムに光らせたいのですがプログラムがよくわ... - Yahoo!知恵袋
ちなみに、Attiny13Aでstdlib.hのrand()だと780byte程だったのが、上で紹介されてたrand()にしたら400byte弱になりましたとさ。ただまあ、まだ試してはい...
2011/12/04
[電子工作]AVRの逆アセンブラ、avr-objdump.exeを使う

AVRの逆アセンブラ、avr-objdumpの話です。
WinAVRでプログラムを書いていて、「どうしてこんなメモリを喰うんだろう?」と思う時がありました。Cのコードを少し変えただけなのに、です。こんな時は、コンパイル結果である機械語のコードが全く違っていたりするので、確認のためにアセンブリのソースも見ないといけません。となると、逆アセンブラの出番になります。
…前置きが長いですが、AVRの逆アセンブラ、「avr-objdump.exe」についてのメモです。
この実行ファイルのオプションを知るには、avr-objdump.exeのmanを見て頂くのが早いです。一応、コマンドラインでただavr-objdumpと入力しても、オプション一覧が出ると思います。下にオプション一覧の画面を貼ってきます。
avr-objdump.exeのオプション一覧
逆アセンブラを吐き出すためには、一旦C/C++で作成したプロジェクトをMake Allし、できたファイルのうちのオブジェクトファイル(拡張子は.o、大抵main.oとか)が必要です。コマンドラインで、avr-objdump -S main.o とすれば、逆アセンブラのリストがずらーっと並びます。テキストファイルなどにしたい場合は、avr-objdump...
登録:
投稿 (Atom)