我正在使用 avrdude 和 makefile 对 ATtiny2313 进行编程。我相信堆栈指针没有正确初始化,因为当我调用一个函数时,程序似乎冻结了。我找到了以下汇编代码:
.include "tn2313def.inc"
ldi r16, low(RAMEND) ; Main program start
out SPL,r16 ;Set Stack Pointer to top of RAM
我认为这可能有效,但我不知道如何将它合并到我创建的 c 代码中。IE。我需要包含一个特殊的头文件还是以某种方式表示它是汇编而不是c。我对编程比较陌生,我将不胜感激有关如何正确实现此代码或使我当前的 c 代码初始化堆栈指针的另一种方法的任何帮助。
先感谢您。
斯蒂芬