P4:LCD アクセスルーチンの ROM 化

| | トラックバック(0)
 今日は LCD アクセスルーチンの ROM 化。の前に、昨日作業を終えてから気がついた TimerW アクセスルーチンの<del>バグ</del>不具合を直して動作確認。

 そのあと、LCD アクセスルーチンを ROM 化し、テストプログラムを書いたのだが、あっという間にコードが膨れ上がり RAM 容量の壁にぶち当たる。

----
 このプロジェクトを始めてから、早一月半。LCD アクセスルーチンのファイルのタイムスタンプは丁度一ヶ月前。いくらなんでも2ヶ月以内に完成させたいと、今日の作業時間は2時間。
 予想外のところに時間を吸い取られていく...。
----
 H8+gcc は異様にコード効率が悪い。

struct sLcdFont {
    unsigned char code;
    unsigned char *dat;
};
void    lcd_font_set_up(void)
{
    int    i;
    struct sLcdFont buf;

    for (i = 0;i < 6;i++) {
        buf.code = i;
        buf.dat = font[i];
        func_tbl[SetLcdFont]((int)&buf);
    }
}
SetLcdFont は定数。

 この関数が 92byte。

void    put_disp(unsigned short x)
{
    disp_bar(x);
    disp_number(x);
    func_tbl[RewriteLcd](0);
}
RewriteLcd は定数
 この関数が 50byte

 ちなみにコンパイルオプションは -O。引数のレジスタ渡しとかしないのだろうか?

 開発中のコードに使える RAM 領域は 1kbyte 強ある。これだけあれば何とかなると思っていたのだが、全然足りなくなってきた。



トラックバック(0)

このブログ記事を参照しているブログ一覧: P4:LCD アクセスルーチンの ROM 化

このブログ記事に対するトラックバックURL: http://www.co-mind.info/cgi-bin/mt/mt-tb.cgi/1130

このブログ記事について

このページは、ytaroが2009年6月15日 13:23に書いたブログ記事です。

ひとつ前のブログ記事は「P4:TimerW アクセスルーチンの ROM 化」です。

次のブログ記事は「P4:バーグラフ表示を ROM に移動」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

track feed Subscribe in a reader
Powered by Movable Type 4.01