【喂到嘴邊了的模塊】超級嵌入式系統(tǒng)“性能/時間”工具箱
【開篇就白給?】
對大家熟悉的Cortex-M處理起來說,無論是強調(diào)極致資源和低功耗的Cortex-M0、還是頻率達到上GHz且能與某些應(yīng)用處理器掰一掰手腕的Cortex-M7,都不會缺席了SysTick的身影。
正因為SysTick是官方欽定的“不可或缺”的“基礎(chǔ)設(shè)施”,無論是RTOS系統(tǒng)還是裸機應(yīng)用,幾乎所有的嵌入式固件都會用到它。在這一背景下,如果我告訴你,有一個基于C語言的模塊,提供以下功能:
-
精確測量系統(tǒng)性能
-
精確測量函數(shù)執(zhí)行時間
-
精確測量中斷響應(yīng)延遲
-
提供精確到us級的阻塞或非阻塞的延時服務(wù)
-
改善偽隨機數(shù)的隨機數(shù)特性
-
提供系統(tǒng)時間戳
-
……
使用了SysTick卻不會占用SysTick;
或者說提供以上功能的同時,用戶的原有的SysTick應(yīng)用(比如RTOS調(diào)度器或是普通的應(yīng)用延時)絲毫不會受到影響;
再直白點說:以上功能都是白送的,每個Cortex-M處理器都能立即享有,且不受到芯片型號的影響,
你是不是要直呼:“真就白給?”
是的!作為一個在Github上開源的C語言模塊,它真就白給!
【請張嘴……啊~】
perf_counter版本一路進化,從加入對GCC、IAR的支持、通過Library簡化用戶部署以來,從版本1.6.1開始更是把模塊的部署做到了極致的簡化:
這次,你只要從下面的鏈接“一次性”的下載 CMSIS-Pack,就可以在MDK環(huán)境中實現(xiàn)傻瓜式的部署:
https://raw.githubusercontent.com/GorgonMeducer/perf_counter/CMSIS-Pack/cmsis-pack/GorgonMeducer.perf_counter.1.9.9.pack
也可以向公眾號發(fā)送 perf_counter 進行下載。
下載后,雙擊pack文件進行無腦安裝:
在確認(rèn)了開原許可Apache 2.0的條款后,一路Next,直到單擊Finish,完成整個安裝過程:
一般來說,部署會非常順利,但如果出現(xiàn)了安裝錯誤,比如下面這種:
則很可能是您所使用的MDK版本太低導(dǎo)致的——是時候更新下MDK啦。關(guān)注【裸機思維】公眾號后發(fā)送關(guān)鍵字"MDK",即可獲得最新的MDK網(wǎng)盤鏈接。
當(dāng)我們想在任何已有工程中部署perf_counter時,只需要單擊MDK工具欄上如下圖所示的圖標(biāo):
打開RTE配置窗口:
我們會注意到,在列表的末端出現(xiàn)了一個Utilities條目,依次展開后勾選Performance下的perf_counter——默認(rèn)情況下系統(tǒng)會自動選擇以庫的形式來實現(xiàn)模塊的部署——這也是我吐血推薦的方式,因為它省去了不必要的編譯麻煩。
單擊OK按鈕后,我們會發(fā)現(xiàn)Utilities已經(jīng)被加入到了工程管理器中,而perf_counter.lib也已經(jīng)成功的部署到了目標(biāo)工程中:
看過我