ATtiny2313Vが7x5LEDマトリックスを制御して、スクロールするテキストを表示するプロジェクトがあります。テキストを表示するために、プログラムの残りの部分と一緒にフラッシュに保存されるフォントを作成しました。
フォント全体を含むプログラム全体は、1106バイトを使用します。しかし、それをチップにロードすると、実行されていないようです。代わりに、いくつかのLEDを点灯させるだけで、それだけです。
ただし、ほとんどのフォントを削除し、AからJの文字だけでコンパイルすると、プログラムのサイズは878バイトで、問題なく動作します。
これは、AVRフラッシュメモリのある種のオーバーフローが原因ですか?
ATtiny2313Vのデータシートには、2Kバイトのフラッシュがあると書かれています。1106バイトが多すぎるのはどうしてですか?
更新:明確にするために、私が使用しているツールチェーンはAVR Studio(コードをコンパイルするため)であり、次にAVRDudeを使用してマイクロコントローラーにアップロードします。私の知る限り、AVRStudioはavr-gccのバージョンを使用してコードをコンパイルします。