- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EXPERIENCEEXCHANGE 经验交流
语言编程的程序堆栈溢出分析
MSP430 C
■ 沈阳军区疾病预防控制中心 刘宏斌
TI 的M SP430 系列单片机以其低功耗和高性能,越 main(v oid) {
来越多的受到众多开发人员的青睐。许多熟悉5 1 单片 fu n();
机并使用 K EI L C5 1 编译器的工程师由此转而使用 }
M SP4 30 的IA R C 编译器。但在实际调试工作中,由其 程序中定义了一个全局整型变量globe ,在fun ()函
是占用内存较多的C语言程序,有时会出现程序异常跑 数中定义了一个局部变量数组bu f[ 10],在主函数中调用
飞现象。排除硬件的干扰因素,其中有不少是堆栈的溢 fun ()函数。分别在KEIL C5 1 与M SP4 30 的IA R C 环境下
出所至。 为此文件建立工程并编译、连接(重建) 。
众所周知, 堆栈是一块独立于数据区的内存空间。单 KEIL C51生成连接列表文件的方法是:在集成开发
片机程序在执行过程中,若发生中断或执行CA LL 语句 环境下打开Proj ect-option for target-Li stin g 项,并选中
时,要将下一条语句的地址指针压入堆栈。在某些子程 linker Listin g 。重建工程后,可在工程所在目录下产生以
序中还要作现场保护,即将子程序中使用过的寄存器也 M 51 为扩展名的连接列表文件。
压入堆栈,子程序执行结束并返回前,要将堆栈中这些 IA R C 生成连接列表文件的方法是:在集成开发环
寄存器的原始值按后入先出的顺序恢复,最后再将程序 境下打开Proj ect-option -xlink -list 并选中gen erate linker
地址指针出栈,以便程序能继续向下执行。 List。重建工程后,可在工程所在目录的deb u g-li st 子
对于汇编语言来说,现场保护与恢复都由手工完 目录下产生以m a p 为扩展名的列表文件。这里以
成,堆栈的操作相对透明,而对于C 语言来说,以上操 msp430F147 为例,在包含选项里选msp430F147C.xcl 。
作均由编译器自动完成。由于单片机系统资源相对有 2 分 析
限,若程序设计不当而使数据区与堆栈指针重叠或堆栈
首先以文本编辑工具打开KEIL C51 产生的M 5 1 文
指针超出内存空间,则会导致堆栈溢出。程序返回时的
件,其中一段为:
地址被破坏,进而程序跑飞。
……
遗憾的是还没有那种编译器能给出堆栈可能溢出的
REG 0000H 0008H ABSOLU TE “REG BA N K 0 ”
警告,这往往会形成一个潜在的BUG。单片机系统总体
DA TA 0008H 000AH UN IT _DA TA_GROUP_
的内存需求是在选型时考虑的问题,本文不做讨论。在
DA TA 00 12H 0002H UN IT ?DT?43 0TEST
设计调试阶段,KEIL C51工程师一般是通过查看连接时 IDA TA 00 14H 000 1H UN IT ?STA CK
产生的列表文件,再综合考虑预留多少空间给堆栈使 ……
用。但是由于M SP4 30 的IA R C 的不同,对堆栈的使用 我们发现B
您可能关注的文档
- 「探讨香港电影制作融资渠道」 顾问研究报告简报目的.pdf
- BOT 融资方式在农村公路建设项目中的运用.pdf
- C语言程序开发规范.doc
- DDGS产品介绍及行情展望.pdf
- eil 英语听说能力实训大纲eil.doc
- eil植物染色体工程.ppt
- ERP项目实施建议书.doc
- IBTS-年钢铁產业展望:供过於求的一年-.pdf
- IC总线接口的FPGA实现研究.pdf
- infr公司必威体育精装版的介绍资料Infr ERP_概览.pdf
- 江苏省镇江市外国语学校2023-2024学年八上物理期末综合测试试题含.pdf
- 必威体育精装版国家开放大学电大本科《商法》多项选择判断名词解释题题库及答案.pdf
- 期末模拟试卷(试题)2024六年级上册数学北师大版含答案 .pdf
- 必威体育精装版浙美版小学三年级美术下册教案全册.pdf
- 无人机作文(精选10篇).pdf
- 江苏省南通市 2023-2024 学年度职业学校高三年级第一学期校际联考 旅游完整版72086269.pdf
- 必威体育精装版2022-GCP培训试题及答案.pdf
- 必威体育精装版办公桌椅采购合同范本 .pdf
- 民法典知识竞赛测试题题库(含答案解析) .pdf
- 模拟卷(北京专用,人教版1-8单元)2023-2024学年初中上学期期末.pdf
文档评论(0)