各位高手,我在用STM32做项目的时候,用MDK,我发现我的程序老是出一些莫名奇妙的问题,比如,编译好正确运行的程序,再加一个函数或将一些变量定义多些,再运行就会出问题!请问这是什么原因啊?网上好像说跟堆栈大小有关??求指教! 这是程序能按预期功能运行时的编译结果! 这是添加一些代码后程序编译的结果,程序运行就乱了! 可以确定的是添加的代码不会影响程序的逻辑功能。
RE:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
下面是堆栈修改的地方:在startup_XXX.s文件里面呢。
回复:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
我设置了,跟上面的一样。。。木有仿真器。。。。
上面只是位置实例,这个堆栈大小对应一般的小代码运行没问题,建议你修改成 0x1000 0x400 试一下
RE:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
RE:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
RE:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
RE:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1、函数中有很大的局部变量;
2、函数入参是结构体,结构体占的空间很大。
这两种情况都可能导致堆栈溢出,代码跑飞