1、1.设置堆栈空间大小在使用STM32编程时,一般情况不会关注堆栈空间的大小。
2、在STM32的启动文件中,已经帮我们预先设置好了堆栈空间的大小。一般默认的启动代码中,即可自行设置大小。
avrstudio4堆栈设置表中CSTACK的区域由编译环境中DATASTACK的值确定通过读代码,可以看出R16用于存储局部变量i用于fo循环的计数。而R28是个很关键的寄存器,它用来实现局部变量sT10]的存储,因为西数入口时,R28指向数据堆栈(即CSTACK)的最高地址+1,因此当西数的第一条指令SUBIR28,0x0A,就为在数据堆栈中开辟了一个数据空间,用于保存局部变量s(10]。循环时,通过将R28传给R30,R31清0,将R28+0到R28+9之间的RAM空间设置成55H。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)