STM32/STM8技术william hill官网
直播中

李姜芫

7年用户 163经验值
私信 关注
[问答]

iar程序下载时的问题

我用的iar版本是6.30.1.3142,程序Rebuild all没有问题,但是在下载时提示“Stack pointer is setup to incorrect alignment. stack addr= 0xFFFFFFFF”,哪位大神知道这是什么问题?

回帖(10)

颜廷波

2018-8-31 16:22:32
帮顶,没用过iar,貌似堆栈错误?
 
以下来自度娘:
Stack pointer  顾名思义是栈指针,栈指针设置非法! 检查下IAR的设置
如果是C1的版本,解锁后,flash前4k的补丁程序也就丢失了,需要将iar的icf或keil的sct文件,修改为flash从0开始。   
        你看野火的三天入门的PDF,里面有设置flash的相关地址,试试,应该可以。
举报

王雷

2018-8-31 16:32:33
堆栈指针地址错误了,你用的那个芯片呢?是不是型号选择的不对
举报

李华瑞

2018-8-31 16:45:44
Stack pointer  顾名思义是栈指针,栈指针设置非法! 检查下IAR的设置。
可能是:
1、芯片型号选择错误
2、某个地址设置了错误的堆栈信息
举报

罗兰君

2018-8-31 16:56:48
堆栈指针没设置好
举报

张波

2018-8-31 17:08:38
楼主没选对芯片型号或地址没有设置正确。
举报

黄玫玫

2018-8-31 17:14:11
我之前也碰到过,没找到问题所在,不过解决了,是尽量减少栈的使用,然后就正常了
举报

崔琳

2018-8-31 17:31:30
堆栈使用异常、
1、可能是堆栈空间设置的太少了,你查看下scf 分散加载文件。
2、排查下代码中有没有用超大的局部变量,局部变量使用的是堆栈,超大局部变量会占用很多堆栈导致它溢出
3、检查下有没有函数入参是结构体的, 入参用的也是堆栈。
举报

李晓莉

2018-8-31 17:48:51
堆栈指针错误,芯片型号对不对,建议把工程上传上来,并说明所用的芯片,可能大家好帮你看看
举报

李姜芫

2018-8-31 17:55:20
感谢各位的悉心解答,该问题我是这样解决的:将iar自带的library拷贝到工程文件夹所在的驱动盘下,Rebuild All后就没有该错误提示了,而且Project/DownloadDownload file、erase memory等也都正常了。
举报

CHNlyt

2018-8-31 21:07:30
堆栈指针没设置好
举报

更多回帖

发帖
×
20
完善资料,
赚取积分