ソフトUARTとMMC関数移植完了
やっとAVR GCC用にソフトUARTとMMC関数移植完了しました。
MMCは難航しました。
tiny26でテストしていたのですが、UARTでデバッグ情報を出力してたら、その文字列リテラルでなけなしのRAM(128バイト)が食いつぶされてたり、ループカウンタが最適化の煽りでうまく回ってなかったりで、どうも本質的なことでつまるというより、環境によるものが多かったです。
教訓としては、
・デバッグ用なんかの文字列はめんどくさくてもFLASHのプログラム領域に置くようにする。
・最適化は最初は外してテストすること。容量が許すのであれば最適化は不要。
なんとなくコツも分かってきましたし、とりあえずこれでCでizCOREのメイン部分が組めそうです。
ソフトUARTとMMC周りのコンパイル後のサイズですが、最適化なしで1200バイトくらい食いました。
最適化最大で800バイトくらい。
ちなみにオールアセンブラだと2年前のおよそ同様の実装で600バイト強くらいでした。
こんな感じなのでtiny26はプログラム領域が2Kバイトしかなく、この先苦しそうなので、tiny861買いました。
| 固定リンク
この記事へのコメントは終了しました。

コメント