IAR集成开发环境如何设置堆栈大小.docxVIP

  • 44
  • 0
  • 约2.17千字
  • 约 2页
  • 2021-11-26 发布于江苏
  • 举报
[转] IAR 集成开发环境如何设置堆栈大小 GCC 和 IAR 分配堆栈的方式不同,IAR 先分配堆栈空间,相当于定义一个全局数组为堆栈空间,堆栈初始为堆栈空间最高地址;GCC 不用先分配堆栈, 自动把 RAM 剩余空间作为堆栈空间,堆栈初始为 RAM 最高地址。 初学者很容易忽视这个问题,造成程序跑飞而找不到问题的症结,我在用IAR For MSP430 的时候没遇到过这个问题,因为 MSP430 的 RAM 比较大,IAR 默认是 80 字节,足够一般程序使用。 但是使用 IAR For SAM8 的时候,有一个比较耗费堆栈的程序运行一段时间后出问题,由于要记录一个 24 小时的数组,而数组元素的值是在堆栈里改变的, 所以,记录到一定时间以后,出现了堆栈不足的情况,初学者如果没有仿真器, 是很难发现这个问题的,还好我用的仿真器在 Debug 的时候出现了堆栈不足的警告,我才意识到是这里问题。 IAR For SAM8 默认堆栈是 32 字节,既然不够用,那么就要增大,但是设置 到多少合适呢? 首先编译你的程序,看程序用了多少自己的 RAM , IMG title=转[ 载]IAR 下 Data stack(CSTACK)的设置问题 alt=转[载]IAR 下 Data stack(CSTACK)的设置问题 src=/middle/51f1a413g82

文档评论(0)

1亿VIP精品文档

相关文档