当前位置:首页 > > 裸机思维
[导读]对大家熟悉的Cortex-M处理起来说,无论是强调极致资源和低功耗的Cortex-M0、还是频率达到上GHz且能与某些应用处理器掰一掰手腕的Cortex-M7,都不会缺席了SysTick的身影。 正因为SysTick是官方钦定的“不可或缺”的“基础设施”,无论是RTOS系统还是裸机应用,几乎所有的嵌入式固件都会用到它。在这一背景下,如果我告诉你,有一个基于C语言的模块,提供以下功能:


【开篇就白给?】


对大家熟悉的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也已经成功的部署到了目标工程中:



看过我

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭