關鍵詞:DWT, DEMCR
目錄預覽
1、前言
2、調研
3、啟用 DWT 進行計數(shù)
4、小結
01
前言
客戶在使用 STM32H7 的時候,想要使用 DWT 計數(shù)來測量代碼執(zhí)行時間,評估執(zhí)行效率??蛻舭l(fā)現(xiàn)在重新上電或 reset 后,無法啟用 DWT 進行計數(shù)。
02
調研
在 ARMv7-M 架構中有個 DEMCR 寄存器,這個寄存器可以控制 DWT 的使能。在power-on reset 后這個寄存器所有位的值都為 0。而當 bit[24]為 0 時,DWT 和 ITM 模塊都是 disabled 的。所以為了啟用 DWT 模塊,必須將 DEMCR 的 bit[24]置為 1。如圖 1 所示:
圖1.DEMCR 寄存器
03
啟用 DWT 進行計數(shù)
STM32H7 基于 Arm Cortex-M7 內核,而 Cortex-M7 是 ARMv7-M 架構,所以 H7 在配置 DWT 模塊之前需要將 DEMCR 的 bit[24]置位。在基于 Cortex-M7 的芯片中,需要使用DWT-LAR 來解鎖 DWT(其他核可能不需要,應具體分析),然后對 DWT_CTRL 進行相應使能即可。
在 CMSIS 文件中已經(jīng)提供了相關寄存器的宏定義(例如在“core_cm7.h”文件中包提供了 DWT 和 DEMCR 的宏定義),我們可以使用這些宏定義方便的進行配置,如圖 2所示:
圖2.core_cm7.h 文件
示例(如下):使用 DWT 測量代碼執(zhí)行所用的時鐘 cycle 數(shù)。
04
小結
在使用 ARMv7-M 架構的 STM32 時,對 DWT 配置之前應確保 DEMCR 中的 bit[24]已經(jīng)被配置(使能 DWT),然后才能使用 DWT。
更多內容,歡迎點擊下方“閱讀原文”,下載完整文檔。
完整內容請點擊“閱讀原文”下載原文檔。
原文標題:Arm?v7-M 架構的 STM32 如何啟用 DWT進行計數(shù)
文章出處:【微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
原文標題:Arm?v7-M 架構的 STM32 如何啟用 DWT進行計數(shù)
文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
相關推薦
一、ARM架構服務器的崛起 (一)市場需求推動 消費市場寒冬,全球消費電子需求下行,服務器成半導體核心動力之一。Arm 加速布局服務器領域,如 9 月推出 Neoverse V2。長久
發(fā)表于 09-11 10:53
?232次閱讀
、擴展方式以及目標應用場景等方面有顯著差異。 要深入對比ARM和RISC-V的指令集,需要從指令集架構(ISA)的設計原則、擴展模塊、指令的復雜性、特性以及它們的實際性能表現(xiàn)來進行討論
發(fā)表于 09-10 09:26
?100次閱讀
STM32G071怎樣通過DWT實現(xiàn)us精準定時?,各位大佬有實現(xiàn)的嗎?
發(fā)表于 03-20 06:59
蘋果M3芯片采用的是ARM架構。這種架構具有高效能和低功耗的特點,使得M3芯片在提供出色性能的同時,也能保持較低的能耗。
發(fā)表于 03-08 16:03
?1497次閱讀
DWT 中有剩余的計數(shù)器,它們典型地用于程序代碼的“性能速寫”(profiling)。通過編程它們,就可以讓它們在計數(shù)器溢出時發(fā)出事件(以跟蹤數(shù)據(jù)包的形式)。
發(fā)表于 02-28 13:55
?534次閱讀
本文介紹ARM系列STM32F103芯片的解密方法,其內核是Cortex-M3,內存從16K-512K都有。
發(fā)表于 02-28 11:20
?1263次閱讀
從中長期來看,隨著單芯片 ARM 核數(shù)增加、基于 ARM 架構芯片數(shù)量的上升以及ARM 應用場景的增加,公司仍將保持增長。據(jù)公司公告數(shù)據(jù)顯示,2023 財年,高端芯片采用
發(fā)表于 02-27 14:14
?5016次閱讀
ARM架構和x86架構是兩種不同的計算機處理器架構,它們在體系結構、指令集、應用領域等方面有著明顯的區(qū)別。Linux操作系統(tǒng)則具有廣泛的適配性,可以運行在各種
發(fā)表于 01-30 13:46
?1.4w次閱讀
請問M467可以對QEI的計數(shù)進行清零嗎?
EQEI_GET_CNT_VALUE(EQEI0)
例如 對于這個獲取到的數(shù)據(jù)。
發(fā)表于 01-16 06:56
STM32是“意法半導體”生產的基于“ARM公司Cortex-M3內核”的32位高性能MCU。
發(fā)表于 01-03 13:38
?1491次閱讀
電子發(fā)燒友網(wǎng)站提供《GD32H737xx系列Arm Cortex-M7 MCU數(shù)據(jù)手冊.pdf》資料免費下載
發(fā)表于 01-03 10:42
?4次下載
Arm Cortex-M52是一款采Arm Helium 技術的新型微控制器內核,旨在將AI功能引入更小、成本更低的物聯(lián)網(wǎng)設備,而不是基于Arm Cortex-
發(fā)表于 01-02 11:12
?1104次閱讀
取得ARM PSA certification認證的參考資源。 Trusted Firmware包含了幾個項目,這篇文章是以其中的Trusted Firmware-M(Arm v7-M
發(fā)表于 11-02 16:06
?651次閱讀
很多公司覺得ARM收費太高,決定一起搞RISC-V架構,是不是這種開源的是不是不收費的;那和ARM有啥區(qū)別,能發(fā)展起來嗎
發(fā)表于 10-30 06:38
RISC-V特權架構 ARM有7種工作模式,而RISC-V也有不同的模式,這些模式在RISC-V
發(fā)表于 10-08 14:48
?1205次閱讀
評論