首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 嵌入式系统 > ARM启动

ARM启动

资料介绍
介绍了ARM的启动
基于 ARM 的芯片多数为复杂的片上系统,这种复杂系统里的多数硬件模块都是可配置
的,需要由软件来设置其需要的工作状态。因此在用户的应用程序之前,需要由专门的一段代
码来完成对系统的初始化。由于这类代码直接面对处理器内核和硬件控制器进行编程,一般
都是用汇编语言。一般通用的内容包括:
中断向量表
初始化存储器系统
初始化堆栈
初始化有特殊要求的断口,设备
初始化用户程序执行环境
改变处理器模式
呼叫主应用程序
中断向量表
ARM 要求中断向量表必须放置在从 0 地址开始,连续 8X4 字节的空间内。
每当一个中断发生以后,ARM 处理器便强制把 PC 指针置为向量表中对应中断类型的地
址值。因为每个中断只占据向量表中 1 个字的存储空间,只能放置一条 ARM 指令,使程序跳
转到存储器的其他地方,再执行中断处理。
中断向量表的程序实现通常如下表示:
AREA Boot ,CODE, READONLY
ENTRY
B ResetHandler
B UndefHandler
B SWIHandler
B PreAbortHandler
B DataAbortHandler
B
B IRQHandler
B FIQHandler
其中关键字 ENTRY 是指定编译器保留这段代码,因为编译器可能会认为这是一段亢余
代码而加以优化。链接的时候要确保这段代码被链接在 0 地址处,并且作为整个程序的入口。
初始化存储器系统
存储器类型和时序配置
通常 Flash 和 SRAM 同属于静态存储器类型,可以合用同一个存储器端口;而 DRAM 因为
标签:ARMARM启动
ARM启动
本地下载

评论