avrdude と makefile を使用して ATtiny2313 をプログラミングしています。関数を呼び出すとプログラムがフリーズしたように見えるため、スタック ポインターが適切に初期化されていないと思います。次のアセンブリ コードを見つけました。
.include "tn2313def.inc"
ldi r16, low(RAMEND) ; Main program start
out SPL,r16 ;Set Stack Pointer to top of RAM
うまくいくと思いますが、作成したcコードにどのように組み込むことができるかわかりません。すなわち。c. 特別なヘッダー ファイルをインクルードする必要がありますか、それともアセンブリではなくアセンブリであることを示す必要がありますか。私はプログラミングに比較的慣れていないので、このコードを適切に実装する方法、または現在の C コードをスタック ポインターに初期化する別の方法について、助けていただければ幸いです。
前もって感謝します。
スティーブン