熟悉ARM嵌入式系统的朋友都知道,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;快速外部中断
本文介绍了ARM系统初始化的硬件部分,给出了硬件初始化部分的代码。在之后的内容中,小编将为大家带来有关ARM嵌入式存储化系统初始化的部分内容,请大家持续关注电源网的文章。