【先楫HPM5E00_EVK系列-板卡測評3】hpm5e00evk平臺中斷、定時器、PWM、USART等基礎功能詳解

????????此文介紹了利用先楫半導體(hpm)官方hpm5e00_evk開發板使用的主控芯片的一些原理性知識,無實驗內容展示,主要匯總了先楫半導體hpm5e00主控芯片的中斷、定時器、pwm、usart等功能,主要內容來源于B站“HPM_FAE”的視頻和官方的數據手冊,如有整理不正確的地方還望指正。

????????至于為啥整理上面幾個外設,因為上面幾個外設是本人工作項目中,用到的最基本的內容,把上面外設跑通了就可以實現國產替代,當然還有一些深入的功能,待后續研究。

1、中斷

先楫半導體(HPMicro)的微控制器中斷系統,是其高性能MCU的重要組成部分,它基于RISC-V內核,并借鑒了現代中斷控制的先進理念。其核心在于高效管理多種事件源(如外部設備、內部外設、軟件事件),確保關鍵任務能得到及時響應。

1.1、中斷定義與原理

中斷是一種允許微控制器暫停當前正在執行的程序,轉去處理緊急事件,待處理完成后再返回原程序繼續執行的機制。在先楫半導體的微控制器中,中斷系統主要用于:

? 提高實時性:對外部事件(如按鍵、傳感器信號變化)或內部事件(如定時器溢出、通信數據到達)做出快速響應。

? 提升效率:避免了CPU不斷輪詢檢查事件是否發生,節省了寶貴的計算資源,使其能專注于主要任務,只有在需要時才通過中斷介入處理。

? 處理故障:為硬件故障、運算異常(如除零錯誤)等提供了處理機制。

????????中斷可以是硬件中斷(由外部硬件信號觸發,如GPIO、定時器)或軟件中斷(由特定的軟件指令觸發)。中斷系統的工作原理與流程,中斷處理通常包含以下步驟:

  1. 中斷請求:中斷源(例如外設或軟件)通過發出中斷請求信號向CPU申請服務。

  2. 中斷判優與響應:中斷控制器(如果存在類似NVIC的模塊)會根據預設的優先級對多個同時發生的中斷請求進行裁決,選擇當前最高優先級的請求向CPU響應。CPU在執行完當前指令后,若中斷未被全局屏蔽,則會響應此中斷。

  3. 保護現場:CPU在跳轉執行中斷服務程序前,會自動保存當前的程序計數器(PC)和狀態寄存器等關鍵信息,以便中斷處理后能正確恢復。

  4. 執行中斷服務程序:CPU通過查詢中斷向量表(一個存儲了各個中斷服務程序入口地址的表格)跳轉到對應的中斷服務程序(ISR) 執行。開發者需要在此函數中編寫處理特定中斷事件的代碼。

  5. 恢復現場與返回:ISR執行完畢后,通過特定的中斷返回指令,CPU會恢復之前保存的現場信息,并返回到被中斷的主程序繼續執行。

1.2、先楫MCU中斷

????????先楫MCU中斷分為本地中斷與外部中斷,常用的本地中斷包括機器定時器中斷與軟件中斷。先楫MCU支持8個中斷優先級設置,設置值0~7,優先級設置值越大中斷優先級越高,0代表關閉中斷。

針對先楫MCU中斷:

????????沒有硬件壓棧,進出中斷耗時略長一些,但是hpm主頻一般ARM類的MCU主頻高很多,進出中斷其實也還好;

????????支持中斷優先級和中斷嵌套,當多個中斷同時發生時,優先級高的中斷會優先得到響應,允許高優先級中斷打斷正在處理的低優先級中斷;

????????支持中斷嵌套與中斷向量,中斷嵌套可保證CPU始終在處理優先級最高的中斷,中斷向量則可簡化中斷處理流程,提高中斷響應速度

????????另外尤其要注意的是:本地中斷可打斷外部中斷,外部中斷無法打斷本地中斷

1.3、中斷使用注意

????????項目之初,在設計中斷的是時候,需要特別注意一下事項:

? 避免中斷過長:長時間的中斷會阻塞系統對其他事件的響應,影響實時性。

? 謹慎處理中斷嵌套:過深或設計不當的中斷嵌套會增加系統復雜性,并可能引起優先級倒置等問題。

? 及時清除中斷標志:這是最常見的錯誤之一,忘記清除標志位會導致程序行為異常。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/95477.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/95477.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/95477.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

golang 依賴管理

目錄 演進過程 1. GOPATH 階段(Go 1.0 - 1.10,2012 - 2018) 2. Vendor 機制階段(Go 1.5 實驗性引入,1.6 正式支持,2015 - 2018) 3. Go Modules 過渡期(Go 1.11 - 1.16&#xff0…

概率論—隨機事件與概率

文章目錄考綱術語事件的關系與運算關系運算古典概型概念和性質放入問題——隨機分配取出問題——簡單隨機抽樣問題幾何概型概率的性質與計算性質計算事件的獨立性和獨立的判定事件的獨立性判定定理舉反例的思想獨立試驗序列概型與n重伯努利概型錯題考綱 術語 (隨機)試驗隨機事…

達夢:存儲過程實現多個用戶之間表的授權

一、背景在某項目現場,開發商想實現4個用戶之間能互相擁有表的查詢、刪除、插入、更新權限和存儲過程的執行權限。此過程只要在新增表之后,其他用戶的權限需要授權,如果是手動寫,一張表的授權就要寫至少3次sql語句,如果…

協議分析基礎

0x01 協議分析基礎 網絡安全領域的“基本功”:一切高級攻擊(漏洞利用、DDoS、滲透等)都體現為網絡流量的異常。 核心價值: 故障排查 : 定位網絡延遲、丟包、無法連接等問題。性能優化 : 分析應用性能瓶頸。…

AI生成內容的版權迷局:GPT-4輸出的“創意”版權風險與規避之道

大型語言模型(LLM)如 GPT-4,正以前所未有的速度和創造力,改變著內容生產的方式。無論是文章、代碼、圖片還是音樂,AI都能快速生成令人驚嘆的作品。然而,在這股“AI內容創作浪潮”之下,一個嚴肅的…

編程與數學 03-004 數據庫系統概論 19_數據庫的分布式查詢

編程與數學 03-004 數據庫系統概論 19_數據庫的分布式查詢一、分布式查詢的概念(一)分布式查詢的定義(二)分布式查詢的特點二、分布式查詢的優化(一)查詢分解(二)查詢分配&#xff0…

java--寫在 try 中的創建連接

1. 背景 在 Java 開發中,很多資源(數據庫連接、ZooKeeper 連接、Redis 客戶端、文件流等)都需要手動關閉。如果忘記關閉,會導致 資源泄漏(連接占滿、內存泄漏、文件句柄耗盡等)。 為了避免這種問題&#xf…

蔡文勝在香港買了一棟樓,免費給創業者辦公

蔡文勝在香港買了一棟樓,免費給創業者辦公。前段時間,蔡文勝出售美圖公司、套現約8億港幣后,以6.5億港元購入香港天后道上全幢物業,并將其更名為“CAI大廈”。一樓是咖啡廳,二樓做公眾活動,樓上會有兩層會開…

FOC+MCU:重新定義吸塵器電機控制——高效、靜音、智能的終極解決方案

傳統吸塵器電機的“三重困境”當前吸塵器市場,消費者對吸力、噪音、續航的訴求日益嚴苛,但傳統電機控制方案(如方波驅動、有感/無感BLDC控制)難以兼顧:效率低下:高速運行時電機發熱嚴重,電池能量…

樹形組件,支持搜索展示,自定義展示,支持vue2,vue3,小程序等等

效果圖平臺兼容性Vue2Vue3ChromeSafariapp-vueapp-nvueAndroidiOS鴻蒙√√√√√√---微信小程序支付寶小程序抖音小程序百度小程序快手小程序京東小程序鴻蒙元服務QQ小程序飛書小程序快應用-華為快應用-聯盟√√√√√√-√√√√多語言暗黑模式寬屏模式√屬性屬性名類型默認值…

元宇宙與教育變革:沉浸式學習重構知識獲取與能力培養

1 元宇宙打破傳統教育的核心局限1.1 突破空間限制:從 “固定教室” 到 “全域學習場景”傳統教育受限于物理空間,優質資源集中在少數學校與城市,而元宇宙通過 “虛擬場景復刻 跨地域實時交互”,將學習空間拓展至全球乃至虛擬維度…

如何在SpringBoot項目中優雅的連接多臺Redis

如何在SpringBoot項目中優雅的連接多臺Redis 在Spring Boot項目中,連接單個Redis實例是常見需求,但有時需要同時連接多個Redis實例(例如,主Redis用于業務數據存儲,另一個Redis用于爬蟲數據緩存)。本文將基于…

追覓科技舉辦2025「敢夢敢為」發布會,發布超30款全場景重磅新品

上海,2025年9月4日——在以「敢夢敢為」為主題的2025新品發布會上,追覓科技一次性發布超30款新品,全面涵蓋智能清潔、智能家電、家庭健康與個護等核心領域。在清潔家電與大家電“高端智能生態矩陣”已然成型的當下,追覓科技正在邁…

去服務器化的流媒體分發:輕量級RTSP服務的技術邏輯與優勢

一、設計背景:RTSP/RTP協議的技術根基 在流媒體傳輸體系中,RTSP(Real-Time Streaming Protocol) RTP/RTCP 組合被廣泛認為是最經典、最標準化的解決方案。 RTSP 作為應用層協議,本質上是一個 遠程會話控制協議。它通過…

mysql分頁SQL

在 MySQL 中,實現分頁查詢通常使用 LIMIT 子句。LIMIT 可以指定返回結果的起始位置和數量,非常適合實現分頁功能。 基本語法如下: SELECT 列名 FROM 表名 WHERE 條件 ORDER BY 排序字段 [ASC|DESC] LIMIT 起始位置, 每頁顯示數量;說明&#x…

刷新記錄:TapData Oracle 日志同步性能達 80K TPS,重塑實時同步新標準

在當前數據驅動的企業環境中,高效、穩定的數據同步能力已成為支撐關鍵業務系統的核心需求。尤其在高頻變更、大量增量數據的業務場景中,傳統的 Oracle 日志解析方案往往在吞吐能力和延遲控制方面力不從心。 隨著企業全面邁入“實時化”時代,金…

Java全棧開發面試實戰:從基礎到高并發的深度解析

Java全棧開發面試實戰:從基礎到高并發的深度解析 在一次真實的面試中,一位擁有5年全棧開發經驗的程序員,面對來自某互聯網大廠的技術面試官,展現出了扎實的基礎與豐富的項目經驗。以下是這次面試的完整記錄。 面試官開場 面試官&a…

【mac】如何在 macOS 終端中高效查找文件:五種實用方法

【mac】如何在 macOS 終端中高效查找文件:五種實用方法 在 macOS 上,終端是一個強大的工具,不僅可以執行命令,還能幫助你快速找到需要的文件。無論是按文件名、類型、大小,還是文件內容搜索,都有多種命令可…

React筆記_組件之間進行數據傳遞

目錄父子組件傳值- props父傳子子傳父嵌套組件傳值-Context API概念React.createContext APIProvider組件正確示例錯誤示例消費 ContextReact.Consumer組件useContext Hook區別使用場景舉例說明-用戶信息狀態管理-Redux父子組件傳值- props 在React中父子組件傳值是單向數據流…

Elixir通過Onvif協議控制IP攝像機,擴展ExOnvif的攝像頭停止移動 Stop 功能

ExOnvif官方文檔 在使用 Elixir 進行 IPdome 控制時,可以使用 ExOnvif 庫。 ExOnvif官方文檔中未給停止移動調用命令,自己按照onvif協議 Onvif協議 擴展的此項功能; 停止移動 Stop 在Onvif協議中,用于停止云臺移動的操作為Stop…