文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > IT/计算机 > ARM嵌入式系统初始化过程
侵权投诉

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 //快速外部中断

..........

2、初始化存储器系统

主要是对系统存储器控制器(MMU)的初始化。由于存储器控制器并不是ARM架构的一部分,不同芯片的实现方式各不相同。由于运算能力和寻址能力的强大,基于ARM内核的微处理器系统一般都需要外扩展各种类型的存储器。对于存储器系统的初始化一般包括如下几个方面:

--存储器类型、时序和总线宽度的配置

--存储器地址的配置

(1)存储器类型

基于ARM微处理系统的存储器一般有如下几类:SARM,DRAM,Flah,同时,即使同类存储器也有访问速度上的不同。其中,SRAM和Flah属于静态存储器,可以共用存储器端口,而DRAM有动态刷新和地址复用等特征,需要专门的存储器端口。

第1页

你可能喜欢

  • 语言分析
  • 嵌入式C语言
  • ARM开发
  • C语言系统
  • 嵌入式论文
  • 系统的设计
  • 嵌入式入门
  • 嵌入式系统设计师

热门文档

相关文档

站点地图 | 文档上传 | 侵权投诉 | 手机版
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.guandang.net All Rights Reserved.  -  email