精选优质文档-倾情为你奉上ARM 启动及工作模式切换一、原理 如何让嵌入式系统快速稳定地启动是一个重要问题。嵌入式系统的资源有限,程序通常都是固化在ROM 中运行。但在实际应用中,为提高系统的实时性,加快代码的执行速度,系统启动后程序往往要被搬移到RAM 中,因为RAM 的存取速度要比ROM 快得多,这样大大提升系统的性能。启动程序要完成的任务包括:硬件初始化,系统存储系统的配置,复制二级中断向量表。二、启动程序过程 系统硬件初始化系统上电或复位后,程序从位于地址0x0 的Reset Exception Vector 处开始执行,因此需要在这里放置Bootloader 的第一条指令:b ResetHandler,跳转到标号为ResetHandler 处进行第一阶段的硬件初始化,主要内容为:关看门狗定时器,关中断,初始化PLL 和时钟,初始化存储器系统。执行完以上程序后,系统进行堆栈和存储器的初始化。系统堆栈初始化取决于用户使用了哪些中断,以及系统需要处理哪些错误类型。一般情况下,管理者堆栈必须设置,如果使用了IRQ 中断,则IRQ 堆栈也必须设置。