【先楫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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈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…