【喂到嘴边了的模块】超级嵌入式系统“性能/时间”工具箱
扫描二维码
随时随地手机看文章
【开篇就白给?】
对大家熟悉的Cortex-M处理起来说,无论是强调极致资源和低功耗的Cortex-M0、还是频率达到上GHz且能与某些应用处理器掰一掰手腕的Cortex-M7,都不会缺席了SysTick的身影。
正因为SysTick是官方钦定的“不可或缺”的“基础设施”,无论是RTOS系统还是裸机应用,几乎所有的嵌入式固件都会用到它。在这一背景下,如果我告诉你,有一个基于C语言的模块,提供以下功能:
-
精确测量系统性能
-
精确测量函数执行时间
-
精确测量中断响应延迟
-
提供精确到us级的阻塞或非阻塞的延时服务
-
改善伪随机数的随机数特性
-
提供系统时间戳
-
……
使用了SysTick却不会占用SysTick;
或者说提供以上功能的同时,用户的原有的SysTick应用(比如RTOS调度器或是普通的应用延时)丝毫不会受到影响;
再直白点说:以上功能都是白送的,每个Cortex-M处理器都能立即享有,且不受到芯片型号的影响,
你是不是要直呼:“真就白给?”
是的!作为一个在Github上开源的C语言模块,它真就白给!
【请张嘴……啊~】
perf_counter版本一路进化,从加入对GCC、IAR的支持、通过Library简化用户部署以来,从版本1.6.1开始更是把模块的部署做到了极致的简化:
这次,你只要从下面的链接“一次性”的下载 CMSIS-Pack,就可以在MDK环境中实现傻瓜式的部署:
https://raw.githubusercontent.com/GorgonMeducer/perf_counter/CMSIS-Pack/cmsis-pack/GorgonMeducer.perf_counter.1.9.9.pack
也可以向公众号发送 perf_counter 进行下载。
下载后,双击pack文件进行无脑安装:
在确认了开原许可Apache 2.0的条款后,一路Next,直到单击Finish,完成整个安装过程:
一般来说,部署会非常顺利,但如果出现了安装错误,比如下面这种:
则很可能是您所使用的MDK版本太低导致的——是时候更新下MDK啦。关注【裸机思维】公众号后发送关键字"MDK",即可获得最新的MDK网盘链接。
当我们想在任何已有工程中部署perf_counter时,只需要单击MDK工具栏上如下图所示的图标:
打开RTE配置窗口:
我们会注意到,在列表的末端出现了一个Utilities条目,依次展开后勾选Performance下的perf_counter——默认情况下系统会自动选择以库的形式来实现模块的部署——这也是我吐血推荐的方式,因为它省去了不必要的编译麻烦。
单击OK按钮后,我们会发现Utilities已经被加入到了工程管理器中,而perf_counter.lib也已经成功的部署到了目标工程中:
看过我