潍坊电工培训学校,潍坊电工培训班
专注于电工培训、为潍坊地区电工的求学者提供专业的电工培训课程和充电平台!
主页 > 电工 >

潍坊电工培训学校,潍坊电工培训班

  • 课程介绍

  • 参考资料

  • 2021-01-17 16:35
湖南阳光电工培训学校常年面向潍坊招生!
【推荐】潍坊快速学电工技术,从湖南阳光电工培训学校开始。潍坊电工培训学校、潍坊电工培训班,首选湖南阳光电工培训学校!电话:13807313137,13308461099

【温馨提示】湖南阳光电工培训学校地址:湖南省长沙市雨花区车站南路红花坡路176号。目前没有在潍坊地区设立分校。热忱欢迎潍坊的学员来湖南阳光电工培训学校长沙总校区参加学习!

潍坊电工培训学校,潍坊电工培训班

详情请进入 湖南阳光电子学校 已关注: 咨询电话:13807313137 微信号:yp941688, yp94168

潍坊电工培训班,潍坊电工培训学校

潍坊电工培训学校

潍坊电工培训班

潍坊电工学校

潍坊电工培训班,潍坊电工培训学校简介:1. 摘要 Cortex-M内核实现了一个高效异常处理模块,可以捕获非法内存访问和数个程序错误条件。本应用笔记从程序员角度描述Cortex-M Fault异常,并且讲述在软件开

潍坊电工培训学校,潍坊电工培训班

潍坊电工培训学校,潍坊电工培训班

潍坊电工培训学校信息内容:,

Cortex-M内核实现了一个高效异常处理模块,可以捕获非法内存访问和数个程序错误条件。本应用笔记从程序员角度描述Cortex-M Fault异常,并且讲述在软件开发周期中的Fault用法。

2. 简介

Cortex-M3(以下简称CM3)和Cortex-M4(以下简称CM4)内核的Fault异常可以捕获非法内存方法和非法编程行为。Fault异常能够检测到以下情况:

总线Fault:在取址、数据读/写、取中断向量、进入/退出中断时寄存器堆栈操作(入栈/出栈)时检测到内存访问错误。

存储器管理Fault:检测到内存访问违反了MPU定义的区域。

用法Fault:检测到未定义的指令异常,未对齐的多重加载/存储内存访问。如果使能相应控制位,还可以检测出除数为零以及其他未对齐的内存访问。

硬Fault:如果上面的总线Fault、存储器管理Fault、用法Fault的处理程序不能被执行(例如禁能了总线Fault、存储器管理Fault、用法Fault异常或者在这些异常处理程序执行过程中又出现了Fault)则触发硬Fault。

本应用笔记描述CM3和CM4的Fault异常用法。系统控制寄存器组中的寄存器可以控制Fault异常或者提供引发异常的原因信息。

更深入的文档

完整的异常描述见《Cortex - M3 Technical Reference Manual》或者《Cortex -M4 Technical Reference Manual》,这两本参考手册都可以在中找到。

另一个很好的参考书是由Joseph Yiu编写的《The Definitive Guide to the ARM Cortex-M3》 (这本书有中文版:宋岩译的《ARM Cortex-M3权威指南》)。

3. Cortex-M Fault异常和寄存器

每个符合CMSIS规范的编译器所提供的启动文件(Startup_device)都会定义好设备所有的异常和中断向量。这些向量表定义了异常或中断处理程序的入口地址。下表给出了一个典型的向量表,Fault异常向量用蓝色标注。

::__VectorsDCD__initial_sp;栈顶DCDReset_Handler;复位处理程序入口DCDNMI_Handler;NMI处理程序入口DCDHardFault_Handler;硬Fault处理程序入口DCDMemManage_Handler;存储器管理处理程序入口DCDBusFault_Handler;总线Fault处理程序入口DCDUsageFault_Handler;用法Fault处理程序入口DCD0;保留::

通常总是使能硬Fault异常的,硬Fault异常具有固定的优先级,并且优先级高于其它Fault异常以及中断,但低于NMI。硬Fault异常处理程序在以下情况下会被执行:其它非硬Fault异常(非硬Fault异常是指总线、存储器管理和用法Fault 异常,下同。)被禁能,并且这些Fault异常被触发;在执行一个非硬Fault异常处理程序中又产生非硬Fault异常。

所有非硬Fault具有可编程的优先级。当Cortex-M内核复位后,这些非硬Fault被禁能,你可以在应用软件中通过设置“系统Handler控制及状态寄存器(SHCSR)”来使能非硬Fault异常。这个寄存器属于系统控制模寄存器组(SCB)

3.1 Fault异常的控制寄存器

在这里有必要介绍一下系统控制模块寄存器组(SCB)的成员,这个寄存器组的定义可以在core_cm3.h文件中,该文件属于CMSIS Cortex-M3 内核外设接口抽象层的一部分(关于不清楚CMSIS的,可以自行查找资料)。定义如下:

1.定义系统控制寄存器组结构体

/**@briefSystemControlBlock(SCB)registerstructuredefinition*/typedefstruct{__Iuint32_tCPUID;/*!.

(编辑:潍坊电工培训学校)

潍坊电工培训学校


潍坊电工培训学校

湖南阳光电子学校教学特色

潍坊电工培训学校

潍坊电工培训学校

潍坊电工培训学校

潍坊电工培训学校

潍坊电工培训学校

潍坊电工培训学校

潍坊电工培训学校

潍坊电工培训学校

百度收录查询: 潍坊电工培训学校

  • 扫码分享
  • 新资讯
  • 热点资讯
电工培训学校 电动车维修学校 摩托车维修学校 手机维修培训学校 水电工培训学校 电脑维修培训学校 电动工具维修培训学校 液晶电视维修培训学校 安防监控培训学校 空调维修培训学校 电焊培训学校 手机维修培训学校 电工培训学校 摩托车维修培训学校 电器维修培训学校 家电维修学校 焊工培训学校 电工培训学校 木工培训学校 瓦工培训学校 摩托车维修学校 电工培训学校 木工培训学校 电器维修学校 电工培训学校