开源好用的一些库

perf_counter:是傻孩子在工作中总结和整理出的一个库,它的特点是在不干扰已有 SysTick 功能的前提下额外为我们提供系统周期测量的功能(可以通过多次自动测量求平均)——并在这基础上衍生出了 delay_us() 和 系统时间戳的功能。目前已经在freertos,threadX,RTX5,rt-thread上进行了支持,在keil中是以pack的形式存在可以进行下载安装

在MDK中是以 cmsis-pack的形式进行部署的,您可以在关注【裸机思维】公众号后,发送消息“perf_counter” 来获取最新的网盘链接。具体部署细节,可以参考文章《【喂到嘴边了的模块】超级嵌入式系统“性能/时间”工具箱

注意:

这里(KEIL MDK下选项-C/C++)的 Assembler Option,根据你MDK版本的不同,它可能有以下几个有效选项:

  • armclang(Auto Select)——我吐血推荐选这个

  • armclang(GNU Syntax)—— 这个意思就是使用 GNU的汇编语法,显然不能选它;

  • armclang(Arm Syntax)——这是最新MDK(从5.32开始)才有的选项,选了也行;

  • armasm(Arm Syntax)——这就是 Arm Compiler 5里一直使用的老汇编器,选他当然兼容性最好

perf_counter库的使用当然也存在限制

  • 如果你原本的 RTOS 使用了 SysTick并开启了Tickless模式,perf_counter虽然不会干扰原有的 SysTick功能,但自己的计时功能却会受到 Tickless模式的干扰;

  • perf_counter库假设你原本的SysTick应用会保持一个固定的定时周期——也就是 LOAD寄存器的内容是固定的、不会随着程序的执行而经常变化。其实RTOStickless模式会干扰perf_counter的计数可靠性也是这个原因。

一般来说,大部分RTOS和普通的周期性定时功能都不会经常动态的去改变SysTick的计数周期,所以不必太担心

DoxgenDoxygen可以从一套归档源文件开始,生成HTML格式的在线类浏览器,或离线的LATEX、RTF参考手册。支持众多语言,需要在IDE中安装插件,然后按规范写注释,最后生成代码代码的参考手册。rt-thread上的示例

posted on 2021-01-11 10:17  杰瑞鼠  阅读(248)  评论(0编辑  收藏  举报