嵌入式操作系统跟踪(ucos-II) Bootloader

为什么要用bootloader,使用loader可以在进入操作系统之前将需要用到的寄存器进行初始化,为操作系统的运行建立运行环境。
下面从头(从我们的操作系统的第一行代码来分析可爱的,令人着迷的,令人费解的,至今名搞明白的的UCOS-II)分解;

;/*
;*********************************************************************************************************
;* 文件: Startup.s
;* 描述: 主程序及异常向量入口.
;* 编写: kaka (sn.kaka@yahoo.com).In Hisense
;*********************************************************************************************************
;*/
        IMPORT  HandlerReset
        IMPORT  HandlerIRQ
        IMPORT  HandlerFIQ

        IMPORT  HandlerEINT0
        IMPORT  HandlerEINT1
        IMPORT  HandlerEINT2
        IMPORT  HandlerEINT3
        IMPORT  HandlerEINT4567
        IMPORT  HandlerTICK
        IMPORT  HandlerZDMA0
        IMPORT  HandlerZDMA1
        IMPORT  HandlerBDMA0
        IMPORT  HandlerBDMA1
        IMPORT  HandlerWDT
        IMPORT  HandlerUERR01
        IMPORT  HandlerTIMER0
        IMPORT  HandlerTIMER1
        IMPORT  HandlerTIMER2
        IMPORT  HandlerTIMER3
        IMPORT  HandlerTIMER4
        IMPORT  HandlerTIMER5
        IMPORT  HandlerURXD0
        IMPORT  HandlerURXD1
        IMPORT  HandlerIIC
        IMPORT  HandlerSIO
        IMPORT  HandlerUTXD0
        IMPORT  HandlerUTXD1
        IMPORT  HandlerRTC
        IMPORT  HandlerADC

        EXPORT  RStartup

        AREA    startup,CODE,READONLY
        CODE32
        ENTRY
RStartup
        LDR     PC,     =HandlerReset                   ; 程序入口.将 HandlerReset 的地址加载到PC指针,ARM就会跳转到 HandlerReset 去执行。
        B       .                                       ; 未定义指令.
        B       .                                       ; 软件中断.
        B       .                                       ; 预取指中止.
        B       .                                       ; 数据中止.
        B       .                                       ; 保留.
        LDR     PC,     =HandlerIRQ;蓝颜色的是中断向量列表,当ARM发生中断的时候(前提是中断没有被屏蔽,可以通过修改中断寄存器的值来控制是否相应中断),ARM会强制将PC指针指到这里运行,比方说,如果我们的系统没有屏蔽中断,且发生了中断请求则跳到这里
        LDR     PC,     =HandlerFIQ;发生了快速中断则跳到这里
        LDR     PC,     =HandlerEINT0                   ; 0x20
        LDR     PC,     =HandlerEIN
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值