Welcome to my blog

スポンサーサイト

ぼのかば

ぼのかば

-
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
最終更新日--
Posted byぼのかば

PIC プログラムサイズの削減方法

ぼのかば

ぼのかば

例えば,XC8のFreeモード利用時,
コードは合っているはずなのにコンパイルエラーが出る事が有ります。

:0: error: can't find 0x3 words (0x3 withtotal) for psect "idataBANK0" in class "CODE" (largest unused contiguous range 0x0)

プログラムサイズオーバーしたときのエラー
これ,デバイスに対してコードが大きすぎる可能性が高いです。


こんなときの方法は基本的に3つ
 1.適切な最適化をする,コンパイラ上位バージョンの購入を考える。
 2.もっとコードがいっぱい入るデバイスに切り替える。
 3.ちびちびと手で最適化する。
です。

ただ,趣味でやるには
コンパイラは高いですし(最適化半分くらいのStandardでも495$もする・・・。)
デバイス切り替えは最後の手段です。
となると,ちびちびコードを手直しするしかない訳で・・・。

で,思いつく限りリストアップすると手段はこんな感じです。
1.型は小さいものを
2.インラインマクロはなるべく使わない>関数化
3.標準関数も自作
4.使わない変数,関数はコメントアウト(v1.00は効果有り,v1.01は効果なし)
5.使わないヘッダはインクルードしない(これも効くか怪しい。)
6.計算式の裏を考える

↓できれば手をつけたくないけど・・・。
7.最後はASM
8.関数やめる

以後,順に試した結果をUpしていこうと思います。

ちなみに,今作っているもの,終止下記のような状態です(T_T)。

プログラムエリア使用率 100%!

Comments - 0

There are no comments yet.

Leave a reply

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。