本篇应用笔记主要描述Cortex-M系列MCU Hard Fault中断的调试方法。笔记中会分析Hard Fault中断产生的原因以及如何依据Hard Fault中断信息定位软件中的问题。Hard Fault简介Hard Fault 是Cortex-M系列MCU中最为常见的一种故障类中断,Hard Fault属于不可屏蔽中断,并且中断优先级固定为-1,在软件运行过程中如果产生了CPU无法正常...
我的代码我做主
本篇应用笔记主要描述Cortex-M系列MCU Hard Fault中断的调试方法。笔记中会分析Hard Fault中断产生的原因以及如何依据Hard Fault中断信息定位软件中的问题。Hard Fault简介Hard Fault 是Cortex-M系列MCU中最为常见的一种故障类中断,Hard Fault属于不可屏蔽中断,并且中断优先级固定为-1,在软件运行过程中如果产生了CPU无法正常...
异常处理的基本术语中断抢占 Preemption如果异常的优先级高于当前执行优先级,则可以先发制人当前执行。当一个异常优先于另一个异常时,这些异常被称为嵌套异常。中断返回 Return当异常处理程序完成时,就会发生这种情况。处理器弹出堆栈,并将处理器状态恢复到中断发生前的状态。末尾连续中断 Tail-chaining这种机制加快了异常服务。在异常处理程序完成后或返回操作期间,如果有符合异常输...
上一节中我们提到,内存的划分是通过属性单元(Attribute Unit)实现的,它主要有两种:内部的Secure Attribute Unit(SAU)和外部Implementation Defined Attribution Unit(IDAU).处理器所支持的SAU区域数量在设计时候就定义好了,SAU模块上电的时候是禁用的。如果没有定义SAU区域,并且系统中也么有IDAU,那么整个处理...
最近换了MacOS平台,之前常用的IAR除了用虚拟机似乎是没有什么办法可以在MAC中使用了,而我又算是一名嵌入式程序开发着,所以还是有在MAC中开发嵌入式程序的需求。因为不能用IAR,所以首先要将编译平台换到GCC上面,这里可以直接在ARM官网下载相应的安装包,安装包下载完成之后,只需要设置好相应的PATH环境变量就可以直接使用了。工程的建立也不能在IAR中进行,而是需要编写相应的MakeF...