ARM系统的初始化过程

来源:百度文库 编辑:神马文学网 时间:2024/04/29 14:31:33
幻灯片 68.O{color:black;font-size:149%;}a:link{color:red !important;}a:active{color:#FFCF01 !important;}a:visited{color:#3333CC !important;} 初始化代码:在用户的应用程序运行之前完成系统初始化工作的代码,初始化代码直接对ARM微处理器内核及硬件控制器编程,多采用汇编语言编程,初始化代码一般应包含如下典型任务:
  1. 定义程序入口点;
  2. 设置异常向量;
  3. 初始化存储器系统;
  4. 初始化堆栈指针寄存器;
  5. 初始化临界I/O设备;
  6. 初始化C代码运行环境;
  7. 改变处理器运行模式和状态;
  8. 使能中断;
  9. 进入C代码运行;
幻灯片 71.O{color:black;font-size:149%;}a:link{color:red !important;}a:active{color:#FFCF01 !important;}a:visited{color:#3333CC !important;}3.初始化存储器系统 初始化存储器系统主要包含对系统存储器控制器的初始化,如果系统具有存储器管理单元(MMU),也必须对其进行初始化。基于ARM微处理器的系统一般都需要外扩大容量的存储器,这些存储器需要专门的存储器控制器控制其读、写操作。

幻灯片 73.O{color:black;font-size:149%;}a:link{color:red !important;}a:active{color:#FFCF01 !important;}a:visited{color:#3333CC !important;}存储器的地址分配与地址重映射(Remap):存储器的地址分配也就是将物理存储器定位在4GB地址空间的具体位置 ARM微处理器常采用两种方式来完成地址分配:1.固定的存储器地址分配:即物理存储器的起始地址一般是不改变的,这种方式相对较简单2.存储器地址重映射(Remap):使物理存储器的起始地址可以在有效的地址空间内任意改变,即物理存储器的地址是不固定的,这种方式相对较复杂一些