IAR堆栈溢出问题

上传人:s9****2 文档编号:508465199 上传时间:2023-04-29 格式:DOCX 页数:3 大小:103.99KB
返回 下载 相关 举报
IAR堆栈溢出问题_第1页
第1页 / 共3页
IAR堆栈溢出问题_第2页
第2页 / 共3页
IAR堆栈溢出问题_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《IAR堆栈溢出问题》由会员分享,可在线阅读,更多相关《IAR堆栈溢出问题(3页珍藏版)》请在金锄头文库上搜索。

1、GCC和IAR分配堆栈的方式不同,IAR先分配堆栈空间,相当于定义一个全局数组为堆栈空间,堆栈 初始为堆栈空间最高地址;GCC不用先分配堆栈,自动把RAM剩余空间作为堆栈空间,堆栈初始为RAM 最高地址。初学者很容易忽视这个问题,造成程序跑飞而找不到问题的症结,我在用IAR For MSP430的时候没遇 到过这个问题,因为 MSP430 的 RAM 比较大, IAR 默认是 80 字节,足够一般程序使用。但是使用IAR For SAM8的时候,有一个比较耗费堆栈的程序运行一段时间后出问题,由于要记录一个 24 小时的数组,而数组元素的值是在堆栈里改变的,所以,记录到一定时间以后,出现了堆栈不

2、足的情况, 初学者如果没有仿真器,是很难发现这个问题的,还好我用的 OPENice i500 仿真器在 Debug 的时候出现了 堆栈不足的警告,我才意识到是这里问题。IAR For SAM8 默认堆栈是 32 字节,既然不够用,那么就要增大,但是设置到多少合适呢? 首先编译你的程序,看程序用了多少自己的 RAM,w rLinker5B 162 bytts5 LIS1 506 bytwor coti uw;ry f LATA oanc-ry of COHST Dsncry(十 E-4 AbSGlLltiErXOptions for node *WXwr-j.j-5771Eldzta弓 oail

3、geiitcn- lEbLiE| L!pdk-hriMret.Cdtegorp:G皂仃eral Options C/C+compilerAssemblerCustom BuildBuild ActionsDebuggerSimulatorFET Debugger0CIli 切口 tE盟 tta. Cliitpiit#detirLt!HiagrLOEti csM o.dul e EijjTim :=Q-y IrLclude EuriprHSEHd entriSUU 1 肿MfiUlf IZh 1 口H4_UMAU IrtViJHMMfilk! |i*l*HIpVMHV.E |dn_F | 也yg

4、| K0120 - 0L212i|0123 - O12D!D0140 - 01412D1O - QI&34&170 om4018Q - 01012OISE - OlfiF2019E - 01A3百DATAZD Iliaa - 119253r*alICJITA20 Z1154- - 1CFFBACtel1caiacK2900 - 30FF000rel1CETkRT3100 - 312F30rel1ISA CODE3130 - 34F9-3CArel1 1?QF3. - FEEDZAJ|rl1IHTVECFFU0 IHF132eosi1RESETFETE - FFFF2ral1 2OOOl&DOO 0G(H145313 54rel1DATfliD C00011454 - OOOH?E253Frel1QaT&20_in-OdOlldEi - dOOiiJiJ!3rel1*EHD OF CFflSS REFERENCE-AT七*寸百*+寸百弋氏晋百七十*百*+寸彎士+寸士士旷寸*百+旷*七+寸弘旳申rM 哼由*宅Data model 决定数据大小

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号