zoukankan      html  css  js  c++  java
  • 核心初始化

    异常处理

    总共有七中的异常情况:

    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 来时说时间是很重要的资源

  • 相关阅读:
    ros 编译指定包
    TCP_IP Sockets编程C语言实现第2版 源码下载
    python 文件,文件夹,路径操作
    python 导入包
    ImportError: No module named rospy
    python安装simplejson
    EditPlus 中添加 Win32 ASM 语法支持
    程序设计学习与试验系统下载
    masm for windows2015 下载安装
    dosbox+masm汇编环境的安装和使用
  • 原文地址:https://www.cnblogs.com/big-devil/p/8589439.html
Copyright © 2011-2022 走看看