關鍵詞:DWT, DEMCR
目錄預覽
1、前言
2、調研
3、啟用 DWT 進行計數
4、小結
01
前言
客戶在使用 STM32H7 的時候,想要使用 DWT 計數來測量代碼執行時間,評估執行效率。客戶發現在重新上電或 reset 后,無法啟用 DWT 進行計數。
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 進行計數
STM32H7 基于 Arm Cortex-M7 內核,而 Cortex-M7 是 ARMv7-M 架構,所以 H7 在配置 DWT 模塊之前需要將 DEMCR 的 bit[24]置位。在基于 Cortex-M7 的芯片中,需要使用DWT-LAR 來解鎖 DWT(其他核可能不需要,應具體分析),然后對 DWT_CTRL 進行相應使能即可。
在 CMSIS 文件中已經提供了相關寄存器的宏定義(例如在“core_cm7.h”文件中包提供了 DWT 和 DEMCR 的宏定義),我們可以使用這些宏定義方便的進行配置,如圖 2所示:
圖2.core_cm7.h 文件
示例(如下):使用 DWT 測量代碼執行所用的時鐘 cycle 數。
04
小結
在使用 ARMv7-M 架構的 STM32 時,對 DWT 配置之前應確保 DEMCR 中的 bit[24]已經被配置(使能 DWT),然后才能使用 DWT。
更多內容,歡迎點擊下方“閱讀原文”,下載完整文檔。
完整內容請點擊“閱讀原文”下載原文檔。
原文標題:Arm?v7-M 架構的 STM32 如何啟用 DWT進行計數
文章出處:【微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
原文標題:Arm?v7-M 架構的 STM32 如何啟用 DWT進行計數
文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
相關推薦
DWT是ARM Cortex-M系列微控制器中的一個內置外設,它的全名是“Data Watchpoint and Trace”單元,但從其名字中我們并不能直接看出它與定時器的關系。實際上,DW
發表于 12-18 13:16
。RISC-V是一種特定指令集架構。RISC-V指令集類似于INTEL的X86、ARM指令集,是一個被CPU讀取到內存后,指導計算機運行的指令集合。使用該指令集的CPU,能執行指令集中
發表于 12-16 23:08
在現代計算機架構中,RISC-V和ARM是兩種流行的處理器架構。它們各自具有獨特的特點和優勢,適用于不同的應用場景。 1. RISC-V
發表于 12-11 17:50
?988次閱讀
一、ARM架構服務器的崛起 (一)市場需求推動 消費市場寒冬,全球消費電子需求下行,服務器成半導體核心動力之一。Arm 加速布局服務器領域,如 9 月推出 Neoverse V2。長久
發表于 09-11 10:53
?551次閱讀
、擴展方式以及目標應用場景等方面有顯著差異。 要深入對比ARM和RISC-V的指令集,需要從指令集架構(ISA)的設計原則、擴展模塊、指令的復雜性、特性以及它們的實際性能表現來進行討論
發表于 09-10 09:26
?795次閱讀
,它們各自有不同的特點和應用場景。 核心架構 : STM32H系列 :通常采用ARM Cortex-M7或Cortex-M4核心,這些核心提
發表于 09-04 09:13
?1933次閱讀
和實現。這意味著RISC-V具有高度的靈活性和可定制性,可以根據不同的應用需求進行優化和擴展。
ARM :ARM是一種專有的架構,任何想要使
發表于 05-27 15:58
據介紹,此次合作旨在聯合推動使用Intel 18A制程工藝研發Arm架構SoC的初創企業發展。英特爾和Arm將攜手提供IP和制造及相關金融支持,助力初創企業持續進行創新和增長。這些企業
發表于 03-25 15:34
?417次閱讀
STM32G071怎樣通過DWT實現us精準定時?,各位大佬有實現的嗎?
發表于 03-20 06:59
蘋果M3芯片采用的是ARM架構。這種架構具有高效能和低功耗的特點,使得M3芯片在提供出色性能的同時,也能保持較低的能耗。
發表于 03-08 16:03
?2090次閱讀
DWT 中有剩余的計數器,它們典型地用于程序代碼的“性能速寫”(profiling)。通過編程它們,就可以讓它們在計數器溢出時發出事件(以跟蹤數據包的形式)。
發表于 02-28 13:55
?819次閱讀
本文介紹ARM系列STM32F103芯片的解密方法,其內核是Cortex-M3,內存從16K-512K都有。
發表于 02-28 11:20
?1744次閱讀
從中長期來看,隨著單芯片 ARM 核數增加、基于 ARM 架構芯片數量的上升以及ARM 應用場景的增加,公司仍將保持增長。據公司公告數據顯示,2023 財年,高端芯片采用
發表于 02-27 14:14
?5471次閱讀
ARM架構和x86架構是兩種不同的計算機處理器架構,它們在體系結構、指令集、應用領域等方面有著明顯的區別。Linux操作系統則具有廣泛的適配性,可以運行在各種
發表于 01-30 13:46
?1.9w次閱讀
請問M467可以對QEI的計數進行清零嗎?
EQEI_GET_CNT_VALUE(EQEI0)
例如 對于這個獲取到的數據。
發表于 01-16 06:56
評論