建设银行网站打不开 显示停止工作/seo关键词快速排名软件
请阅读【嵌入式开发学习必备专栏 之 ARM Cortex-Mx专栏】
文章目录
- 背景
- 异常使能配置
背景
由于文章【ARMv8M Cortex-M33 系列 7.2 – HardFault 问题定位 1】 中提到了HardFault 的发生是由于其它异常所升级导致的,所以就需要调查下如何是能其它异常中断。
异常使能配置
在 ARM Cortex-M33 核心上启用 UsageFault
、MemManageFault
和 BusFault
异常的方法是通过设置系统控制块 (System Control Block, SCB) 中的配置寄存器。以下是如何启用这些异常中断的步骤:
- 设置 SCB 中的 SHCSR (System Handler Control and State Register): -
SCB->SHCSR
寄存器包含控制系统处理程序(如UsageFault
、MemManage
和BusFault
)的使能位。 - 配置对应的使能位: - 通过设置
SCB->SHCSR
中的以下位来使能对应的异常:
SCB_SHCSR_MEMFAULTENA_Msk
:使能MemManage
异常。SCB_SHCSR_BUSFAULTENA_Msk
:使能BusFault
异常。SCB_SHCSR_USGFAULTENA_Msk
:使能UsageFault
异常。
以下是相应的代码示例:
#include "core_cm33.h" // 包含 CMSIS 核心寄存器定义和功能
void EnableFaults(void)
{ // 使能 MemManage 异常 SCB->SHCSR |= SCB_SHCSR_MEMFAULTENA_Msk; // 使能 BusFault 异常 SCB->SHCSR |= SCB_SHCSR_BUSFAULTENA_Msk; // 使能 UsageFault 异常 SCB->SHCSR |= SCB_SHCSR_USGFAULTENA_Msk;
}
当你运行上面的代码后,MemManageFault
、BusFault
和 UsageFault
异常将被使能,并且在相应的故障条件发生时,处理器将进入对应的异常处理程序。
还有一点需注意的是,在默认情况下,Cortex-M 处理器的 MemManage
和 BusFault
异常是使能的,但 UsageFault
异常可能默认是禁用的。因此,如果你希望捕获所有可能的异常状况,不要忘记使能 UsageFault
异常。
启用这些异常后,你还需要实现相应的异常处理函数(例如 MemManage_Handler
、BusFault_Handler
和 UsageFault_Handler
),以便在异常发生时执行适当的错误处理或恢复操作。
如果使用的是 RT-Thread 或其他类似的实时操作系统,通常这些异常处理函数已经由操作系统提供,或者你可以在操作系统框架内自定义它们。
【ARMv8M Cortex-M33 系列 7.2 – HardFault 问题定位 1】 中提到了提到了通过 CFSR 寄存器可以看到UFSR 位域 INVPC 置位了,所以接下来又需要调查下,这个是个什么东东?
UFSR 位域 INVPC 中的 “Invalid PC flag. Sticky flag indicating whether an integrity check error has occurred.
在 ARM Cortex-M33 微控制器系列中,UFSR
(UsageFault Status Register)是一个寄存器,其中包含了使用错误(UsageFault)的状态信息。UFSR
的位域 INVPC
(Invalid PC Load UsageFault)是 UFSR
寄存器的一个特定标志位,用于捕获程序计数器 (PC) 载入时的完整性检查错误。
当 INVPC
标志被设置时,它表示处理器试图执行一个无效或损坏的指令。这通常是因为 PC 包含了一个非法的地址,这可能发生在以下情况:
-
PC 被加载了一个未能正确对齐的地址。在 Cortex-M33 架构中,所有指令必须是 2 字节或 4 字节对齐的。如果 PC 的值不是 2 字节或 4 字节对齐的,会触发
INVPC
错误。 -
PC 被加载了一个不能作为指令执行的地址。例如,如果 PC 被设置为指向一个数据区域或者一个禁止执行的内存区域,将无法执行有效指令,从而导致完整性错误。
INVPC
是一个粘滞(sticky)标志,这意味着一旦设置,它将保持被设置的状态,直到软件明确清除它。这允许在调试期间或通过故障处理例程来检测到这类问题的发生。
如果在 Cortex-M33 微控制器上触发了一个 UsageFault
,并且 INVPC
标志被设置,需要检查以下几点来确定问题的原因,并采取相应的解决措施:
- 检查程序计数器的当前值,查看它是否指向了一个有效的指令地址。
- 确认最近执行的指令和代码路径,检查有无可能导致 PC 被错误加载的逻辑。
- 审查你的代码,确保所有函数指针、中断向量和跳转地址都是有效且正确对齐的。
- 使用调试器进行单步执行,以更精确地定位导致 PC 载入无效地址的具体指令。
由于 INVPC
错误通常是严重的程序错误,可能需要对系统进行全面的审查和测试,以确保代码的健壮性和稳定性。
相关文章:

【ARMv8M Cortex-M33 系列 7.4 -- 如何使能 usagefault | memmange fault | bus fault 中断】
请阅读【嵌入式开发学习必备专栏 之 ARM Cortex-Mx专栏】 文章目录 背景异常使能配置 背景 由于文章【ARMv8M Cortex-M33 系列 7.2 – HardFault 问题定位 1】 中提到了HardFault 的发生是由于其它异常所升级导致的,所以就需要调查下如何是能其它异常中断。 异常使…...

Android Studio安卓开发--ListView学习整理
ListView允许用户通过手指上下滑动的方式将屏幕外的数据滚动到屏幕内,同时屏幕上原有的数据则会滚动出屏幕。 1.ListView的简单用法 (1)activity_main.xml布局中加入ListView控件:(先占满整个布局的空间)…...

hyperf 和 laravel、lumen防止xss攻击中间件封装
hyperf 防止xss攻击自定义中间件封装 <?phpdeclare(strict_types1);namespace App\Middleware;use Psr\Container\ContainerInterface; use Psr\Http\Message\ResponseInterface; use Psr\Http\Server\MiddlewareInterface; use Psr\Http\Message\ServerRequestInterface;…...

flask web 学习之用户认证与会话管理
文章目录 一、安装及初始化二、设置用户加载回调函数三、定义User类四、实现登陆操作五、自定义登陆过程六、使用请求加载器自定义登录七、匿名用户功能八、记住我功能 Flask-Login是一个用于处理用户认证和会话管理的Flask插件。它简化了在Flask应用程序中实现用户登录、登出以…...

更改wpf原始默认按钮的样式
样式 代码 <Window x:Class"WpfApp4.Window1"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expression/blend/2008…...

【协议】HTTP、HTTPS和HTTP2.0学习总结
1. TCP/IP四层协议 记得大学学网络课程的时候,学的都是OSI/RM七层协议,应用层 -> 表示层 -> 会话层 -> 传输层->网络层->数据链路层->物理层,当时学的时候,感觉太抽象了,学得个一知半解。大脑在接收…...

[数据结构]顺序表
1、顺序表的概念及结构 1.1 线性表 线性表( linear list )是n个具有相同特性的数据元素的有限序列。 线性表是⼀种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构&#…...

北斗卫星为野外科考人员提供安全保障
北斗卫星为野外科考人员提供安全保障 自第二次青藏高原综合科学考察研究启动以来,青海不断提升科考服务保障能力,推动科考全程信息化,有效促进科考成果转化。 为保障科考人员的人身安全,青海省青藏科学考察服务中心开发了基于北…...

Linux的一些快捷键(hot keyboard)
Ctrl Alt t:打开bash(就是命令框窗口) Ctrl Alt F3~F6:打开tty终端(纯命令行终端,每个Linux发行版不相同,我的是Ubuntu20版) Alt F4:关闭当前窗口(Windo…...

Charles将证书安装到系统的方法(adb)
基本情况参考此帖:Charles 安卓抓包 unknown 和证书无效的解决方案(无需改代码)_client ssl handshake failed: an unknown issue occu-CSDN博客 此解决方案仅适用于已root设备默认已经在电脑上安装并配置了Charles,安卓手机也下载…...

git 常用指令 (先收藏再说)
Git Git是一种分布式版本控制系统,用于记录一个或若干个文件内容的变化,以便查阅和回溯。 它的工作原理可以概括为以下几点: 工作区(Workspace):这是你在电脑上看到的目录,工作区是你用来修改文…...

2024问题汇总
2024问题汇总 Linux1.df-h / df -i 命令2.为多网卡Linux云服务器配置策略路由 Windows1.快速进入控制面板 网络连接指令 Linux 1.df-h / df -i 命令 df -h / df -i 都表示查看磁盘空间使用信息 如果遇到磁盘快满的情况,用这两个命令区别如下 df -h 是去删除比较大 …...

爬虫(学习笔记)
python爬虫 一、Python基础回顾变量类型其他操作面向对象编程 二、爬虫流程HTTP协议HTML爬虫demo01爬虫demo02 学习资料 Python爬虫 爬虫实战案例 AI学堂爬虫教学 一、Python基础回顾 变量类型 可变类型:可以进行添加、修改、删除 (列表、字典…&#x…...

让业务满意的性能测试报告模板应该是怎样的?
前言 先前在北京出差,和同事聊到了一个关于流量网关如何进行性能验证的需求,当时专门与同事进行了一番讨论,后面写了一篇相关文章。 结果没过多久同事找到我,希望我帮他们写一份给到业务团队的性能测试报告,原因是业…...

高防IP如何保护服务器
首先我们要知道什么是高防IP~ 高防IP是指高防机房所提供的ip段,主要是针对互联网服务器遭受大流量DDoS攻击时进行的保护服务。高防IP是目前最常用的一种防御DDoS攻击的手段,用户可以通过配置DDoS高防IP,将攻击流量引流到高防IP,防…...

C++提高编程——STL:string容器、vector容器
本专栏记录C学习过程包括C基础以及数据结构和算法,其中第一部分计划时间一个月,主要跟着黑马视频教程,学习路线如下,不定时更新,欢迎关注。 当前章节处于: ---------第1阶段-C基础入门 ---------第2阶段实战…...

three.js从入门到精通系列教程004 - three.js透视相机(PerspectiveCamera)滚动浏览全景大图
<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>three.js从入门到精通系列教程004 - three.js透视相机(PerspectiveCamera)滚动浏览全景大图</title><script src"js/three.js"&g…...

Gradle 笔记
Gradle依赖管理(基于Kotlin DSL) **注意:**如果不是工作原因或是编写安卓项目必须要用Gradle,建议学习Maven即可,Gradle的学习成本相比Maven高很多,而且学了有没有用还是另一回事,所以ÿ…...

flume案例
在构建数仓时,经常会用到flume接收日志数据,通常涉及到的组件为kafka,hdfs等。下面以一个flume接收指定topic数据,并存入hdfs的案例,大致了解下flume相关使用规则。 版本:1.9 Source Kafka Source就是一…...

信用评价研究MATLAB仿真代码
信用评价是各种店铺卖家分析买家信用行为的重要内容, 本文给出随机仿真代码模拟实际交易过程的信用评价. 主要研究内容有: (1)研究最大交易额和信用度的关系 (2)研究买家不评价率对信用度影响 (3)研究交易次数对信用度影响 MATLAB程序如下: 主程序main.m %% clc;close a…...

网络安全产品之认识防毒墙
在互联网发展的初期,网络结构相对简单,病毒通常利用操作系统和软件程序的漏洞发起攻击,厂商们针对这些漏洞发布补丁程序。然而,并不是所有终端都能及时更新这些补丁,随着网络安全威胁的不断升级和互联网的普及…...

android 防抖工具类,经纬度检查工具类
一:点击事件防抖工具类: public abstract class ThrottleClickListener implements View.OnClickListener {private long clickLastTimeKey 0;private final long thresholdMillis 500;//millisecondsOverridepublic void onClick(View v) {long curr…...

PgSQL - 17新特性 - 块级别增量备份
PgSQL - 17新特性 - 块级别增量备份 PgSQL可通过pg_basebackup进行全量备份。在构建复制关系时,创建备机时需要通过pg_basebackup全量拉取一个备份,形成一个mirror。但很多场景下,我们往往不需要进行全量备份/恢复,数据量特别大的…...

Vue3setup()的非语法糖和语法糖的用法
1、setup()的语法糖的用法 script标签上写setup属性,不需要export default {} setup() 都可以省 创建每个属性或方法时也不需要return 导入某个组件时也不需要注册 <script setup > // script标签上写setup属性,不需要export default {} set…...

HTTP状态信息
1xx: 信息 消息:描述:100 Continue服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。101 Switching Protocols服务器转换协议:服务器将遵从客户的请求转换到另外一种协议。 2xx: 成功 消息:描述:200…...

CSS之边框样式
让我为大家介绍一下边框样式吧!如果大家想更进一步了解边框的使用,可以阅读这一篇文章:CSS边框border 属性描述none没有边框,即忽略所有边框的宽度(默认值)solid边框为单实线dashed边框为虚线dotted边框为点线double边框为双实线 代码演示&…...

k8s-helm
Helm: 什么是helm,在没有这个heml之前,deployment service ingress的作用就是通过打包的方式,把deployment service ingress这些打包在一块,一键式的部署服务,类似于yum 官方提供的一个类似于安全仓库的功能,可以实现…...

黑马程序员JavaWeb开发|Maven高级
一、分模块设计与开发 分模块设计: 将项目按照功能拆分成若干个子模块,方便项目的管理维护、扩展,也方便模块间的相互调用,资源共享。 注意:分模块开发需要先对模块功能进行设计,再进行编码。不会先将工…...

【经验分享】MAC系统安装R和Rstudio(保姆级教程)安装下载只需5min
最近换了Macbook的Air电脑,自然要换很多新软件啦,首先需要安装的就是R和Rstudio啦,网上的教程很多很繁琐,为此我特意总结了最简单实用的安装方式: 一、先R后Rstudio 二、R下载 下载网址:https://cran.r-project.org …...

探索设计模式的魅力:“感受单例模式的力量与神秘” - 掌握编程的王牌技巧
在软件开发的赛场上,单例模式以其独特的魅力长期占据着重要的地位。作为设计模式中的一员,它在整个软件工程的棋盘上扮演着关键性角色。本文将带你深入探索单例模式的神秘面纱,从历史渊源到现代应用,从基础实现到高级技巧…...