ARM内核学习
shizes1989
这个作者很懒,什么都没留下…
展开
-
STM32异常及中断处理流程学习笔记
前三个系统异常具有固定的优先级,由负数表示,比其它的优先级都高,其余的异常具有可编程的优先级,范围为0~255.STM32采用了4位,由中断优先级分组寄存器决定抢占优先级和子优先级的位数。处理器在运行一个中断处理时能否在响应另外一个中断,是由该中断的抢占优先级决定的,子优先级只会用在具有两个相同抢占优先级的异常同时产生的情形,同时产生时,具有更高子优先级(数值更小)的异常会被优先处理。...原创 2020-06-16 16:59:11 · 2683 阅读 · 0 评论 -
STM32启动代码分析
上电后从中断向量表中取出栈顶指针的内容0x20008EB0,取出ResetHandler的地址0x08000179,之后跳转至了复位中断函数。从0x08000194的地址内取出SystemInit函数的地址(0x08003DC4)给了r0(0x08003DC5,因为最低位必须是0代表Thumb指令),BLX进行跳转并将0x0800017C保存的LR寄存器,实际保存为0x0800017D(最低...原创 2020-03-18 10:41:18 · 503 阅读 · 0 评论 -
CortexM3与M4寄存器学习笔记
寄存器学习CortexM3和M4处理器的寄存器组中有16个寄存器,其中13个为32位通用目的寄存器,其它3个有特殊用途,如下图所示。1、R0~R12寄存器R0-R12为通用目的寄存器,前8个(R0-R7)也被称作低寄存器。由于指令中可用的空间有限,许多16位指令只能访问低寄存器。高寄存器(R8-R12)则可以用于32位指令和几个16位指令,如MOV。R0-R12的初始值是未定义的。2、R...原创 2019-07-16 17:05:04 · 6476 阅读 · 0 评论