Welcome to my blog

スポンサーサイト

ぼのかば

ぼのかば

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

新しい XC8 v1.10 のFreeモードはちょっとだけFlashROM容量に優しい かも。

ぼのかば

ぼのかば

ほぼ毎日,エアーバリアブルさんのブログを拝見させていただいております。

"MPLABX1.3を使って前のソースコードを読み込んでみる"
という記事が有りました。

その中のXC8コンパイラだけバージョンが上がっているので”という
記載が気になり,microchipのサイトからDLし直してみたら,
XC8 v1.10が公開されていました。

早速インストールして手元のプロジェクトをコンパイルしてみたところ,
v1.01よりFROM上のコードサイズが数%減りました。
以下メモ書きしておきます。

ちなみに,MacでMPLAB X IDEとXC8のインストール/アップデートは
過去のメモ書きをご参照ください。

以下詳細↓
手持ちのプロジェクト
(PIC12F1822,Timer1割り込み,IOポート割り込み,CCP1(PWM)利用)を
XC8 FreeモードでXC8のバージョンごとにコンパイルした結果,
下記の通りになりました。

V1.00の場合。>1755word(86%)使用 
XC8 v1.00 FROM使用量

V1.01の場合。>1796word(88%)使用
XC8 v1.01 FROM使用量

V1.10の場合。>1760word(86%)使用
XC8 v1.10 FROM使用量

ROM容量いっぱいいっぱいのカツカツ状態で組んでいた私にとって,
コンパイラのバージョンを変えるだけで2%削減はかなりありがたい数値です。

##1↓蛇足ですが,毎度コンパイルしたときに,Pro版買えば,もっとスリムになりまっせ。
  というメッセージが出ます。
The MPLAB XC8 PRO compiler output for this code could be 668 words smaller.
「お代官様,Standardで構いません。
 もうちょっと安く(せめて数千円で手に入るように)しておくんなせぇ。」
と願うのですが,ある物でがんばります。

##2
今更ですが,3バージョン比較して最も成績の悪いv1.01のreadmeを
読みました。(readmeはコンパイラと同じディレクトリに
txtとpdf形式で格納されています。)

Enhanced PIC optimizations
New optimizations, specifically aimed at the enhanced mid-range PIC devices, have been added. These optimizations reduce code size and target any code that indirectly accesses locations via the FSR registers.
↑当方訳
ミッドレンジ用の最適化が入ってます。コードサイズ削減します。
 FSRレジスタへの非直接参照を対象。”
という感じでしょうか。

1822はEnhanced Mid-range Coreなので,
対象外だったって事かもしれませんが,
無駄にv1.01だけ太ってた理由は何だったんだろうか。
てっきりコンパイラのバグ修正とかで
必然的に圧迫するようになったんだと思ってたのですが・・・。

なお,V1.10は新PIC対応だけでなく,色々と手を入れている様です。
(すぐバグ検出>マイナーアップデートにならない品質である事を祈ります)

Comments - 0

There are no comments yet.

Leave a reply

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