当前位置: 首页 > news >正文

论坛网站建设公司网站规划与建设重点内容

论坛网站建设公司,网站规划与建设重点内容,河东网站建设,wordpress改中文版1.概述 Apollo4BlueLite 的中断控制器是采用 ARM Cortex-M4 内核#xff0c;并集成了 NVIC#xff08;Nested Vectored Interrupt Controller#xff0c;嵌套向量中断控制器#xff09;作为其中断控制器。 NVIC 是 ARM Cortex-M 系列处理器中常用的中断控制器#xff0c…1.概述 Apollo4BlueLite 的中断控制器是采用 ARM Cortex-M4 内核并集成了 NVICNested Vectored Interrupt Controller嵌套向量中断控制器作为其中断控制器。 NVIC 是 ARM Cortex-M 系列处理器中常用的中断控制器它具有以下基本特征和功能 1中断优先级和优先级分组NVIC 支持配置和管理中断的优先级可以根据需求将不同的中断分配到不同的优先级组中。这样可以确保高优先级的中断得到更及时的响应。 2中断向量表NVIC 使用中断向量表来管理中断。每个中断对应一个唯一的中断向量在中断触发时NVIC 会根据中断向量找到相应的中断服务程序Interrupt Service RoutineISR来进行中断处理。 3中断使能和禁用NVIC 提供了使能和禁用中断的功能允许根据需要控制特定中断的触发和处理。 4中断嵌套和自动优先级切换NVIC 支持中断的嵌套和自动优先级切换可以在处理当前中断时响应更高优先级的中断请求从而提高系统的灵活性和响应性。 5快速和低延迟的中断触发NVIC 能够快速检测和触发中断减少中断处理的延迟提高系统的实时性和响应能力。 2. Apollo4BlueLite NVIC和cortex-M4 NVIC NVIC 是嵌套向量中断控制器控制着整个Apollo4BlueLite芯片中断相关的功能它跟Cortex-M4内核紧密联系是内核里面的一个外设。但是各个芯片厂商在设计芯片的时候会对Cortex-M4内核里面的 NVIC 进行裁剪把不需要的部分去掉所以说 Apollo4BlueLite 的 NVIC 是 Cortex-M 4 的 NVIC 的一个子集。 3.NVIC寄存器 1在配置中断的时候我们一般只用 ISER、ICER 和 IP 这三个寄存器ISER 用来使能中断ICER 用来清除中断IP 用来设置中断优先级。 2寄存器表 ISER寄存器Interrupt Set-enable Registers 根据官方文档介绍The NVIC_ISER0-NVIC_ISER7 registers enable interrupts, and show which interrupts are enabled. 可以看到ISER寄存器一共有8组共计256bit该寄存器可读可写那么当需要使能对应中断时需要配置对应bit位为1也可以通过读寄存器来确认对应中断状态为使能或使能。 ICER寄存器Interrupt Clear-enable Registers 根据官方文档介绍The NVIC_ICER0-NVIC_ICER7 registers disable interrupts, and show which interrupts are enabled. 注意直接写ISER寄存器为0不会禁止对应中断必须通过ICER寄存器来实现禁止中断的功能。ICER实现的和ISER相反的功能。 ISPR寄存器Interrupt Set-pending Registers 根据官方文档介绍The NVIC_ISPR0-NVIC_ISPR7 registers force interrupts into the pending state, and show which interrupts are pending. 这个寄存器用来挂起中断对应bit设置为1时中断控制器会将正在进行的中断挂起写0无效。 当高优先级的中断正在执行时低优先级的中断发生了这时CPU会将低优先级的中断临时挂起等待高优先级的中断完成后再去处理低优先级的中断。 ICPR寄存器Interrupt Clear-pending Registers 根据官方文档介绍The NVIC_ICPR0-NCVIC_ICPR7 registers remove the pending state from interrupts, and show which interrupts are pending. 其作用与ISPR相反对应位也和ISER是一样的。通过设置1可以将挂起的中断解挂。 IABR寄存器Interrupt Active Bit Registers 根据官方文档介绍The NVIC_IABR0-NVIC_IABR7 registers indicate which interrupts are active. A bit reads as one if the status of the corresponding interrupt is active or active and pending. 该寄存器只读如果为1则表示该位所对应的中断正在被执行或者执行期间被挂起。在中断执行完了由硬件自动清零。 IPR寄存器Interrupt Priority Registers 根据官方文档介绍The NVIC_IPR0-NVIC_IPR59 registers provide an 8-bit priority field for each interrupt and each register holds four priority fields. These registers are byte-accessible. 中断优先级寄存器,该寄存器只能以字节访问。每个中断占用8位所以每个寄存器可以表示4个中断优先级如下图所示 这里一共可以表示60*4240个中断的中断优先级每个中断优先级占用1个字节。 ARM的中断优先级分两种抢占优先级和响应优先级。 具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应即中断嵌套或者说高抢占式优先级的中断可以嵌套低抢占式优先级的中断。 当两个中断源的抢占式优先级相同时这两个中断将没有嵌套关系当一个中断到来后如果正在处理另一个中断这个后到来的中断就要等到前一个中断处理完之后才能被处理。如果这两个中断同时到达则中断控制器根据他们的响应优先级高低来决定先处理哪一个如果他们的抢占式优先级和响应优先级都相等则根据他们在中断表中的排位顺序决定先处理哪一个中断号小的先执行。 3中断号 从Apollo4BlueLite的SDK中可以看到实际上只用了84个中断 4.NVIC 中断配置固件库 1固件库头文件 core_cm4.h 中提供了 NVIC 的一些函数这些函数遵循 CMSIS 规则只要是 Cortex-M4 的处理器都可以使用具体如下 NVIC库函数 描述 void NVIC_EnableIRQ(IRQn_Type IRQn) 使能中断 void NVIC_DisableIRQ(IRQn_Type IRQn) 失能中断 void NVIC_SetPendingIRQ(IRQn_Type IRQn) 设置中断悬起位 void NVIC_ClearPendingIRQ(IRQn_Type IRQn) 清除中断悬起位 uint32_t NVIC_GetPendingIRQ(IRQn_Type IRQn) 获取悬起中断编号 void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) 设置中断优先级 uint32_t NVIC_GetPriority(IRQn_Type IRQn) 获取中断优先级 void NVIC_SystemReset(void) 系统复位
http://www.hkea.cn/news/14395799/

相关文章:

  • 重庆网站建设沛宣大前端dux主题wordpress
  • 怎么制作网站封面可信赖的网站建设公司
  • 做网站工作条件丽江网络推广公司
  • 企业网站开发实训过程与内容广州网络营销品牌
  • 校友会网站建设查看网站是哪个公司做的
  • 网站开发时app打开很慢湖南网站优化代运营
  • 自己做的网站360显示过期黄冈seo顾问
  • 网站seo外包技术资源网站开发是怎么开发的
  • 灵川网站制作郴州市地图全图
  • 网站设计公司排名上海网站制作电话
  • 提供模板网站制作多少钱上海雍熙网站建设
  • 模板网站是啥意思毕节公司做网站
  • 网站建设组织网页设计风格分类
  • 百科网站模板高端网站建设必去磐石网络
  • 湖北智能网站建设找哪家厦门建设银行官方网站
  • 网站主机安全四川建设学习网官网
  • 企业网站推广服务多语言网站开发设计
  • 合肥网络公司seo建站网站设计是用什么做的
  • qq网站临时会话wordpress密码重置
  • 找人做网站如何担保营销型网站深度网
  • 备案 增加网站鄂伦春网站建设
  • 重庆网站设计案例中信建设有限责任公司世界排名
  • 姓名域名网站领取免费空间
  • 重庆大足网站建设wordpress怎么卖模板
  • 网站服务器维护方案网站的建设部署与发布
  • 北京做网站网站建设服务标准
  • 专门做app的原型网站百度精准营销获客平台
  • 制作网站专业公司哪家好装饰设计公司wordpress企业主题
  • 智能网站平台互联网技术的概念
  • 做图的软件网站简搜网站提交