P4:コード圧縮終了

| | トラックバック(0)
 今日はコード圧縮の続き。やっている途中で LCD の初期化に失敗する理由がわかった。時間待ちの関数の中の for のダミーループが最適化で無くなっていた orz。for で使う変数を volatile 宣言し、時定数を調整するとオリジナルのソースで問題なく表示できるようになった。本当はオシロを引っ張り出してきて波形を見ながら調整したほうが良いのだが、仕事じゃないし、良いことにしよう (^^;

 IO レジスタのアクセスに構造体を使うのをやめてコードの圧縮も完了。H8 はメモリ間接のアドレッシングで論理演算が出来ないらしく、結構手間取る。ソースはかなり見づらくなったが、1bit 操作するだけで 16byte も使われてはかなわない。
 結局 1K 弱のコードから 100byte 程度削った。

 切のいいところまでやってしまって、今日も 30分の時間オーバー。

 明日は表示部を仮fix 予定。次はいよいよカウンターを使ってパルス間の周期測定だ。

-----
 こういうことをするのなら、アセンブラを使いたいところだが、H8 のアセンブラは未経験。手を広げすぎてプロジェクト自体が収束しなくては本末転倒。

トラックバック(0)

このブログ記事を参照しているブログ一覧: P4:コード圧縮終了

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

このブログ記事について

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

ひとつ前のブログ記事は「P4:LCD 初期化失敗」です。

次のブログ記事は「P4:表示ルーチン作成」です。

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

track feed Subscribe in a reader
Powered by Movable Type 4.01