アマチュア無線や電子工作,バイクの話などを徒然なるままに書き散らすメモ程度のblogです.


by jq1ocr

2バイトの攻防

ATtiny13A (1KB flash) でプログラミングしていましたら
avrdude: ERROR: address 0x0402 out of range at line 65 of main.hex
というエラーが出ました.0x0402 って,1KB より2バイト多いということですよね.tiny13A は SRAM が 64 バイトしかないので,最初から変数の使用も考えに考えていますし,プログラム的にもいろいろ切り詰めているので要らない行は基本的にないのですが,とりあえず優先度の低い機能を削ってみたところ,1022 bytes になって書き込めました.2バイト勝った!笑

汗かき(アセンブラ使い)なら更に効率的なプログラミングが出来ると思うのですが,私は暑がり(笑)なので,これ以上の拡張はあっさりあきらめました.ちょっとしたことをさせようとすると,1KB なんてすぐですねぇ.私は embedded 系の経験はないので,この辺りのノウハウは皆無ですが,こういう攻防をプロは毎日やってるんでしょうね.神経すり減りそうだなぁ.
【追記】少し書き方を変えてみたところ,一気に150バイト近く減りました.コンパイラのツボみたいなものがあるんでしょうねぇ.笑
[PR]
by jq1ocr | 2010-11-09 20:11 | マイコン・電子工作 | Comments(0)