基于ARM内核微处理器的系统一般为复杂的片上系统,这种复杂系统的多数硬件模块都是可配置的,需要软件设置为特定的工作状态,因此在用户的应用程序之前,需要有一些专门的代码完成对系统的初始化。由于这类代码直接面对ARM处理器内核和硬件控制器,一般都使用汇编语言完成。初始化代码完成的操作与具有的硬件平台相关,但一般包括一下的内容:
--初始化异常向量表(中断向量表)
--初始化存储器系统
--初始化堆栈
--初始化有特殊要求的端口和设备
--初始化应用程序的运行环境
--调用主应用程序
1、初始化异常向量表(中断向量表)
ARM微处理器结构要求中断向量表必须放置在从0x00地址开始的连续8×4字节的空间内,每当一个中断(异常)发生以后,ARM微处理器便强制把PC置为对应的中断向量。由于每个中断只占用向量表中一个字(4个字节)的存储空间,只能放一条ARM指令,所以通常为跳转指令,使程序从向量表跳转到存储器的其他位置,执行真正的中断处理。
具体代码实现如下:
AREA Init,CODE,READONLY //初始化
ENTRY
B Reset_Handler //异常复位
B Undef_Handler //未定义指令异常
B SWI_Handler //软件中断
B PreAbort_Handler //指令预取中止
B DataAbord_Handler //数据中止
B . //系统保留
B IRQ_Handler //普通外部中断
B FIQ_Handler //快速外部中断
..........
2、初始化存储器系统
主要是对系统存储器控制器(MMU)的初始化。由于存储器控制器并不是ARM架构的一部分,不同芯片的实现方式各不相同。由于运算能力和寻址能力的强大,基于ARM内核的微处理器系统一般都需要外扩展各种类型的存储器。对于存储器系统的初始化一般包括如下几个方面:
--存储器类型、时序和总线宽度的配置
--存储器地址的配置
(1)存储器类型
基于ARM微处理系统的存储器一般有如下几类:SARM,DRAM,Flah,同时,即使同类存储器也有访问速度上的不同。其中,SRAM和Flah属于静态存储器,可以共用存储器端口,而DRAM有动态刷新和地址复用等特征,需要专门的存储器端口。
基于ARM的嵌入式系统程序开发要点(二)——系统的初始化过程_信息与通信_工程科技_专业资料。产业技术与信息 基于 A H的嵌入式系统程序开发■●( R=)系统 的初...
基于ARM的嵌入式系统的初始化引导程序 以CirruSLDgic公司的EP7312为例,在基于ARM720T微内核和公开源码的嵌入式实时操作系统μC/OS-II的平台上,对引导加载程序...
基于ARM的嵌入式Linux操作... 4页 免费喜欢此文档的还喜欢 七、基于ARM的嵌入式系统硬... 193页 免费 13.BootLoader 29页 免费 ARM嵌入式系统初始化过程 3...
深入理解At9261 ARM嵌入式系统引导过程_计算机软件及应用_IT/计算机_专业资料。...__main 例程的主要功能有三个:拷贝需要移动的区、零初始化 ZI 区和初始化 ...
基于ARM 的嵌入式系统 Bootloader 启动流程分析来源:西部工控网 引言: 一. 引言: PC 机, 其开机后初始化处理器配置、 硬件初始化等操作是由 BIOS (Basic Input...
arm嵌入式bootloader启动过程详解_工学_高等教育_教育专区。arm嵌入式bootloader启动过程详解ARM 嵌入式系统 Bootloader 一. 引言: 对于PC机,其开机后的初始化处理器...
ARM SOC有多组电 源:Core logic、 PLL logic、 I/O Pad、 Controller ?...初始化 BSP 3 其余硬件 初始化 34 嵌入式系统的初始化过程(4) 4、RTOS初始...
讲述了基于 ARM 处理器的嵌入式系统在上电启动后应用程序或操作系统运行前,对 处理器及其内部功能模块进行初始化的过程,并结合经过实际验证的代码详细的分析了 ...
ARM SOC有多组电 源:Core logic、 PLL logic、 I/O Pad、 Controller ?...初始化 BSP 3 其余硬件 初始化 34 嵌入式系统的初始化过程(4) 4、RTOS初始...
All Rights Reserved 双实科技 5.2 硬件系统初始化过程 5.2.1 硬件系统启动模式 5.2.2 硬件系统初始化 5.2.3 基于ARM9的嵌入式系统的初始化 Copyright ...
热门文档