核心初始化

Posted 『流浪的Coder』

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了核心初始化相关的知识,希望对你有一定的参考价值。

异常处理

 

总共有七中的异常情况:

1reset

2undefined instruct(不支持命令异常)

3:软件中断

4:指令预取失败异常

5:数据读取失败异常

6:中断

7:快速中断(比一般的中断处理速度快一些)

 

中断向量:

当中断发生时,处理器就会跳转到一个固定的地址去处理指令

 .globl _start 

_start: b reset 

ldr pc, _undefined_instruction 

ldr pc, _software_interrupt 

ldr pc, _prefetch_abort 

ldr pc, _data_abort 

ldr pc, _not_used 

ldr pc, _irq 

ldr pc, _fiq 

 

_undefined_instruction: .word undefined_instruction 

_software_interrupt: .word software_interrupt 

_prefetch_abort: .word prefetch_abort 

_data_abort: .word data_abort 

_not_used: .word not_used 

_irq: .word irq 

_fiq: .word fiq

 

undefined_instruction:

            nop

software_interrupt:

            nop

prefetch_abort:

            nop

data_abort:

    nop

not_used:

            nop

irq:

    nop

fip:

   nop

注:

.word expression就是在当前位置放一个word型的值,这个值就是expression.这里为什么不用指令(ldr pc,=inddefined_instruction ),是因为使用这条指令会增加指令执行周期,从而比较耗时,但是对于bootloader 来时说时间是很重要的资源

 

以上是关于核心初始化的主要内容,如果未能解决你的问题,请参考以下文章

核心数据,初始化 managedObjectContext

21.核心初始化之svc模式

23.核心初始化之中断屏蔽-2440

为核心数据实体添加便利初始化程序

《深入理解SPARK:核心思想与源码分析》——SparkContext的初始化(中)

26.核心初始化之关闭MMU和cache