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

本文详细介绍了嵌入式操作系统UCOS-II的Bootloader功能,包括其在初始化寄存器和建立运行环境中的作用。通过分析Bootloader的源代码,解释了系统如何从第一条指令开始,直至跳转到主程序入口。同时,文章探讨了中断向量列表、内存初始化和中断控制器的设置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么要用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发生中断的时候(前提是中断没有被屏蔽,可以通过修改
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值