e² studio调试MCU stack栈设置及查看

电子说

1.3w人已加入

描述

介 绍

栈是MCU内部一块RAM区域,用于存放某些特别的数据,它按照后进先出(LIFO/FILO)的原则,主要是为了程序中函数和中断服务时保护现场、恢复现场。现在MCU的RAM空间越来越大,许多工程师都不用去关注栈的划分,但是如果遇到了大项目,就需要关注堆栈大小设置是否合理,如果有问题就很有可能导致Fault。

近期有工程师使用e2 studio调试瑞萨MCU时,需要查看栈的使用情况,通过软件找了一圈没有发现,感觉是没提供这个功能。其实e2 studio是有的,下面介绍stack栈的调试窗调出。

主要内容:

首先需要调出栈的观察窗口,通过菜单中的窗口>显示视图>其他,会调出显示视图窗口,选择Stack Analysis后会添加stack观察标签页。

RAM 图1 stack栈调出菜单及调出窗体

添加后的stack标签页提示缺少SNI文件及设置无法打开,如下图2所示。这是因为stack需要SNI文件,而之前工程是不需要的所以没有输出,需要设置输出stack文件,并且重新编译整个工程,编译整个工程按钮如图2中红框所示。

RAM 图2 stack添加到标签页后提示

打开stack输出文件选项,选择菜单中的项目>C/C++ Project Settings,如下图3所示,即调出工程设置菜单。

RAM 图3 工程设置选项

在C/C++ 构建>设置>Linker>Miscellaneous中,如下图4所示,选择启用Outputs a stack use information file这个选项,这样重新编译整个工程就可以使用了。

RAM 图4 stack设置选项

编译后的显示界面如下图5所示,需要注意的是编译要选择构建HardwareDebug即整个工程,不然不会生成SNI文件。

RAM 图5 stack标签页正常显示内容

结 论

通过上面的设置实现了e2 studio stack analysis的使用。

来源:瑞萨MCU小百科(作者:李明)
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分