电子说
介 绍
栈是MCU内部一块RAM区域,用于存放某些特别的数据,它按照后进先出(LIFO/FILO)的原则,主要是为了程序中函数和中断服务时保护现场、恢复现场。现在MCU的RAM空间越来越大,许多工程师都不用去关注栈的划分,但是如果遇到了大项目,就需要关注堆栈大小设置是否合理,如果有问题就很有可能导致Fault。
近期有工程师使用e2 studio调试瑞萨MCU时,需要查看栈的使用情况,通过软件找了一圈没有发现,感觉是没提供这个功能。其实e2 studio是有的,下面介绍stack栈的调试窗调出。
主要内容:
首先需要调出栈的观察窗口,通过菜单中的窗口>显示视图>其他,会调出显示视图窗口,选择Stack Analysis后会添加stack观察标签页。
图1 stack栈调出菜单及调出窗体
添加后的stack标签页提示缺少SNI文件及设置无法打开,如下图2所示。这是因为stack需要SNI文件,而之前工程是不需要的所以没有输出,需要设置输出stack文件,并且重新编译整个工程,编译整个工程按钮如图2中红框所示。
图2 stack添加到标签页后提示
打开stack输出文件选项,选择菜单中的项目>C/C++ Project Settings,如下图3所示,即调出工程设置菜单。
图3 工程设置选项
在C/C++ 构建>设置>Linker>Miscellaneous中,如下图4所示,选择启用Outputs a stack use information file这个选项,这样重新编译整个工程就可以使用了。
图4 stack设置选项
编译后的显示界面如下图5所示,需要注意的是编译要选择构建HardwareDebug即整个工程,不然不会生成SNI文件。
图5 stack标签页正常显示内容
结 论
通过上面的设置实现了e2 studio stack analysis的使用。
来源:瑞萨MCU小百科(作者:李明)
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !