<紙>さんLOG

「パソコンヲタクの雑記帳」
 PC/Linux系/物理・化学で遊んでいます。
思いついたことを綴っています。

PIC(10) SDCC

2008年07月01日 | PIC・マイコン
                                                日記@BlogRanking
PIC16F877A & mikroBASIC で遊んでいたら、2kW の制限が気になりだした。

RTCを読んでLCDで表示し、時刻変更は赤外線リモコンでコントロールする
ようなものを作ると、1.7kW を超えてしまった。

で、どうするか?(14ビット/16ビット共通で探してみた。)

1.US$ 149 で購入する。
  ・・・ムリ。
2.フリーのBASICを探す。
  boostBASIC は?beta版なので機能無制限だが、期限付き 2008.5.1 迄。
  (現状は、期限なしで、2kW の制限が付いた。)
  気に入らないのは、ポート名が大文字ダメ小文字であること。(PORTC --> portc)
  ・・・却下。
3.PIC18F 専用のBASICなら、Swordfish Compiler がある。
  ・・・どうしよう?
4.C言語に移るか。
  SDCC(Small Device C Compiler)はどうか。・・・ライブラリが無い。

言語選定のためには、PIC Micro Controller Languages (古いような気がするが)がうってつけかも。


何れにしろ、mikroBASIC のライブラリから脱却し、自作することにした。
PIC16F877A 向け自分専用で、mikroBASIC 標準のものをパクって7種類作った。
LCD、USART、ADC、I2C(master)、PWM、Flash、EEPROM

この自作lib により、8本を書き換えてみた。上記は、1.2kW となった。
今しばらく、mikroBASIC が使える。(さらに、PIC18F2550 専用版も作った。)


そこで、これらをC(SDCC)言語版に書き換え、SDCCに挑戦してみた。

mikroBASIC &自作 lib 版を6本、PIC16F877A でSDCCに移植してみた。
結果、BANKSEL のオンパレードとなり、サイズが激増してしまった。

SDCC のobjサイズ = mikroBASIC の1.5倍 + 200W + ムダな include 分
(include すると、使っていなくてもオブジェクトが生成される。(当然ですか))

ということは、・・・振り出しに戻ったということだァ。4月が過ぎ去った。

お手数をおかけします。2クリック(投票を)お願いします ⇒ 日記@BlogRanking