调试大型软件程序始终是一项具有挑战性的工作;通常情况下,很难知道从哪儿入手!MSP432低功率和高性能微控制器 (MCU) 为MSP系列MCU提供了一款高级调试工具:串行线输出 (SWO) 跟踪。这款工具有助于调试复杂项目、跟踪多个事件、分析应用性能统计数据、并且跟踪大幅的数据流程图。
MSP432 MCU特有一个ARM® Cortex®-M4F CPU,而ARM硬件提供了可被用于调试用途的模块。特别是,有两个组件—数据和观察点跟踪单元 (DWT) 和指令跟踪宏单元 (ITM) –可被用来在不同的函数被调用时,找出特定存储器地址内的运行情况,或者中断是如何出现的。这些事件发生时,数据通过串行线输出 (Serial Wire Output) 被输出,这也是这款工具名称的由来。
TI的Code Composer Studio™ (CCS) 提供3个易用函数:统计函数性能分析、数据变量跟踪、和中断性能分析。
统计函数性能分析不仅仅显示程序中调用了哪个函数,还显示了每个函数的访问频率。这个函数在你希望从整体上降低程序功耗或资源消耗时会有所帮助。如果你优化了一个经常被调用的函数,其作用要远远大于只专注于被调用一次的函数。
数据变量跟踪使你能够观察到一个内存地址或变量在一段时间内的总体情况。你能够了解到计数器工作是否正常,或者变量的响应和变化是否正确。
中断性能分析可以帮助你了解中断的工作方式。你可以看到中断在何时进入和退出,以及中断是否被占先。
最后,CCS使你能够选择完全定制SWO跟踪 (SWO Trace) 的使用方式。通过使用定制内核跟踪 (Custom Core Trace),你可以挑选哪些会触发输出!
需牢记的一点是,这款靓丽工具只在MSP432 MCU中提供,所以,购买一款LaunchPad™ 开发套件,亲自动手来试一试吧!这部视频短片将帮助你熟悉这款工具。
开发人员还可以在其它MSP432 MCU开发环境中,诸如Keil® uVision® 或IAR Embedded Workbench®,利用SWO的强大功能,每个开发环境都有针对SWO Trace使用的教程。
相关文章









