首页 > 编程语言 >ARM(A7) wfi唤醒后...是执行中断处理程序还是后一条指令

ARM(A7) wfi唤醒后...是执行中断处理程序还是后一条指令

时间:2023-06-17 16:34:26浏览次数:45  
标签:__ ... wfi WFI 指令 A7 执行 CPSR

记录WFI相关细节,以及如何让中断唤醒后先执行wfi后指令,再执行中断异常;或者优先执行中断异常,再执行wfi后指令。

1. ARM(A7)关于WFI的描述

处理器可以通过执行WFI指令进入WFI低功耗状态。

当硬件检测到WFI唤醒事件,WFI指令结束。

WFI唤醒事件无法被CPSR屏蔽位屏蔽。

执行wfi后processor clock状态

进入wfi后,processor clock是什么状态?

WFI执行的结果:

  1. 关闭核内大部分时钟保持核供电。
  2. 保留小部分时钟确保核能从WFI低功耗状态唤醒。

执行wfi指令后,进入WFI低功耗模式之前,硬件做了如下的工作

某些情况下,打开processor clock但是processor并没有退出wfi状态

导致处理器退出WFI低功耗的几种事件

WFI和STANDBYWFI信号的关系

 2. 通过配置CPSR控制wfi后中断行为

2.1 CPSR寄存器以及配置

 通过配置AIF位,来决定CPU是否处理相关异常:

2.1.1 读写CPSR

对CPSR寄存器读写可以通过如下进行:

__STATIC_INILINE uint32_t __get_CPSR(void)
{
    register uint32_t __regCPSR __ASM("cpsr");
    return(__regCPSR);
}

__STATIC_INILINE uint32_t __set_CPSR(uint32_t cpsr)
{
    register uint32_t __regCPSR __ASM("cpsr");
    __regCPSR = cpsr;  
}

2.1.2 cps指令

cps指令用于配置CPSR的A、I、F位,以及进入特定处理器模式。仅在特权模式下可使用。

CPSeffect iflags{, #mode}
CPS #mode
where:
effect is one of:
IE Interrupt or abort enable.
ID Interrupt or abort disable.
iflags is a sequence of one or more of:
a Enables or disables imprecise aborts.
i Enables or disables IRQ interrupts.
f Enables or disables FIQ interrupts.
mode
specifies the number of the mode to change to.

比如:

cpsie if - 表示使能处理器对IRQ和FIQ的响应。

cpsid ai, #17 - 表示关闭aborts和irq响应,并进入FIQ模式。

cps #16 - 表示进入User模式。

2.2 配置流程

中断满足GIC的需求,通过Distributor送到CPU Interface,再送到Processor。

此时必然会将Processor从WFI状态唤醒,但是中断异常是否执行取决于CPSR.IF位设置。对于Async Abort执行取决于CPSR.A位设置。

 所以根据需要,在执行WFI之前设置CPSR.IF标志位即可:

标签:__,...,wfi,WFI,指令,A7,执行,CPSR
From: https://www.cnblogs.com/arnoldlu/p/17487552.html

相关文章

  • idea的Maven配置问题:Cannot resolve plugin org.apache.maven....
    这明显就是一个坑!原因有两个方面。1、网络问题(我是这个原因)我们用的联通专线,在IP访问上有限制,导致我的Maven仓库一直下载不来,后来换了手机热点就好了。2、Maven仓库配置问题修改源:(1)阿里源<mirror><id>aliyunmaven</id><mirrorOf>central</mirrorOf><name>c......
  • 浅析CSS实现超过3行折叠并显示...查看详情
    要实现效果如下:尾部带查看详情,前面有三个点省略号。之前单独看这个布局,即使借助JavaScript也不是一件容易的事啊(需要计算文字宽度动态截取文本,然后append上三个点和查看详情。vue-clamp就是这么做的,包括很多博客也是这么讲的,但是讲真,如果是个列表,这种不断的判断,肯定不是......
  • 文本溢出显示...
    text-overflow设置文本内容溢出时呈现的模式/*要让text-overflow生效.块属性必须先设置:overflow:hidden;white-space:nowrap;*/overflow:hidden;white-space:nowrap;text-overflow:ellipsis;/*clip裁掉溢出部分,ellipsis溢出部分用'...'代替*/......
  • Oracle drop table ... purge
    https://www.cnblogs.com/hider/p/12194675.html操作Oracle时,经常会删除一个表,当删除错误后,希望能够恢复该表,有时也希望删除表之后能够立刻释放表的空间。通过purge的使用可以在Oracle中删除表、恢复表和空间释放。droptable当在Oracle中删除(drop)一个表时,数据库不......
  • VBA中的选择结构If ...Then ...ElseIf...Else;Select Case...Case Else...
    IfElseIfElse结构的基本语法如下:If条件表达式1Then'表达式1真时,执行的代码ElseIf条件表达式2Then'表达式2真时,执行的代码ElseIf条件表达式3Then'表达式3真时,执行的代码...ElseIf条件表达式nThen'表达式n真时,执行的代码Else'以上表达......
  • TikTok 英国业务亏损、苹果从中国应用商店下架近4万款游戏、Zoom 接受调查等|Decode th
    DecodetheWeek≠音视频技术周刊 图片来源于电影《心灵奇旅》NewsBriefing1. Adobe终止了对Flash插件的支持。上周,在经历了漫长而缓慢的衰退之后,Flash终于迎来了它的最后一站。2.亚马逊收购Wondery,对标Spotify亚马逊最近在播客市场进行了大规模的收购。它目前正在收购播客......
  • Facebook 最新可佩戴 AR 设备、AR 设备未来五年市场扩张、语音社交新创Swell等|Decode
     DecodetheWeek ≠音视频技术周刊 Credit: MeKyeoungLee /NewsBriefing. Clubhouse 聘请 Instagram前高管 Clubhouse聘请曾任职Instagram的FadiaKader担任新的媒体合作和创作主管。此前,OWN和Netflix的前高层MayaWatson被CH聘请担任其全球营销主管,这表明......
  • mmhmm重塑视频会议、2020新款emoji可爱来袭、微软将推云游戏服务xCloud等| Decode the
    Social MediaSucks.DecodetheWeek≠音视频技术周刊 NewsBriefing1. Evernote前CEO推出虚拟摄影棚应用mmhmm重塑视频会议PhilLibin带领Evernote创造辉煌后,再次回到消费与企业应用的交界,推出虚拟相机云服务mmhmm(中文发音是“嗯哼”)。mmhmm可在Zoom、GoogleMeet、YouTube以......
  • Eclipse环境搭建全集(个人使用的环境,Eclipse+SVN+Maven+JbossTo...
    评:1.JDK的配置去官网下载JDK,需要注意的是JDK32位,Eclipse也必须是32位.64位JDK对应Eclipse64位.1.安装JDK,安装过程中最好自定义安装目录等信息,如我们选择安装目录为E:\software\Java\jdk1.6.0_34.2.安装完成后,我的电脑点击属性,选择高级选项卡点击环境变量.3.在系统变量......
  • WebRTC十周年、Space X成功对接国际空间站、TikTok复制品Zynn或有快手支持|Decode the
    >>顺便祝大家六一快乐<<DecodetheWeek≠音视频技术周刊 01 SpaceX载人飞船首发成功并与国际空间站对接北京时间5月31日,SpaceX首次载人火箭发射成功,而这只是SpaceX创始人ElonMusk庞大的商业航天计划中的一环。在经历19个小时的飞行后,SpaceX龙飞船与国际空间站成功对接,对接......